Hi Devels
The app I use runs unacceptably slow under wine. I suspected gdi routines and wrote a simple win32 api app to make some tests and comparisons. On my box it shows wine gdi is 10 times slower than the real windows. Let's get into details.
REASON
I love EditPad Pro (appdb editpad pro http://appdb.winehq.org/objectManager.php?sClass=application&iId=8392), a text editor with the capabilities for a programmer that I can't find in any other tool. After upgrade from version 6 to 7 I have problems with the usability, due to slow performance. The app is written in Delphi and now they included new interface features. The menus seem to be animated, they roll down instead of popping up immediately. Menus roll down slowly on wine, but that's a little problem, just a noticable thing. I have problems with very typing characters and these problems are almost gone when I switch off all the toolbars. Looks like the icons on them make them slow down the whole app.
The author of the app claims that on his vmwared ubuntu everything is ok. I hope to get the judgement from you.
TESTING APP
I attach zip with source code and the executable of a short win32 api. It's an animated rectangle, optionally with a bitmap inside. It moves pixel by pixel from left to right. The next move is generated by PostMessage(WM_USER) at the end of OnPaint. I hope that's a way of assessing the gdi speed. Time needed to make the full pass of 500 pixels is printed on the screen.
RESULTS
test_gdi.exe without parameters draws bitmapped rect, while with the option "t" - the rect is bare. I tested 3 evironments and took 2 measurings on each of them. First number is the bitmapped time. Units are seconds. wine 0.39 0.22 - every movement phase is drawn vmwared w2k 0.123 0.085 - only several painted rects in random places w2k 0.0387 0.0285 - several painted every 2nd line, skewed rects
The factor of 10 comes from comparing bitmapped time between wine and real W2K. Wine graphics is perfect, and the faster environments take some shorter ways.
POSSIBLE EXPLANATION
Just my imagination. I guess Windows buffer their graphics outcome in memory. Fast changes in this memory are not passed to the graphic device. This would explain the artifacts seen in the experiment and also the lack of flickering of the apps under the real win. For example mentioned EditPadPro redraws its edit area with every character typed (at least in the syntax highlighting mode), while under real win this behaviour is undetectable.
BIBLIOGRAPHY
The speed issue was reviewed in such posts I could locate: GDI Question http://www.winehq.org/pipermail/wine-devel/2003-February/014052.html (2003) Windows 2D GDI benchmark tools? http://www.winehq.org/pipermail/wine-devel/2009-July/077144.html (2009) Speed problem with Wine... http://www.winehq.org/pipermail/wine-users/2001-July/007320.html (2001)
Has anything changed?
LAST WORD
I hope you'll benefit from the tester I wrote. I'm looking forward to see your comments. Do you notice the same speed multiplier as me: 10x? Maybe I have to fix my Debian to reach better results.
Jarek