[Bug 43277] Far Cry 3 has poor performance (Ryzen CPU-specific issue?)

wine-bugs at winehq.org wine-bugs at winehq.org
Sun Jul 8 22:42:06 CDT 2018


https://bugs.winehq.org/show_bug.cgi?id=43277

--- Comment #42 from Roderick Colenbrander <thunderbird2k at gmail.com> ---
(In reply to Luca from comment #41)
> And I repeat, this issue occurs just in wine games, the CPU usage on native
> steam games is regular. 
> 
> I meant a wine CPU scheduler issue.

I understand you are encounter performance issues (I'm a Ryzen user myself).
However to me so far it looks like it are game issues, which are making poor
choices for the cores they pin to (at least in Far Cry 3).

For your understanding, there is no CPU scheduler in Wine. Wine provides the
same APIs on Windows allowing applications to determine detailed CPU
information. Then we provide the Windows APIs applications can use to set
'affinity' (pinning threads to a particular core). This directly maps to
standard pthread affinity API calls. In other words Wine exposes CPU
information directly to the application, which can (if it chooses so) tell the
Linux kernel how to map threads to cores. If an application doesn't do anything
special, the Linux kernel will schedule the application in whatever way it
thinks is best.

The fundamental issue is just that the application 'somehow' ends up using less
optimal cores. I mean with less optimal is that the cores can be on other CCXes
and if there is a lot of communication between the different CCXes this can
affect performance. This is just how the Ryzen design works.

The cores are either picked by the application if it does core enumeration and
setting affinity and in which case Wine is just a passthrough layer. If the
game doesn't set affinity the Linux kernel will just pick based on what it
thinks is best (e.g. CPU load, choice of Linux scheduler,..).

So far I'm more leaning towards unaware applications making poor CPU core
choices.

-- 
Do not reply to this email, post in Bugzilla using the
above URL to reply.
You are receiving this mail because:
You are watching all bug changes.



More information about the wine-bugs mailing list