https://bugs.winehq.org/show_bug.cgi?id=38169
Bug ID: 38169 Summary: The Settlers 3 eats a full CPU core, even on a Intel Core i7 Product: Wine Version: 1.7.34 Hardware: x86-64 OS: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: -unknown Assignee: wine-bugs@winehq.org Reporter: adrian.kalla@gmail.com Distribution: ---
Created attachment 50920 --> https://bugs.winehq.org/attachment.cgi?id=50920 Console output with Wine 1.7.34
This has been a problem for ever when running "The Settlers 3" on Wine, so it's time to make it a bug: even though this year-1998 game runs perfectly on Windows on a Pentium II CPU(!), it eats up a whole single CPU core when used with Wine. This results in the curious situation, that even with an Intel Core i7 quad core 2.2GHz CPU, the game feels slow on Wine...
Before this gets duplicated: this bug is different from Bug 32478. While in the past the game had also on Windows with a multi core CPU the every few seconds occurring lag described in bug 32478, it was somehow fixed after some Windows-updates (I guess it must have been done by a Windows "shim"), the multicore problem can easily be workarounded by starting the game with "taskset -c 0 wine s3.exe". For the problem I'm describing here there is no known workaround as of now.
Attached is a console log of 15 seconds of running the game (+ a few seconds in the menu). Settlers3 was started with the following command: WINEDEBUG=warn+all,+loaddll,+message,+msgbox,+wine_d3d,+ddraw,+d3d_draw,+d3d_surface,+d3d_texture,+d3d,+dplay,+dplay,+dpnhpast,+cursor,+bitmap taskset -c 3 wine s3.exe
This can be easily reproduced with the free demo version of the game, which can be downloaded e.g. here: http://s3de.siedler3.net/ftp.bluebyte.com/demos/eng/settlers3amazons/s3a_dem... .
If the attached log is not enough, I can try to enable more log channels (but which ones?). I'd like to help as much as I can to fix this, as besides for eating the CPU, the game runs much better on Wine than on newer Windows versions.
https://bugs.winehq.org/show_bug.cgi?id=38169
Adrian Kalla adrian.kalla@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |download, performance URL| |http://s3de.siedler3.net/ft | |p.bluebyte.com/demos/eng/se | |ttlers3amazons/s3a_demo_us. | |exe See Also| |https://bugs.winehq.org/sho | |w_bug.cgi?id=32478
https://bugs.winehq.org/show_bug.cgi?id=38169
Kero ntfs@ya.ru changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |ntfs@ya.ru
--- Comment #1 from Kero ntfs@ya.ru --- +1, using wine 1.7.29 via wineskin.
macbook pro 2012 late, CORE i5, Intel HD 4000.
https://bugs.winehq.org/show_bug.cgi?id=38169
--- Comment #2 from Adrian Kalla adrian.kalla@gmail.com --- Interesting observation: when using the other available open source DirectDraw implementation (DXGL: https://www.williamfeely.info/wiki/DXGL) instead of the one from Wine and also enabling VSync in the game settings, the game consumes 50% less CPU. Unfortunately, this not an usable workaround because of a DXGL bug (https://www.williamfeely.info/bugzilla/show_bug.cgi?id=44).
https://bugs.winehq.org/show_bug.cgi?id=38169
joaopa jeremielapuree@yahoo.fr changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |jeremielapuree@yahoo.fr
--- Comment #3 from joaopa jeremielapuree@yahoo.fr --- Bug still there unfortunately in current wine (wine-3.4)
https://bugs.winehq.org/show_bug.cgi?id=38169
tokktokk fdsfgs@krutt.org changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |fdsfgs@krutt.org
https://bugs.winehq.org/show_bug.cgi?id=38169
Andrew Wesie awesie@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |awesie@gmail.com
--- Comment #4 from Andrew Wesie awesie@gmail.com --- This is a combination of two issues:
- Lack of implementation of ddraw7_WaitForVerticalBlank (bug 9154) - CSMT optimizes for raw fps resulting in higher than necessary CPU usage (bug 45761)
https://bugs.winehq.org/show_bug.cgi?id=38169
Adrian Kalla adrian.kalla@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Depends on| |9154, 45761
https://bugs.winehq.org/show_bug.cgi?id=38169
--- Comment #5 from Adrian Kalla adrian.kalla@gmail.com --- (In reply to Andrew Wesie from comment #4)
This is a combination of two issues:
- Lack of implementation of ddraw7_WaitForVerticalBlank (bug 9154)
- CSMT optimizes for raw fps resulting in higher than necessary CPU usage
(bug 45761)
Bug 9154 is very likely the reason - see also comment #2.
Regarding bug 45761 I have my doubts, as Settlers 3 was always so slow with wine - not just after CSMT landed...
https://bugs.winehq.org/show_bug.cgi?id=38169 Bug 38169 depends on bug 45761, which changed state.
Bug 45761 Summary: High CPU usage in some games https://bugs.winehq.org/show_bug.cgi?id=45761
What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |RESOLVED Resolution|--- |WORKSFORME
https://bugs.winehq.org/show_bug.cgi?id=38169
Commander Keen prof@quantentunnel.de changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |prof@quantentunnel.de
--- Comment #6 from Commander Keen prof@quantentunnel.de --- I can confirm the bug with Wine 3.0 On a notebook, the heat Settlers III generates is by the CPU load even with only one core assigned is "impressive" (in a negative way) and battery runtime is of course extremely low.
https://bugs.winehq.org/show_bug.cgi?id=9154#c27 mentions a possible solution, but this has not been implemented yet on newer versions of wine, right?
https://bugs.winehq.org/show_bug.cgi?id=38169
--- Comment #7 from joaopa jeremielapuree@yahoo.fr --- Bug still occurs with wine-5.1.
https://bugs.winehq.org/show_bug.cgi?id=38169
--- Comment #8 from Adrian Kalla adrian.kalla@gmail.com --- (In reply to joaopa from comment #7)
Bug still occurs with wine-5.1.
Interesting thing: it does *not* occur for me anymore with wine-5.5-staging *if* I disable "CSMT" in winecfg - in this case the game uses less than 50% of a single core (still more than on Windows, though).
If CSMT stays enabled (the default value), then the problem persists.
https://bugs.winehq.org/show_bug.cgi?id=38169
--- Comment #9 from Commander Keen prof@quantentunnel.de --- Thank you for the hint. I'm eagerly waiting for Wine to not toast my laptop when Settlers 3 is running. (this issue creates an excessive amount of heat and drains the battery in less than one game with a core i7 7th generation, although it should run on a machine with less than 200 Mhz ;-)) Maybe that setting buys some time.
https://bugs.winehq.org/show_bug.cgi?id=38169
Josh winehq@iooioio.xyz changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |winehq@iooioio.xyz
https://bugs.winehq.org/show_bug.cgi?id=38169
--- Comment #10 from joaopa jeremielapuree@yahoo.fr --- Does the bug still occur with wine-6.11?
https://bugs.winehq.org/show_bug.cgi?id=38169
--- Comment #11 from joaopa jeremielapuree@yahoo.fr --- I meant 6.18....
https://bugs.winehq.org/show_bug.cgi?id=38169
--- Comment #12 from Adrian Kalla adrian.kalla@gmail.com --- (In reply to joaopa from comment #10)
Does the bug still occur with wine-6.11?
(In reply to joaopa from comment #11)
I meant 6.18....
Yes - tested with 6.19.