I compiled Gimp-2.8.5 from the latest git-source.
I also compiled cairo 1.12.12 from git.
Windows Vista 32bit
There is a strange behaviour with gimp:
1. Using the plugin "IWarp" moving the curser to the upper part of the preview Image in order to move the pixels, it seems to copy the pixels from the lower egde of the image to the upper edge.
2. Using a tablet pen (Aiptek media tablet), the pen is incredibly slow.
I tried some compilations from the internet and they all show the same behaviour.
I compiled cairo-1.11.2 and with this version it is all okay. None of the above behaviours appear.
cairo-1.11.4 doesn't work at all.
From cairo-1.12.0 on, it shows the described things.
I use cairo-1.11.2 for my gimp now but unfortunately the new gimp-2.10 will use at least cairo-1.12.2.
Is it possible for you to reproduce the slow pen behaviour without having access to the hardware? Can you check with 1.12.14 to see if fixing the check for AlphaBlend() helps?
Created attachment 74558 [details]
Behavior of cairo in gimp-IWarp
No, version 1.12.14(15) doesn't solve the problem. The behaviour is the same.
I don't know, what you mean by reproducing the slow pen without having access to the hardware? What hardware? The behaviour exists only with the pen. The mouse is moving/painting as fast as ever.
The other problem is shown in the attachment.
all packages latest git-source.
The slowlyness with a pen with gimp is still there.
I made two videos that describes ist better:
This one with
The behaviour is pretty good. The drawing follows the cursor.
This one with
The drawing cannot follow the cursor and makes somewhat 'jumps' to follow faster.
That only happens with a pen. The speed with the mouse is as good as with cairo 1.11.2.
The change is with 1.12.0, the version 1.11.2 is the last usable version for windows (1.11.4 crashes immediately)
Moving from 1.14 tracker to 1.16 tracker
Do you have --enable-xlib-xcb in your config? If so, that may be the cause of at least the first part of this bug.
I just fixed this bug in gimp ( https://bugzilla.gnome.org/show_bug.cgi?id=736411 ). It turns out that we were effectively redrawing one of our widgets (the rulers on the side of the canvas) inside of a mouse event handler, which is a bad thing to do. Simply doing the drawing in gtk's expose handler, like we were supposed to, fixed it.
Our old code was apparently more performant on cairo versions before 1.12 than on 1.12, but I wouldn't be too concerned about that since what we were doing was wrong anyway. If anyone does want to investigate what changed in cairo, then I'm willing to help, but this bug should probably just be closed as a bug in gimp, not in cairo.
-- GitLab Migration Automatic Message --
This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity.
You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/cairo/cairo/issues/154.