https://bugs.winehq.org/show_bug.cgi?id=53327
Bug ID: 53327 Summary: Ragnarok Online bad performance Product: Wine Version: unspecified Hardware: x86-64 OS: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: -unknown Assignee: wine-bugs@winehq.org Reporter: paulo1039@gmail.com Distribution: ---
Created attachment 72711 --> https://bugs.winehq.org/attachment.cgi?id=72711 log running game client (shining.exe)
Hello, i'm playing some Ragnarok online private servers (https://www.shining-moon.com) but the performance is really bad even on wine 7.12 i noticed the CPU usage is really high and the game is very choppy to unplayable levels specially when skills effects, damage numbers and monsters/players appear on screen. this is happening with other private servers too.
sadly i can't test official servers since iRO and bRO has Easy-AntiCheat.
This was tested with Ryzen 5 5600G on fedora 36 and another computer with nvidia gtx 1650 and arch linux.
https://bugs.winehq.org/show_bug.cgi?id=53327
Zeb Figura z.figura12@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |z.figura12@gmail.com Version|unspecified |7.12 Keywords| |performance
https://bugs.winehq.org/show_bug.cgi?id=53327
Olivier F. R. Dierick o.dierick@piezo-forte.be changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |o.dierick@piezo-forte.be
--- Comment #1 from Olivier F. R. Dierick o.dierick@piezo-forte.be --- Hello,
--- snippet from attachment 72711 --- 0138:err:d3d:wined3d_debug_callback 014848B8: "GL_INVALID_OPERATION in glFlushMappedBufferRange(buffer is not mapped)". --- end snippet ---
Performance issue with GL buffer mapping reminds me of bug 50235 and bug 52334 (more likely the later).
Can you try reverting the regression commit from bug 52334 and report whether it makes any difference or not?
Regards.
https://bugs.winehq.org/show_bug.cgi?id=53327
Zeb Figura z.figura12@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Ever confirmed|0 |1 Keywords| |regression Status|UNCONFIRMED |NEW Regression SHA1| |e86b4015ff405d4c054b8a5bc85 | |5ee655e1a833c Component|-unknown |ntdll CC| |matteo.mystral@gmail.com
--- Comment #2 from Zeb Figura z.figura12@gmail.com --- I was able to bisect; this was broken by
commit b1a79c6b9c3ada0c34b1411b60879962f1815e4d Author: Matteo Bruni mbruni@codeweavers.com Date: Wed Oct 6 15:53:57 2021 +0200
ntdll: Implement NtYieldExecution() as usleep().
Signed-off-by: Matteo Bruni mbruni@codeweavers.com Signed-off-by: Alexandre Julliard julliard@winehq.org
That was later reverted in 3203f056687, but then broken again by
commit e86b4015ff405d4c054b8a5bc855ee655e1a833c Author: Matteo Bruni mbruni@codeweavers.com Date: Fri Nov 19 20:50:29 2021 +0100
ntdll: Call usleep() instead of NtYieldExecution() in NtDelayExecution().
This implements the general fix from b1a79c6b9c3ada0c34b1411b60879962f1815e4d (in particular, making sure that Sleep(0) will not immediately resume execution of the thread if there are no other runnable threads) while preserving the existing behavior of NtYieldExecution() / SwitchToThread(). Thanks RĂ©mi for the idea.
Signed-off-by: Matteo Bruni mbruni@codeweavers.com Signed-off-by: Alexandre Julliard julliard@winehq.org
https://bugs.winehq.org/show_bug.cgi?id=53327
--- Comment #3 from Matteo Bruni matteo.mystral@gmail.com --- Interesting, thanks for the bisect.
Did you happen to see if it's the game or us that is calling NtYieldExecution()? My guess would be that it's wined3d, either wined3d_resource_wait_idle() or wined3d_cs_mt_finish(), and the proper fix to remove the cause of that call.
I'll have a look eventually...
https://bugs.winehq.org/show_bug.cgi?id=53327
--- Comment #4 from Zeb Figura z.figura12@gmail.com --- (In reply to Matteo Bruni from comment #3)
Interesting, thanks for the bisect.
Did you happen to see if it's the game or us that is calling NtYieldExecution()? My guess would be that it's wined3d, either wined3d_resource_wait_idle() or wined3d_cs_mt_finish(), and the proper fix to remove the cause of that call.
I'll have a look eventually...
Neither, exactly, it's calling Sleep(0), otherwise e86b4015ff4 wouldn't break it again. And all of the calls to Sleep(0) are coming from the game binary.
https://bugs.winehq.org/show_bug.cgi?id=53327
--- Comment #5 from Matteo Bruni matteo.mystral@gmail.com --- (In reply to Zeb Figura from comment #4)
(In reply to Matteo Bruni from comment #3)
Interesting, thanks for the bisect.
Did you happen to see if it's the game or us that is calling NtYieldExecution()? My guess would be that it's wined3d, either wined3d_resource_wait_idle() or wined3d_cs_mt_finish(), and the proper fix to remove the cause of that call.
I'll have a look eventually...
Neither, exactly, it's calling Sleep(0), otherwise e86b4015ff4 wouldn't break it again. And all of the calls to Sleep(0) are coming from the game binary.
Good point. Annoying...
https://bugs.winehq.org/show_bug.cgi?id=53327
holysparro@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |holysparro@gmail.com
--- Comment #6 from holysparro@gmail.com --- To help narrow things down the bad performance starts after version 5.7 of wine. In lutris 5.7 will run Ragnarok at acceptable speeds with no abnormal slow downs. Any version newer then that and you see the massive performance hit mostly based around the number of sprites on screen.
https://bugs.winehq.org/show_bug.cgi?id=53327
Zhiyi Zhang zzhang@codeweavers.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |zzhang@codeweavers.com
https://bugs.winehq.org/show_bug.cgi?id=53327
Zhiyi Zhang zzhang@codeweavers.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Resolution|--- |FIXED Status|NEW |RESOLVED Fixed by SHA1| |fc3b2ebaf4d92a77025f5c532a2 | |415ada8de69c3
--- Comment #7 from Zhiyi Zhang zzhang@codeweavers.com --- Fixed by fc3b2ebaf4d92a77025f5c532a2415ada8de69c3
https://bugs.winehq.org/show_bug.cgi?id=53327
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #8 from Alexandre Julliard julliard@winehq.org --- Closing bugs fixed in 8.0-rc1.