[Bug 17895] JFlothows 2DMatrix.exe freezes

wine-bugs at winehq.org wine-bugs at winehq.org
Thu Mar 31 17:25:23 CDT 2016


https://bugs.winehq.org/show_bug.cgi?id=17895

Michael Müller <michael at fds-team.de> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |michael at fds-team.de

--- Comment #8 from Michael Müller <michael at fds-team.de> ---
The application does not really freeze but just works extremely slow in wine.
Use (0.2, 0; 0, 0.2) as transformation and you will see the result almost
immediately.

The application uses a highly inefficient way to read the pixels from the
source image and set the pixel in the destination image (see marked lines). All
those functions are called for each and every pixel causing the extreme lag. I
guess that at least one of these functions is much slower in Wine than on
windows.

-----
0009:Call user32.GetDC(00000000) ret=00407b52
0009:Ret  user32.GetDC() retval=0009003a ret=00407b52
0009:Call gdi32.CreateCompatibleDC(0009003a) ret=00407b5e
0009:Ret  gdi32.CreateCompatibleDC() retval=b8bc0050 ret=00407b5e
0009:Call user32.ReleaseDC(00000000,0009003a) ret=00407b72
0009:Ret  user32.ReleaseDC() retval=00000001 ret=00407b72
0009:Call gdi32.SelectObject(b8bc0050,00050049) ret=00407b87
0009:Ret  gdi32.SelectObject() retval=0001001a ret=00407b87
0009:Call gdi32.SetTextAlign(b8bc0050,00000018) ret=00407ba1
0009:Ret  gdi32.SetTextAlign() retval=00000000 ret=00407ba1
0009:Call gdi32.GetClipRgn(b8bc0050,00030053) ret=00498364
0009:Ret  gdi32.GetClipRgn() retval=00000000 ret=00498364
0009:Call gdi32.SetBkMode(b8bc0050,00000001) ret=0049837b
0009:Ret  gdi32.SetBkMode() retval=00000002 ret=0049837b
0009:Call gdi32.GetPixel(b8bc0050,000000de,0000004e) ret=00498d3b  <--
0009:Ret  gdi32.GetPixel() retval=00ffffff ret=00498d3b
0009:Call gdi32.SelectObject(b8bc0050,0001001a) ret=00407bfe
0009:Ret  gdi32.SelectObject() retval=00050049 ret=00407bfe
0009:Call gdi32.DeleteDC(b8bc0050) ret=00407c0d
0009:Ret  gdi32.DeleteDC() retval=00000001 ret=00407c0d
0009:Call user32.GetDC(00000000) ret=00407b52
0009:Ret  user32.GetDC() retval=0009003a ret=00407b52
0009:Call gdi32.CreateCompatibleDC(0009003a) ret=00407b5e
0009:Ret  gdi32.CreateCompatibleDC() retval=b8bd0050 ret=00407b5e
0009:Call user32.ReleaseDC(00000000,0009003a) ret=00407b72
0009:Ret  user32.ReleaseDC() retval=00000001 ret=00407b72
0009:Call gdi32.SelectObject(b8bd0050,0002004e) ret=00407b87
0009:Ret  gdi32.SelectObject() retval=0001001a ret=00407b87
0009:Call gdi32.SetTextAlign(b8bd0050,00000018) ret=00407ba1
0009:Ret  gdi32.SetTextAlign() retval=00000000 ret=00407ba1
0009:Call gdi32.GetClipRgn(b8bd0050,00030053) ret=00498364
0009:Ret  gdi32.GetClipRgn() retval=00000000 ret=00498364
0009:Call gdi32.SetBkMode(b8bd0050,00000001) ret=0049837b
0009:Ret  gdi32.SetBkMode() retval=00000002 ret=0049837b
0009:Call gdi32.SetPixelV(b8bd0050,000000de,0000004e,00ffffff) ret=00498e32 <--
0009:Ret  gdi32.SetPixelV() retval=00000001 ret=00498e32
0009:Call KERNEL32.GetTickCount() ret=005236de
0009:Ret  KERNEL32.GetTickCount() retval=00a54eb1 ret=005236de
0009:Call gdi32.SelectObject(b8bd0050,0001001a) ret=00407bfe
0009:Ret  gdi32.SelectObject() retval=0002004e ret=00407bfe
0009:Call gdi32.DeleteDC(b8bd0050) ret=00407c0d
0009:Ret  gdi32.DeleteDC() retval=00000001 ret=00407c0d
-----

-- 
Do not reply to this email, post in Bugzilla using the
above URL to reply.
You are receiving this mail because:
You are watching all bug changes.


More information about the wine-bugs mailing list