https://bugs.winehq.org/show_bug.cgi?id=46225
Bug ID: 46225 Summary: Act Cadenza Strife (A Fighter Maker 2knd game): Uses 60%+ of the CPU Product: Wine Version: 3.21 Hardware: x86 OS: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: gdi32 Assignee: wine-bugs@winehq.org Reporter: Zero3K@teknik.io Distribution: ---
Created attachment 62912 --> https://bugs.winehq.org/attachment.cgi?id=62912 Stack Trace of ACS.exe
I've noticed the issue occurring in ReactOS (which uses the code that WINE has for the drawing of graphics when it comes to DirectDraw). I am using the latest stable version of VirtualBox with 32 MB of Video Memory set and running WINE via Slax 9.5.0. An image of the terminal output, stack trace made using a MSVC build of ReactOS with the PDBs made when compiling it, and an image of the reported CPU usage when its running are all attached.
Download URL: https://mega.nz/#!JoJ0RaTY!cwVHOQbDDyrkpQlPNbDvkPwNsa3H0fYksx4ApNb9jQI
https://bugs.winehq.org/show_bug.cgi?id=46225
--- Comment #1 from Bryan Kirk Zero3K@teknik.io --- Created attachment 62913 --> https://bugs.winehq.org/attachment.cgi?id=62913 Screenshot of its CPU Usage while it is running
https://bugs.winehq.org/show_bug.cgi?id=46225
--- Comment #2 from Bryan Kirk Zero3K@teknik.io --- Created attachment 62914 --> https://bugs.winehq.org/attachment.cgi?id=62914 Terminal Output shown when running ACS.exe
https://bugs.winehq.org/show_bug.cgi?id=46225
Bryan Kirk Zero3K@teknik.io changed:
What |Removed |Added ---------------------------------------------------------------------------- Distribution|--- |Debian URL| |https://mega.nz/#!JoJ0RaTY! | |cwVHOQbDDyrkpQlPNbDvkPwNsa3 | |H0fYksx4ApNb9jQI
https://bugs.winehq.org/show_bug.cgi?id=46225
--- Comment #3 from Nikolay Sivov bunglehead@gmail.com --- Stack is from ReactOS, right? Why is this reported as wine bug?
https://bugs.winehq.org/show_bug.cgi?id=46225
--- Comment #4 from Nikolay Sivov bunglehead@gmail.com --- Also, do you have rights to distribute whatever is on this link?
https://bugs.winehq.org/show_bug.cgi?id=46225
--- Comment #5 from Bryan Kirk Zero3K@teknik.io --- (In reply to Nikolay Sivov from comment #3)
Stack is from ReactOS, right? Why is this reported as wine bug?
1. Because ReactOS uses code from WINE for DirectDraw, etc. 2. Because the issue also happens in WINE.
https://bugs.winehq.org/show_bug.cgi?id=46225
--- Comment #6 from Bryan Kirk Zero3K@teknik.io --- (In reply to Nikolay Sivov from comment #4)
Also, do you have rights to distribute whatever is on this link?
Yes, since the developer of it hasn't complained about it being distributed.
https://bugs.winehq.org/show_bug.cgi?id=46225
Austin English austinenglish@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Resolution|--- |NOTOURBUG Status|UNCONFIRMED |RESOLVED
--- Comment #7 from Austin English austinenglish@gmail.com --- (In reply to Bryan Kirk from comment #6)
(In reply to Nikolay Sivov from comment #4)
Also, do you have rights to distribute whatever is on this link?
Yes, since the developer of it hasn't complained about it being distributed.
That's not how copyright works.
In any case, you should report this to ReactOS, since that's what you're using and not Wine. Just because they use code from Wine doesn't make it Wine's bug.
If you test this under Wine and see the same problem, feel free to reopen.
https://bugs.winehq.org/show_bug.cgi?id=46225
Bryan Kirk Zero3K@teknik.io changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |UNCONFIRMED Resolution|NOTOURBUG |---
--- Comment #8 from Bryan Kirk Zero3K@teknik.io --- It does happen in WINE. Please take a look at https://bugs.winehq.org/attachment.cgi?id=62913.
https://bugs.winehq.org/show_bug.cgi?id=46225
Fabian Maurer dark.shadow4@web.de changed:
What |Removed |Added ---------------------------------------------------------------------------- URL|https://mega.nz/#!JoJ0RaTY! | |cwVHOQbDDyrkpQlPNbDvkPwNsa3 | |H0fYksx4ApNb9jQI | CC| |dark.shadow4@web.de
--- Comment #9 from Fabian Maurer dark.shadow4@web.de --- Removed link to copyrighted materials.
https://bugs.winehq.org/show_bug.cgi?id=46225
--- Comment #10 from Bryan Kirk Zero3K@teknik.io --- So, I can't link to any Fighter Maker 2knd game since I don't know if they are copyrighted or not?
https://bugs.winehq.org/show_bug.cgi?id=46225
--- Comment #11 from Fabian Maurer dark.shadow4@web.de --- You can link to official version. And generally, everything is copyrighted, and you can't distribute it unless you've been given explicit permission. Wine for example, has a license that explicitly grants you permission.
https://bugs.winehq.org/show_bug.cgi?id=46225
--- Comment #12 from Bryan Kirk Zero3K@teknik.io --- The main site for Act Cadenza Strife doesn't have it for download anymore.
https://bugs.winehq.org/show_bug.cgi?id=46225
--- Comment #13 from Bryan Kirk Zero3K@teknik.io --- (In reply to Bryan Kirk from comment #12)
The main site for Act Cadenza Strife doesn't have it for download anymore.
So, what else can I add to help get it fixed?
https://bugs.winehq.org/show_bug.cgi?id=46225
--- Comment #14 from Bryan Kirk Zero3K@teknik.io --- Any news regarding it?
https://bugs.winehq.org/show_bug.cgi?id=46225
joaopa jeremielapuree@yahoo.fr changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |jeremielapuree@yahoo.fr
--- Comment #15 from joaopa jeremielapuree@yahoo.fr --- For this king of problem, an apitrace is always useful.
https://bugs.winehq.org/show_bug.cgi?id=46225
--- Comment #16 from Bryan Kirk Zero3K@teknik.io --- Should I run apitrace on the game in ReactOS or WINE?
https://bugs.winehq.org/show_bug.cgi?id=46225
--- Comment #17 from joaopa jeremielapuree@yahoo.fr --- Wine.
https://bugs.winehq.org/show_bug.cgi?id=46225
--- Comment #18 from Bryan Kirk Zero3K@teknik.io --- I can't get it to work. I get a "GameSystem Open error" when I use the following command while the terminal emulator I'm using (sakura) has its current directory set to the location of Act Cadenza Strife and its files:
wine /media/sda1/apitrace-msvc/x86/bin/apitrace.exe trace --api gl -v /media/sda1/acs/acs.exe --output Z:/media/sda1/acs.trace
https://bugs.winehq.org/show_bug.cgi?id=46225
--- Comment #19 from Bryan Kirk Zero3K@teknik.io --- Looks like its a bug in Apitrace since I couldn't even get it to make a trace file in Windows 10.
https://bugs.winehq.org/show_bug.cgi?id=46225
--- Comment #20 from Matteo Bruni matteo.mystral@gmail.com --- (In reply to joaopa from comment #15)
For this king of problem, an apitrace is always useful.
For this kind of problem, an apitrace is never useful, in fact.
https://bugs.winehq.org/show_bug.cgi?id=46225
Matteo Bruni matteo.mystral@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Component|gdi32 |-unknown
--- Comment #21 from Matteo Bruni matteo.mystral@gmail.com --- How much CPU does it use on windows? Or, in other words, is this a bug at all?
https://bugs.winehq.org/show_bug.cgi?id=46225
--- Comment #22 from Bryan Kirk Zero3K@teknik.io --- The CPU usage is low in Windows. I'll try running it under WINE with ddraw set as the debug channel.
https://bugs.winehq.org/show_bug.cgi?id=46225
--- Comment #23 from Bryan Kirk Zero3K@teknik.io --- I managed to get a log by using the all debug channel. I will make one contaning only the proper channel(s) soon.
https://bugs.winehq.org/show_bug.cgi?id=46225
--- Comment #24 from Bryan Kirk Zero3K@teknik.io --- Created attachment 62971 --> https://bugs.winehq.org/attachment.cgi?id=62971 Debug log of Act Cadenza Strife running under WINE
I have made a debug log using the gdi and relay debug channels of Act Cadenza Strife being ran. It is attached as a ZIP archive.
https://bugs.winehq.org/show_bug.cgi?id=46225
Bryan Kirk Zero3K@teknik.io changed:
What |Removed |Added ---------------------------------------------------------------------------- Component|-unknown |gdi32
https://bugs.winehq.org/show_bug.cgi?id=46225
Nikolay Sivov bunglehead@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Component|gdi32 |-unknown
https://bugs.winehq.org/show_bug.cgi?id=46225
--- Comment #25 from Bryan Kirk Zero3K@teknik.io --- Any news regarding it?
https://bugs.winehq.org/show_bug.cgi?id=46225
--- Comment #26 from Bryan Kirk Zero3K@teknik.io --- Why has no one confirmed it yet?
https://bugs.winehq.org/show_bug.cgi?id=46225
--- Comment #27 from Bryan Kirk Zero3K@teknik.io --- It also seems to be causing the high CPU usage in other games (such as Melty Blood: Actress Again - Current Code and Iconoclasts).
https://bugs.winehq.org/show_bug.cgi?id=46225
Zebediah Figura z.figura12@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |z.figura12@gmail.com
--- Comment #28 from Zebediah Figura z.figura12@gmail.com --- (In reply to Bryan Kirk from comment #26)
Why has no one confirmed it yet?
Probably because nobody else has tried to reproduced the bug.
I have now, and I see the game is calling PeekMessage() in a tight loop. Are you sure it doesn't have high CPU usage in Windows? What specific numbers are you seeing?
(In reply to Bryan Kirk from comment #27)
It also seems to be causing the high CPU usage in other games (such as Melty Blood: Actress Again - Current Code and Iconoclasts).
Do you have a significant reason to believe these problems are related? Are they using the same engine, for instance?
https://bugs.winehq.org/show_bug.cgi?id=46225
--- Comment #29 from Bryan Kirk Zero3K@teknik.io --- 1. I am seeing near 100% CPU usage when running it in ReactOS which is using WINE's code for the drawing of GDI based programs. When running it in Windows 7, it is only using 16-25% of my CPU.
2. I think that they both are using GDI to draw the gameplay (if not Melty Blood, then definitely Iconoclasts since Steam doesn't need to install DirectX for it to run properly).
https://bugs.winehq.org/show_bug.cgi?id=46225
--- Comment #30 from Zebediah Figura z.figura12@gmail.com --- (In reply to Bryan Kirk from comment #29)
- I am seeing near 100% CPU usage when running it in ReactOS which is using
WINE's code for the drawing of GDI based programs. When running it in Windows 7, it is only using 16-25% of my CPU.
- I think that they both are using GDI to draw the gameplay (if not Melty
Blood, then definitely Iconoclasts since Steam doesn't need to install DirectX for it to run properly).
That doesn't really mean much. GDI isn't the reason that this program is taking that much CPU time. And not installing DirectX doesn't mean at all that the program is using GDI to draw.
https://bugs.winehq.org/show_bug.cgi?id=46225
--- Comment #31 from Bryan Kirk Zero3K@teknik.io --- Is it still fixable?
https://bugs.winehq.org/show_bug.cgi?id=46225
--- Comment #32 from Zebediah Figura z.figura12@gmail.com --- (In reply to Bryan Kirk from comment #31)
Is it still fixable?
It may or may not be, but determining how is not particularly easy.
https://bugs.winehq.org/show_bug.cgi?id=46225
--- Comment #33 from Bryan Kirk Zero3K@teknik.io --- It would be nice if more people were to take a look at it. That way the cause can be found.
https://bugs.winehq.org/show_bug.cgi?id=46225
Matteo Bruni matteo.mystral@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |RESOLVED Resolution|--- |INVALID
--- Comment #34 from Matteo Bruni matteo.mystral@gmail.com --- (In reply to Bryan Kirk from comment #33)
It would be nice if more people were to take a look at it. That way the cause can be found.
So I had a look. The game constantly uses most of a CPU core to draw graphics via GDI functions. In fact that's true both on Wine AND on Windows, it's just that CPU usage is reported differently.
On Linux a 100% CPU usage e.g. in "top" means that the total CPU utilization is one core. On Windows' task manager a 100% CPU utilization means that ALL cores of the CPU are in use. With this game on Windows I get about 12% CPU usage, which is essentially 100/8 (8 is the number of CPU threads I have).
https://bugs.winehq.org/show_bug.cgi?id=46225
--- Comment #35 from Bryan Kirk Zero3K@teknik.io --- Is there no way to keep it from using 100% CPU? Or have GDI use the video card's CPU if possible?
https://bugs.winehq.org/show_bug.cgi?id=46225
--- Comment #36 from Fabian Maurer dark.shadow4@web.de --- Is the performance worse on Wine? Or is just the reporting different?
https://bugs.winehq.org/show_bug.cgi?id=46225
--- Comment #37 from Zebediah Figura z.figura12@gmail.com --- (In reply to Bryan Kirk from comment #35)
Is there no way to keep it from using 100% CPU? Or have GDI use the video card's CPU if possible?
There is no way to keep it from using 100% CPU. The game itself is broken that way.
https://bugs.winehq.org/show_bug.cgi?id=46225
--- Comment #38 from Bryan Kirk Zero3K@teknik.io --- (In reply to Fabian Maurer from comment #36)
Is the performance worse on Wine? Or is just the reporting different?
Its CPU usage was high when I last tested it. So, it probably is slower even though its using all cores.
https://bugs.winehq.org/show_bug.cgi?id=46225
André H. nerv@dawncrow.de changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED CC| |nerv@dawncrow.de
--- Comment #39 from André H. nerv@dawncrow.de --- closing invalid
https://bugs.winehq.org/show_bug.cgi?id=46225
--- Comment #40 from Bryan Kirk Zero3K@teknik.io --- (In reply to André H. from comment #39)
closing invalid
Why is this invalid?
https://bugs.winehq.org/show_bug.cgi?id=46225
--- Comment #41 from André H. nerv@dawncrow.de --- (In reply to Bryan Kirk from comment #40)
(In reply to André H. from comment #39)
closing invalid
Why is this invalid?
Mostly because of #c34 and also #c37
https://bugs.winehq.org/show_bug.cgi?id=46225
--- Comment #42 from Bryan Kirk Zero3K@teknik.io --- How about using Hardware Acceleration for GDI?
https://bugs.winehq.org/show_bug.cgi?id=46225
--- Comment #43 from Zebediah Figura z.figura12@gmail.com --- (In reply to Bryan Kirk from comment #42)
How about using Hardware Acceleration for GDI?
That wouldn't affect anything. It's not Wine's code that's spinning, it's the application's code.
https://bugs.winehq.org/show_bug.cgi?id=46225
--- Comment #44 from Bryan Kirk Zero3K@teknik.io --- Would limiting its cpu usage fix anything?
https://bugs.winehq.org/show_bug.cgi?id=46225
--- Comment #45 from Fabian Maurer dark.shadow4@web.de --- (In reply to Bryan Kirk from comment #44)
Would limiting its cpu usage fix anything?
You would need to ask the developer of the program. On windows it's using a full CPU core, and so it is on Wine. The CPU usage is exactly the same, no bug here. And I don't see a performance problem either.