gdi speed: 10x slower than real win
Jarek Czekalski
jarekczek at poczta.onet.pl
Sat Jun 4 16:06:24 CDT 2011
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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.winehq.org/pipermail/wine-devel/attachments/20110604/2578ba6a/attachment-0001.htm>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: test_gdi.zip
Type: application/zip
Size: 12254 bytes
Desc: not available
URL: <http://www.winehq.org/pipermail/wine-devel/attachments/20110604/2578ba6a/attachment-0001.zip>
More information about the wine-devel
mailing list