http://bugs.winehq.org/show_bug.cgi?id=33318
Bug #: 33318 Summary: 3DMark2001 SE: upgrading to Wine 1.5.27 reduces performance score by 20% Product: Wine Version: 1.5.27 Platform: x86-64 OS/Version: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: -unknown AssignedTo: wine-bugs@winehq.org ReportedBy: vernetzt@mail.ua Classification: Unclassified
Created attachment 44068 --> http://bugs.winehq.org/attachment.cgi?id=44068 Screenshots with example scores for Wine 1.5.27 and Wine 1.4.1
I'm running Linux Mint 13 x86_64 with kernel 3.5.0-26-generic and X.Org Server 1.13.0 on my laptop (ThinkPad X61s with Intel X3100 graphics, see [1]). Before upgrading Wine from 1.4.1 version to version 1.5.27 using the Ubuntu Wine PPA [2] I decided to run 3DMark to see if the upgrade affected performance. I then ran 3DMark after upgrading Wine. The result was an unexpected, consistent 20% drop in the score.
The scores (averaged from three trials) were as follows: Wine 1.4.1: 2614 Wine 1.5.27: 2080
I'll see if this can be reproduced on a machine with a different graphics chip.
[1] http://www.thinkwiki.org/wiki/Category:X61s [2] http://www.ubuntuupdates.org/ppa/wine?dist=precise
http://bugs.winehq.org/show_bug.cgi?id=33318
Danyil Bohdan vernetzt@mail.ua changed:
What |Removed |Added ---------------------------------------------------------------------------- Attachment #44068|0 |1 is obsolete| |
--- Comment #1 from Danyil Bohdan vernetzt@mail.ua 2013-04-02 13:15:41 CDT --- Created attachment 44069 --> http://bugs.winehq.org/attachment.cgi?id=44069 Screenshots with (correct) example scores for Wine 1.5.27 and Wine 1.4.1
Oh snap, I swapped 1.5.27 and 1.4.1 windows in the previous image. Again, 1.5.27 actually gets a _lower_ score. Sorry.
http://bugs.winehq.org/show_bug.cgi?id=33318
Austin English austinenglish@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |download, performance, | |regression Component|-unknown |directx-d3d
--- Comment #2 from Austin English austinenglish@gmail.com 2013-04-02 16:52:48 CDT --- I suppose you could run a regression test, though I doubt one single patch affected things that badly..
http://bugs.winehq.org/show_bug.cgi?id=33318
André H. nerv@dawncrow.de changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |nerv@dawncrow.de, | |stefan@codeweavers.com
--- Comment #3 from André H. nerv@dawncrow.de 2013-04-02 19:32:49 CDT --- Adding Stefan as he does gaming benchmarks on Wine
http://bugs.winehq.org/show_bug.cgi?id=33318
--- Comment #4 from Stefan Dösinger stefan@codeweavers.com 2013-04-02 23:58:57 CDT --- There have been some ups and downs over the years, but I think the major performance regressions should be fixed.
I'm afraid I'll have to ask you to run a regression test over all those Wine versions.
http://bugs.winehq.org/show_bug.cgi?id=33318
--- Comment #5 from Danyil Bohdan vernetzt@mail.ua 2013-04-03 11:44:38 CDT --- I ran 3DMark2001 SE on a work machine today, a desktop PC with an Nvidia GeForce GTS 250 graphics card running Linux Mint 13 LTS with kernel 3.2.0-39-generic, X.Org Server 1.11.3 and nouveau drivers (reporting as "Gallium 0.4 on NVCF"). The difference in performance is considerably smaller but it is still there. Due to the lack of time I was only able to perform a single trial for each version.
The scores were as follows:
Wine 1.4.1: 10664 Wine 1.5.27: 9375
I'm not sure when and if I'll be able to test each patch version for this regression, though.
http://bugs.winehq.org/show_bug.cgi?id=33318
--- Comment #6 from Danyil Bohdan vernetzt@mail.ua 2013-04-03 11:47:26 CDT --- Created attachment 44077 --> http://bugs.winehq.org/attachment.cgi?id=44077 GeForce GTS 250/nouveau scores for Wine 1.5.27 and Wine 1.4.1
http://bugs.winehq.org/show_bug.cgi?id=33318
--- Comment #7 from Austin English austinenglish@gmail.com 2013-04-03 19:52:04 CDT --- With nvidia binary drivers and a GTX 480, the difference between 1.4 and 1.527 was 1%.
Seems to be mesa.
http://bugs.winehq.org/show_bug.cgi?id=33318
--- Comment #8 from Stefan Dösinger stefan@codeweavers.com 2013-04-04 01:17:18 CDT --- I have 3 systems performing automated performance tracking on a Radeon X1600 (r300g), Radeon HD 5770 (r600g) and Geforce 7600 (nvidia binary). Data is available here:
http://openbenchmarking.org/result/1304031-STEF-WINE15222&track_view=400 (r300g) http://openbenchmarking.org/result/1304037-STEF-WINE15299&track_view=400 (r600g) http://openbenchmarking.org/result/1304031-FO-WINE1524915&track_view=400 (nvidia, new) http://openbenchmarking.org/result/1302087-FO-WINE1523835&track_view=400
You have to read the results right to left, and the graphs are a bit of a mess. r300g spotted a small performance drop in 3DMark2k1 around Wine 1.4. r600g was switched from fglrx to r600g at some point, screwing up performance comparisons. Furthermore the r600g results are unreadable because the website is confused - download the raw XML and put it into Libreoffice or gnuplot or something. The nvidia box was upgraded from some ancient ubuntu to a modern arch a few test revisions back, which broke the link between the old and new results and caused a ~5% performance drop. Unfortunately the old results are unreadable as well because of one misguided test result :-( . I really have to nag Michael Larabel about that...
http://bugs.winehq.org/show_bug.cgi?id=33318
--- Comment #9 from Danyil Bohdan vernetzt@mail.ua 2013-04-04 04:17:23 CDT --- Created attachment 44086 --> http://bugs.winehq.org/attachment.cgi?id=44086 Drop in Radeon X1600 (r300g) score in version 1.5.4
Stefan, I found a big drop in your benchmark results for r300g between Wine 1.5.3 and Wine 1.5.4. The 3DMark2001 score goes from 5445 down to 4654. Unlike the score in 3DMark2000, which drops from 6903 to 2247 in the same release but then rises to 8225 in 1.5.19, it never seems to recover. See the attached image.
http://bugs.winehq.org/show_bug.cgi?id=33318
--- Comment #10 from Stefan Dösinger stefan@codeweavers.com 2013-04-04 05:30:20 CDT --- Oh right, this just looks so small because of the big one-time spike. I really wish this website had a way to remove broken results...
Once upon a time I bisected the 3Dmark2000 regression and ended up with a8a201cf61b39f79be980c4f193905bf8c0276c4. This patch shouldn't have an effect on 3DMark 2001 because the drop in 2000 was a bug in ddraw.dll, which was fixed by a61f68fc5ab67e9c08665bd1861d6811be42d30f.
Nevertheless, you could try to disable GL_ARB_map_buffer_range in directx.c (just remove it from the extension table at the top). If that helps, we have a pointer in the right direction.
http://bugs.winehq.org/show_bug.cgi?id=33318
--- Comment #11 from Rico kgbricola@web.de 2013-04-04 08:38:21 CDT --- I got the following with r600g (HD 4350 - RV710): 29893d81621b50e3acca1f2c34767867a9256ecb^ (wine 1.5.3 fast): 5400 29893d81621b50e3acca1f2c34767867a9256ecb (wine 1.5.4 slow): 4300 1.5.27: 4000
29893d81621b50e3acca1f2c34767867a9256ecb is the first bad commit commit 29893d81621b50e3acca1f2c34767867a9256ecb Author: Henri Verbeet hverbeet@codeweavers.com Date: Wed May 2 21:47:58 2012 +0200
wined3d: Determine index buffer location based on vertex buffer locations.
:040000 040000 fc5dd836116dec3047a41fe7b28c22d4ef4261c8 72a5445b837c0fa479e611f985543f319d528c0a M dlls
http://bugs.winehq.org/show_bug.cgi?id=33318
--- Comment #12 from Henri Verbeet hverbeet@gmail.com 2013-04-04 09:39:19 CDT --- Is it drawing pre-transformed vertices a lot, or e.g. hitting drawStridedSlow() for some other reason? The buffer_get_sysmem() in there is potentially slower if the index buffer was moved to VRAM. In general I don't think 3DMark 2000 or 2001 or particularly interesting benchmarks for current hardware though.
http://bugs.winehq.org/show_bug.cgi?id=33318
--- Comment #13 from Danyil Bohdan vernetzt@mail.ua 2013-04-04 10:13:53 CDT --- Commenting out GL_ARB_map_buffer_range in dlls/wined3d/directx.c improves the average score on my X61s from 2080 to 2218. This is in the latest version (Wine 1.5.27-127-ga62b767, git commit a62b7679356abde12a0d4c86926d010099d1393b).
https://bugs.winehq.org/show_bug.cgi?id=33318
Austin English austinenglish@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Regression SHA1| |29893d81621b50e3acca1f2c347 | |67867a9256ecb
https://bugs.winehq.org/show_bug.cgi?id=33318
--- Comment #14 from Ken Sharp imwellcushtymelike@gmail.com --- Any improvement in Wine 1.7.45 or later?
https://bugs.winehq.org/show_bug.cgi?id=33318
Stefan Dösinger stefandoesinger@gmx.at changed:
What |Removed |Added ---------------------------------------------------------------------------- CC|stefan@codeweavers.com |stefandoesinger@gmx.at
https://bugs.winehq.org/show_bug.cgi?id=33318
winetest@luukku.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |winetest@luukku.com
--- Comment #15 from winetest@luukku.com --- (In reply to Danyil Bohdan from comment #13)
Commenting out GL_ARB_map_buffer_range in dlls/wined3d/directx.c improves the average score on my X61s from 2080 to 2218. This is in the latest version (Wine 1.5.27-127-ga62b767, git commit a62b7679356abde12a0d4c86926d010099d1393b).
The commit doesn't seem to revert anymore.
What do you actually comment out?
I found this from source
/* GL_ARB_map_buffer_range and GL_APPLE_flush_buffer_range provide the same * functionality. Prefer the ARB extension */ gl_info->supported[APPLE_FLUSH_BUFFER_RANGE] = FALSE;
Is this actually fixed already?
I got a result of 25997
Got the 3dmark from here
https://www.techpowerup.com/downloads/285/futuremark-3dmark-2001-free-versio...
https://bugs.winehq.org/show_bug.cgi?id=33318
--- Comment #16 from Henri Verbeet hverbeet@gmail.com --- I have patches that bring the score up to slightly above the one for 1.4.1 on my hardware (AMD CYPRESS, Mesa 13.0.2). Unfortunately those won't make it into the 2.0 release.
https://bugs.winehq.org/show_bug.cgi?id=33318
--- Comment #17 from Henri Verbeet hverbeet@gmail.com --- Is this still an issue with current git?
https://bugs.winehq.org/show_bug.cgi?id=33318
--- Comment #18 from winetest@luukku.com --- (In reply to Henri Verbeet from comment #17)
Is this still an issue with current git?
I got a lot higher number now. 29478 compared to 25997.
Run the test only once now and then.
https://bugs.winehq.org/show_bug.cgi?id=33318
Stefan Dösinger stefandoesinger@gmx.at changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |RESOLVED Resolution|--- |FIXED
--- Comment #19 from Stefan Dösinger stefandoesinger@gmx.at --- I've benchmarked this app on my MacBookPro10,1 running Linux:
92671487050dfe0d377eb0248b9d458e7156e3ba (the commit before the regression): 2880x1800: 19109 3dmarks 640x480: 42464
Wine 2.0: 2880x1800: 17025 3dmarks 640x480: 37168
Wine 2.0-348 (sorry, forgot to write down the exact SHA1): 2880x1800: 19421 3dmarks 640x480: 40877
I'll call it fixed. I suspect afb2aa2512d4c5ffa7256ce5137bc2c142a5d065 fixed it. I will confirm this and set the fix SHA1 once I have done so.
There is still a difference in the CPU limited case (42464 -> 40877 3dmarks).
https://bugs.winehq.org/show_bug.cgi?id=33318
Stefan Dösinger stefandoesinger@gmx.at changed:
What |Removed |Added ---------------------------------------------------------------------------- Fixed by SHA1| |afb2aa2512d4c5ffa7256ce5137 | |bc2c142a5d065
--- Comment #20 from Stefan Dösinger stefandoesinger@gmx.at --- I can confirm that afb2aa2512d4c5ffa7256ce5137bc2c142a5d065 fixed this.
https://bugs.winehq.org/show_bug.cgi?id=33318
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #21 from Alexandre Julliard julliard@winehq.org --- Closing bugs fixed in 2.2.
https://bugs.winehq.org/show_bug.cgi?id=33318
Michael Stefaniuc mstefani@redhat.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Target Milestone|--- |2.0.x
https://bugs.winehq.org/show_bug.cgi?id=33318
Michael Stefaniuc mstefani@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Target Milestone|2.0.x |---
--- Comment #22 from Michael Stefaniuc mstefani@winehq.org --- Removing the 2.0.x milestone from bugs included in 2.0.5.