<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>

    <meta http-equiv="content-type" content="text/html; charset=UTF-8">
  </head>
  <body text="#000000" bgcolor="#ffffff">
    Hi Devels<br>
    <br>
    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.<br>
    <br>
    REASON<br>
    <br>
    I love EditPad Pro (<a
href="http://appdb.winehq.org/objectManager.php?sClass=application&amp;iId=8392">appdb
      editpad pro</a>), 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.<br>
    <br>
    The author of the app claims that on his vmwared ubuntu everything
    is ok. I hope to get the judgement from you.<br>
    <br>
    TESTING APP<br>
    <br>
    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.<br>
    <br>
    RESULTS<br>
    <br>
    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.<br>
    wine 0.39 0.22 - every movement phase is drawn<br>
    vmwared w2k 0.123 0.085 - only several painted rects in random
    places<br>
    w2k 0.0387 0.0285 - several painted every 2nd line, skewed rects<br>
    <br>
    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.<br>
    <br>
    POSSIBLE EXPLANATION<br>
    <br>
    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.<br>
    <br>
    BIBLIOGRAPHY<br>
    <br>
    The speed issue was reviewed in such posts I could locate:<br>
    <a
href="http://www.winehq.org/pipermail/wine-devel/2003-February/014052.html">GDI
      Question</a> (2003)<br>
    <a
      href="http://www.winehq.org/pipermail/wine-devel/2009-July/077144.html">Windows
      2D GDI benchmark tools?</a> (2009)<br>
    <a
      href="http://www.winehq.org/pipermail/wine-users/2001-July/007320.html">Speed
      problem with Wine...</a> (2001)<br>
    <br>
    Has anything changed?<br>
    <br>
    LAST WORD<br>
    <br>
    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.<br>
    <br>
    Jarek<br>
    <br>
  </body>
</html>