http://bugs.winehq.org/show_bug.cgi?id=17834
Detlef Riekenberg wine.dev@web.de changed:
What |Removed |Added ---------------------------------------------------------------------------- CC|wine.dev@web.de |
--- Comment #19 from Detlef Riekenberg wine.dev@web.de 2009-03-29 11:33:29 --- Mebel has also problems without a network Printer.
WINEDEBUG=+relay,+loaddll,+tib wine mebel 2>&1 | tee log.txt show you the reason (stopped after a while. The log was then 76MB):
The application does on startup: - Convert every ANSI charater to UNICODE - Then for various fonts: * create a bitmap * Then for every printable Character: * draw a single character to the bitmap * read every pixel with GetPixel
- Later then for every Toolbar Bitmaps in the resource: * Read a bitmap from the resource * Create compatible DC and Bitmaps * Select a Bitmap in a Device Context * read every pixel with GetPixel * write every Pixel with SetPixelV
The Developer of the Application is so damm stupid by ignore Blitting. Compare that with Multiplication of big numbers by using Addition only.
It's slower on Wine as in Windows, because wine use X11 for DIB operations. When I stopped the logs, GetPixel and SetpixelV where called over 1.2 millon times. Without relay, but with +dc, counting from the start until the UI was up, DeleteDC was called 3221 times.
The DIB might help, but I didn't test that.