http://bugs.winehq.org/show_bug.cgi?id=28842
Bug #: 28842 Summary: Dungeon Defenders configurator renders slowly Product: Wine Version: 1.3.30 Platform: x86 OS/Version: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: -unknown AssignedTo: wine-bugs@winehq.org ReportedBy: rmlipman@gmail.com Classification: Unclassified
Demo available on Steam
Must be installed in 1.3.26 (requires installing .net 3.5 even if already installed, regression in bug 28401)
To reproduce: Launch the game from Steam Select configure Configurator app will be slow
http://bugs.winehq.org/show_bug.cgi?id=28842
Austin English austinenglish@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |download URL| |http://www.gamershell.com/d | |ownload_81210.shtml
--- Comment #1 from Austin English austinenglish@gmail.com 2011-10-22 12:55:43 CDT --- Terminal output?
http://bugs.winehq.org/show_bug.cgi?id=28842
--- Comment #2 from rmlipman@gmail.com 2011-10-22 13:55:06 CDT --- Created attachment 37065 --> http://bugs.winehq.org/attachment.cgi?id=37065 Terminal output (stderr, nothing written to stdout)
http://bugs.winehq.org/show_bug.cgi?id=28842
Vincent Povirk madewokherd@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |dotnet
http://bugs.winehq.org/show_bug.cgi?id=28842
GyB gyebro69@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW CC| |gyebro69@gmail.com Component|-unknown |gdiplus Ever Confirmed|0 |1
--- Comment #3 from GyB gyebro69@gmail.com 2012-05-05 11:10:06 CDT --- I can confirm the problem in wine-1.5.3-164-gdec3d50. Drawing the contents of the configuration window is painfully slow. 'winetricks gdiplus' acts as a workaround (setting component field).
http://bugs.winehq.org/show_bug.cgi?id=28842
--- Comment #4 from GyB gyebro69@gmail.com --- Created attachment 47004 --> http://bugs.winehq.org/attachment.cgi?id=47004 terminal output Wine 1.7.9
Still painfully slow in wine-1.7.9-43-gbfb4f28. 'DunDefConfig.exe' takes up 100% of the CPU and it takes almost a minute to refresh the contents of the window. This message is spamming the console while drawing the contents of the window:
fixme:gdiplus:GdipGetLineSpacing ignoring style
https://bugs.winehq.org/show_bug.cgi?id=28842
super_man@post.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |super_man@post.com
--- Comment #5 from super_man@post.com --- I cant really say if its slow or not. Swapping configuration pages seems fast.
943 GpStatus WINGDIPAPI GdipGetLineSpacing(GDIPCONST GpFontFamily *family, 951 if (style) FIXME("ignoring style\n");
the spam comes because of this, wine doesnt really do anything when that function gets style argument.
https://bugs.winehq.org/show_bug.cgi?id=28842
Gijs Vermeulen gijsvrm@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Severity|normal |minor URL|http://www.gamershell.com/d |https://web.archive.org/web |ownload_81210.shtml |/20210817145257if_/http://d | |ownload.fileplanet.com/ftp1 | |/102011/DunDefDemoInstaller | |_3.exe?st=b0c5X94_7c2z8vFc2 | |aF3-w&e=1629222725
--- Comment #6 from Gijs Vermeulen gijsvrm@gmail.com --- It still lags a little bit when switching tabs with wine-6.15, but native gdiplus (tried win7 and winxp version) doesn't seem to help.
Adding stable download.
$ sha1sum DunDefDemoInstaller_3.exe e15dc2a68c3b4eecc55297800c5bfd1892a9ad83 DunDefDemoInstaller_3.exe
$ du -sh DunDefDemoInstaller_3.exe 1.3G DunDefDemoInstaller_3.exe
https://bugs.winehq.org/show_bug.cgi?id=28842
Bartosz gang65@poczta.onet.pl changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |gang65@poczta.onet.pl, | |madewokherd@gmail.com
https://bugs.winehq.org/show_bug.cgi?id=28842
--- Comment #7 from Bartosz gang65@poczta.onet.pl --- The performance on Wine 8.16 and native gdiplus (winetricks gdiplus), is the same.
There is some slowdown between switching the tabs, but it is also appear with native gdiplus.
It seems that the original problem was already resolved.
It could be closed as FIXED.
https://bugs.winehq.org/show_bug.cgi?id=28842
Bartosz gang65@poczta.onet.pl changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |dark.shadow4@web.de
https://bugs.winehq.org/show_bug.cgi?id=28842
--- Comment #8 from Fabian Maurer dark.shadow4@web.de --- Created attachment 75179 --> https://bugs.winehq.org/attachment.cgi?id=75179 wine-8.16_gdiplus_builtin
https://bugs.winehq.org/show_bug.cgi?id=28842
--- Comment #9 from Fabian Maurer dark.shadow4@web.de --- Created attachment 75180 --> https://bugs.winehq.org/attachment.cgi?id=75180 wine-8.16_gdiplus_native
https://bugs.winehq.org/show_bug.cgi?id=28842
--- Comment #10 from Fabian Maurer dark.shadow4@web.de --- Thanks for the ping, but I have to report different results. For me gdiplus native makes quite a big difference, see the videos I attached. With native it allows you to switch very fast, while with builtin you see the slow redrawing.
Although the issue is arguably not a big one, it is very much still present for me.
https://bugs.winehq.org/show_bug.cgi?id=28842
--- Comment #11 from Bartosz gang65@poczta.onet.pl --- During tab switching there are a lot of GdipGetDC, GdipReleaseDC, GdipDrawImageRectRectI and GdipGetClip
Some of them could be easily optimized:
4316.353:0024:trace:gdiplus:GdipGetClip (00B93B90, 00B6DC18) 4316.353:0024:trace:gdiplus:GdipCloneRegion 00B6D880 0062E704 4316.353:0024:trace:gdiplus:GdipSetMatrixElements (0062E708(0.00,0.00,0.00,0.00,0.00,0.00), 1.00, 0.00, 0.00, 1.00, 0.00, 0.00) 4316.353:0024:trace:gdiplus:GdipScaleMatrix (0062E708(1.00,0.00,0.00,1.00,0.00,0.00), 1.00, 1.00, 1) 4316.353:0024:trace:gdiplus:GdipInvertMatrix (0062E6A8(1.00,0.00,0.00,1.00,0.00,0.00)) 4316.353:0024:trace:gdiplus:GdipMultiplyMatrix (0062E708(1.00,0.00,0.00,1.00,0.00,0.00), 0062E6A8(1.00,0.00,0.00,1.00,-0.00,-0.00), 1) 4316.353:0024:trace:gdiplus:GdipTransformRegion (00B6DC38, 0062E708(1.00,0.00,0.00,1.00,0.00,0.00)) 4316.353:0024:trace:gdiplus:GdipTransformMatrixPoints (0062E708(1.00,0.00,0.00,1.00,0.00,0.00), 0062E680, 2) 4316.353:0024:trace:gdiplus:GdipTransformRegion (00B6DC18, 00B6DBF8(1.00,0.00,0.00,1.00,-0.00,-0.00)) 4316.353:0024:trace:gdiplus:GdipTransformMatrixPoints (00B6DBF8(1.00,0.00,0.00,1.00,-0.00,-0.00), 0062E6C0, 2) 4316.353:0024:trace:gdiplus:GdipGetMatrixElements (00B6DBD8(1.00,0.00,0.00,1.00,0.00,0.00), 00B50110) 4316.353:0024:trace:gdiplus:GdipDeleteMatrix (00B6DBD8)
https://bugs.winehq.org/show_bug.cgi?id=28842
--- Comment #12 from Bartosz gang65@poczta.onet.pl --- @Fabian Could you run profiler with this application?
https://bugs.winehq.org/show_bug.cgi?id=28842
--- Comment #13 from Fabian Maurer dark.shadow4@web.de --- Created attachment 75709 --> https://bugs.winehq.org/attachment.cgi?id=75709 Profiling data (Inverted call stack)
Profiling yields similar results to bug 53947. If I have time (and stop having corona) I wanted to try and create a SIMD implementation of those functions. Unless you have a different idea for optimization?