[Bug 59013] New: Final Fantasy XI Online: Noticeable overall performance regression.
http://bugs.winehq.org/show_bug.cgi?id=59013 Bug ID: 59013 Summary: Final Fantasy XI Online: Noticeable overall performance regression. Product: Wine Version: 10.6 Hardware: x86-64 URL: http://www.playonline.com/ff11eu/download/media/benchm ark03.html OS: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: d3d Assignee: wine-bugs(a)list.winehq.org Reporter: chiitoo(a)gentoo.org Regression SHA1: 93bfdc6f21a1b1be092b7a7b8e5b1dad0aff8a46 Distribution: Gentoo Not sure if this is regression per se, but it looks like after 93bfdc6f21a [1], at least some applications suffer from lower performance. For example in certain situations in Final Fantasy XI Online, FPS may drop by ~12 or more from the maximum of ~29. At 11390796260 [2], or possibly already starting/related at/to ac8591ee3d2 [3], the commit before that, FPS in the same testing method can be seen dropping by ~5 at most, so that might add some to it. Before that point, the FPS count would more or less stay around the maximum ~29 (I don't think I've ever seen the Wine debug 'fps' hit 30, which is the maximum, but I'm not sure if it really hits it on Windows either), with a CPU use on the executable at around 170-180% (two threads). After [1], CPU usage will be at the maximum of two threads for the process, and my CPU fans start working a bit harder on the Ryzen 9 7950X too. Graphics stack consists of the open amdgpu driver and a Radeon RX 5700 XT. Unsurprisingly perhaps, these drops can be observed using the related, Final Fantasy XI Online Benchmark as well. At 9.0.1 or 9.0 and up for some ways, the benchmark will give me a score over 12000, but after these two points in commits, it will give around 10000. The first, slight drop happens at around 9.3, but it is much less noticeable, and I didn't bisect that fully yet. As a sidey-note, I also saw ~8000 points when not using GCC optimisations (normally -O2), and ~6000 if additionally running it with wow64-new, but that's a tale for another time. Thank you! 1. https://gitlab.winehq.org/wine/wine/-/commit/93bfdc6f21a1b1be092b7a7b8e5b1da... 2. https://gitlab.winehq.org/wine/wine/-/commit/11390796260f8fb54b19024f1093848... 3. https://gitlab.winehq.org/wine/wine/-/commit/ac8591ee3d25c0545c6a67d260e0c72... -- 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.
http://bugs.winehq.org/show_bug.cgi?id=59013 Chiitoo <chiitoo(a)gentoo.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Keywords| |download, regression -- 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.
http://bugs.winehq.org/show_bug.cgi?id=59013 Zeb Figura <z.figura12@gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |z.figura12@gmail.com --- Comment #1 from Zeb Figura <z.figura12@gmail.com> --- Created attachment 79923 --> http://bugs.winehq.org/attachment.cgi?id=79923 patch Does this patch help? -- 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.
http://bugs.winehq.org/show_bug.cgi?id=59013 --- Comment #2 from Zeb Figura <z.figura12@gmail.com> --- (In reply to Zeb Figura from comment #1)
Created attachment 79923 [details] patch
Does this patch help?
That'll only address the clip plane problem, I skimmed too hard and didn't notice the other two. I'd be surprised if that commit [3] kills performance, but [2] is more plausible. How sure are you that [3] affects things? [2] could probably use a similar treatment. -- 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.
http://bugs.winehq.org/show_bug.cgi?id=59013 Zeb Figura <z.figura12@gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Attachment #79923|0 |1 is obsolete| | --- Comment #3 from Zeb Figura <z.figura12@gmail.com> --- Created attachment 79925 --> http://bugs.winehq.org/attachment.cgi?id=79925 updated patch Here's an updated patch that addresses both transforms and clip planes. If this doesn't help, can you attach a +d3d9,+d3d log? -- 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.
http://bugs.winehq.org/show_bug.cgi?id=59013 --- Comment #5 from Zeb Figura <z.figura12@gmail.com> --- Created attachment 79935 --> http://bugs.winehq.org/attachment.cgi?id=79935 try not to invalidate *all* the clip planes quite as much (In reply to Chiitoo from comment #4)
Interestingly(?), it seems like I'm not hitting the added trace message at all.
Yeah, I was just wrong about what was causing it. The log helps, thanks. Does this patch improve things? -- 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.
http://bugs.winehq.org/show_bug.cgi?id=59013 --- Comment #6 from Chiitoo <chiitoo@gentoo.org> --- Yes, from a quick test I can see a noticeable boost, getting arpund 5 FPS more through-out the test; I'm seeing around 22-25 FPS instead of the ~15-20 or so. So definitely an improvement, if a bit far from the 9.0.1 times still. Will do some more testing later (didn't check the benchmark application yet at all). Thank you! -- 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.
http://bugs.winehq.org/show_bug.cgi?id=59013 --- Comment #7 from Chiitoo <chiitoo@gentoo.org> --- For that [3], testing it again now, I do get pretty similar performance, maybe a 1 FPS difference for the in-game test while the benchmark is sticking to pretty similar over 12k points. This was a point where these applications would eventually run out of virtual memory space when built using '-g' (I think it was https://bugs.winehq.org/show_bug.cgi?id=56530), and while bisecting this, I noticed that not having set '-O' at all has the same effect. Normally I build with '-O2', but this was being overridden as I was setting '-std=gnu17' since there are issues with more recent 'std' at these points in commit history. So with that in mind, the optimisations used may have had some effect at some points, though I do remember paying attention to that while testing, but haven't made proper notes about it. Will continue testing as I have time for it. -- 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.
http://bugs.winehq.org/show_bug.cgi?id=59013 --- Comment #9 from Zeb Figura <z.figura12@gmail.com> --- Created attachment 79974 --> http://bugs.winehq.org/attachment.cgi?id=79974 another patch Hmm, is *this* enough to get us back to the old performance levels? And can you attach another +d3d log (with the patch) if not? There's definitely still room for improvement even after this version, but the question is what to spend effort on. Especially since we're in code freeze. -- 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.
http://bugs.winehq.org/show_bug.cgi?id=59013 --- Comment #10 from Chiitoo <chiitoo@gentoo.org> --- Created attachment 79988 --> http://bugs.winehq.org/attachment.cgi?id=79988 compressed +d3d9,+d3d log - new Thanks! Things seem mostly the same compared to previous, and attached is a new log. Also yeah, not sure how much this should be considered a regression instead of some general improvements feature for after code freeze times perhaps, or something like that. -- 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.
http://bugs.winehq.org/show_bug.cgi?id=59013 --- Comment #11 from Zeb Figura <z.figura12@gmail.com> --- (In reply to Chiitoo from comment #10)
Created attachment 79988 [details] compressed +d3d9,+d3d log - new
Thanks!
Things seem mostly the same compared to previous, and attached is a new log.
That's "no change compared to comment 5", right?
Also yeah, not sure how much this should be considered a regression instead of some general improvements feature for after code freeze times perhaps, or something like that.
Nah, performance regressions are regressions too. But all regression fixes during code freeze should be surgical. There's even some regressions that just can't be fixed then because they would require way too much change. -- 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.
http://bugs.winehq.org/show_bug.cgi?id=59013 --- Comment #12 from Zeb Figura <z.figura12@gmail.com> --- Created attachment 79989 --> http://bugs.winehq.org/attachment.cgi?id=79989 clip planes + vdecl + viewport + TSS Here's another one that should get rid of another couple constant uploads, but honestly if the patch from comment 9 didn't help over comment 5, I'm not sure this one will either... -- 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.
http://bugs.winehq.org/show_bug.cgi?id=59013 --- Comment #13 from Chiitoo <chiitoo@gentoo.org> --- (In reply to Zeb Figura from comment #11)
(In reply to Chiitoo from comment #10)
Created attachment 79988 [details] compressed +d3d9,+d3d log - new
Thanks!
Things seem mostly the same compared to previous, and attached is a new log.
That's "no change compared to comment 5", right?
Sorry, yes, exactly that!
Also yeah, not sure how much this should be considered a regression instead of some general improvements feature for after code freeze times perhaps, or something like that.
Nah, performance regressions are regressions too. But all regression fixes during code freeze should be surgical. There's even some regressions that just can't be fixed then because they would require way too much change.
Right, of course, I worded that poorly. (In reply to Zeb Figura from comment #12)
Created attachment 79989 [details] clip planes + vdecl + viewport + TSS
Here's another one that should get rid of another couple constant uploads, but honestly if the patch from comment 9 didn't help over comment 5, I'm not sure this one will either...
I do see another step up with this, with the FPS now staying around 25-27 during the test! -- 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.
http://bugs.winehq.org/show_bug.cgi?id=59013 --- Comment #14 from Chiitoo <chiitoo@gentoo.org> --- Trying again with the previous patch, I did see more similar results now to the latest patch... so I'll try running more test with both, with some better eyes on me soon, to make things more sure-like. -- 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.
http://bugs.winehq.org/show_bug.cgi?id=59013 --- Comment #15 from Zeb Figura <z.figura12@gmail.com> --- I've sent <https://gitlab.winehq.org/wine/wine/-/merge_requests/9814>, which has a few more. That might be all I can squeeze out. I'd still appreciate testing. Apropos of not much, I'm also curious if WINE_D3D_CONFIG="ffp_hlsl=1" makes a difference; that's not active now but it will be eventually. -- 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.
http://bugs.winehq.org/show_bug.cgi?id=59013 --- Comment #16 from Chiitoo <chiitoo@gentoo.org> --- (In reply to Zeb Figura from comment #15)
I've sent <https://gitlab.winehq.org/wine/wine/-/merge_requests/9814>, which has a few more. That might be all I can squeeze out. I'd still appreciate testing.
I do believe these indeed improve things further, first tested at wine-11.0-rc3. At https://gitlab.winehq.org/wine/wine/-/commit/8dcbf5d8235 the FPS seems to mostly get around the maximum again, though I am still seeing the CPU work harder for it. With the chat log hidden, though, I can see the CPU not hitting the ~200% limit even, so looking a lot lot better indeed! Unsure if this could be called fixed with that, though still not quite in the levels of the past.
Apropos of not much, I'm also curious if WINE_D3D_CONFIG="ffp_hlsl=1" makes a difference; that's not active now but it will be eventually.
This makes the game crash on the character selection screen with: 03d4:fixme:d3d_shader:ffp_hlsl_generate_vertex_shader Unhandled texgen 0x30001. 03d4:fixme:d3d_shader:compile_hlsl_shader Shader log: 03d4:fixme:d3d_shader:compile_hlsl_shader <anonymous>:83:52: E5000: syntax error, unexpected ')' 03d4:fixme:d3d_shader:compile_hlsl_shader 03d4:err:d3d_shader:compile_hlsl_shader Failed to compile HLSL, ret -4. wine: Unhandled page fault on read access to 00000008 at address 7B0A844C (thread 03d4), starting debugger... The benchmark application runs, but renders models very strangely... Thank you as always! -- 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.
http://bugs.winehq.org/show_bug.cgi?id=59013 --- Comment #17 from Zeb Figura <z.figura12@gmail.com> --- (In reply to Chiitoo from comment #16)
(In reply to Zeb Figura from comment #15)
I've sent <https://gitlab.winehq.org/wine/wine/-/merge_requests/9814>, which has a few more. That might be all I can squeeze out. I'd still appreciate testing.
I do believe these indeed improve things further, first tested at wine-11.0-rc3.
At
https://gitlab.winehq.org/wine/wine/-/commit/8dcbf5d8235
the FPS seems to mostly get around the maximum again, though I am still seeing the CPU work harder for it.
With the chat log hidden, though, I can see the CPU not hitting the ~200% limit even, so looking a lot lot better indeed!
Unsure if this could be called fixed with that, though still not quite in the levels of the past.
Thanks. If it's still not where it was then I think there's more work to do. At some point I'm probably going to have to find a way to run this thing myself, although I do remember that being a pain.
Apropos of not much, I'm also curious if WINE_D3D_CONFIG="ffp_hlsl=1" makes a difference; that's not active now but it will be eventually.
This makes the game crash on the character selection screen with:
03d4:fixme:d3d_shader:ffp_hlsl_generate_vertex_shader Unhandled texgen 0x30001. 03d4:fixme:d3d_shader:compile_hlsl_shader Shader log: 03d4:fixme:d3d_shader:compile_hlsl_shader <anonymous>:83:52: E5000: syntax error, unexpected ')' 03d4:fixme:d3d_shader:compile_hlsl_shader 03d4:err:d3d_shader:compile_hlsl_shader Failed to compile HLSL, ret -4. wine: Unhandled page fault on read access to 00000008 at address 7B0A844C (thread 03d4), starting debugger...
Ah right, that part is still broken >_> -- 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.
http://bugs.winehq.org/show_bug.cgi?id=59013 --- Comment #18 from Chiitoo <chiitoo@gentoo.org> --- Yeah, the account set-up is quite a bit to deal with, and getting a trial code (I guess they run out at times?) can be difficult, though I did get one the other year when testing for some other issue. The benchmark at least is simple enough, though I'm not sure if it provides the needed information. It is from around 2002-2004, but so is the game in that it is restricted by PlayStation 2 limitations since then, unfortunately. Or fortunately for the testing part, but I'm sure there are some differences. I'll try testing a bit more soon with the benchmark specifically, since my notes seem to be lacking a bit with regards to the CPU use for it. The score part seems to hit around the same as before, so would imagine CPU-use to be similar as well. -- 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.
http://bugs.winehq.org/show_bug.cgi?id=59013 --- Comment #19 from Chiitoo <chiitoo@gentoo.org> --- Oh and in particular, the benchmark does lack the UI completely, which brings in its own share of weight. -- 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.
participants (4)
-
bugs@winehq.org -
WineHQ Bugzilla -
WineHQ Bugzilla -
WineHQ Bugzilla