I've implemented capturing the missing events as a GDK event filter.
Up to 200 events per second now and smooth lines with my Intuos5.

https://gitorious.org/mypaint/achadwick-mypaint/commits/eventhack-wip

The code will only work on X11 at present, but compilation and runtime
is suitably conditional.

$ cd path/to/my/mypaint/clone
$ scons --clean
$ git remote add achadwick git://gitorious.org/mypaint/achadwick-mypaint.git
$ git fetch achadwick
$ git co -b eventhack-wip achadwick/eventhack-wip
$ scons
$ MYPAINT_DEBUG=1 ./mypaint -c /tmp/cfgtmp_evhack
[...]
DEBUG: gui.canvasevent: Adding evhack filter (<TiledDrawWidget object
at 0x3ba9d20 (TiledDrawWidget at 0x30065a0)>,
<gui.canvasevent.SwitchableFreehandMode object at 0x518c6d0>)
DEBUG: gui.canvasevent: Processing at 200 events/s (t_avg=0.005s)
DEBUG: gui.canvasevent: Processing at 199 events/s (t_avg=0.005s)
[...]

Please can everyone test and report the speeds they get for continuous
scribbles when running with MYPAINT_DEBUG turned on? Thanks.

Commit 451ca93 in that branch is a good point to contrast it against
if you think you're getting no improvement.

On 16 October 2013 23:07, Andrew Chadwick <[email protected]> wrote:
> The bug lies upstream, in GTK3:
> https://bugzilla.gnome.org/show_bug.cgi?id=702392
>
> Not our fault, and there's a limited amount that can be done to work
> around it in Python.
>
> I'm wondering whether it'd make sense to write an event filter in C
> and decode those XMotionEvents ourself. Not exactly
> platform-independent code though.
>
>
> On 16 October 2013 19:53, José Américo Gobbo <[email protected]> wrote:
>> Is useful make also a video showing of Test Input Devices with idle 
>> priorities?
>>
>> _______________________________________________
>> Mypaint-discuss mailing list
>> [email protected]
>> https://mail.gna.org/listinfo/mypaint-discuss
>
>
>
> --
> Andrew Chadwick



-- 
Andrew Chadwick

_______________________________________________
Mypaint-discuss mailing list
[email protected]
https://mail.gna.org/listinfo/mypaint-discuss

Reply via email to