Re: [Mypaint-discuss] Howto performance tests
Correction to that. I use aliases[1], and then keep forgetting I have them turned on. Corrected version: $ cd path/to/my/mypaint/clone $ scons --clean $ git remote add achadwick git://gitorious.org/mypaint/achadwick-mypaint.git $ git fetch achadwick $ git checkout -b eventhack-wip achadwick/eventhack-wip $ scons $ MYPAINT_DEBUG=1 ./mypaint -c /tmp/cfgtmp_evhack [1] http://git-scm.com/book/en/Git-Basics-Tips-and-Tricks#Git-Aliases On 20 October 2013 04:57, Andrew Chadwick a.t.chadw...@gmail.com wrote: 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 a.t.chadw...@gmail.com 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 jag.rabi...@gmail.com wrote: Is useful make also a video showing of Test Input Devices with idle priorities? ___ Mypaint-discuss mailing list Mypaint-discuss@gna.org https://mail.gna.org/listinfo/mypaint-discuss -- Andrew Chadwick -- Andrew Chadwick -- Andrew Chadwick ___ Mypaint-discuss mailing list Mypaint-discuss@gna.org https://mail.gna.org/listinfo/mypaint-discuss
Re: [Mypaint-discuss] Howto performance tests
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 a.t.chadw...@gmail.com 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 jag.rabi...@gmail.com wrote: Is useful make also a video showing of Test Input Devices with idle priorities? ___ Mypaint-discuss mailing list Mypaint-discuss@gna.org https://mail.gna.org/listinfo/mypaint-discuss -- Andrew Chadwick -- Andrew Chadwick ___ Mypaint-discuss mailing list Mypaint-discuss@gna.org https://mail.gna.org/listinfo/mypaint-discuss
Re: [Mypaint-discuss] Howto performance tests
On Tue, Oct 15, 2013 at 11:21 PM, Jon Nordby jono...@gmail.com wrote: Hi David, please scream loudly when things change in master that cause problems for your workflow. Quick feedback from artists is critical for us. Hi Jon ! Ok, I'll do it :-) To confirm: Between these two screenshots, you only changed MyPaint version right? No changes to GTK+ version or anything else? Yes, I only changed from Mypaint 1.1 package from : - 1st version : installed from pacman arch repo ; version 1.1 - 2nd version : cloned git repo, get the dependencies and built Mypaint Git ( also removed with pacman 1.1, and moved ~/.mypaint to ~/.mypaint-old to avoid conflict ) My system / Gtk version was the same in both test. Other main workstation here got Manjaro default's Xfce desktop. Same results ( and same packages versions ). Could you test a small thing for me on git master? (remember that you don't have to install it, can just run straight from source directory). Sure, I did all the test. I prefered to 'scon clean' and reinstall each time to ensure the change was really done when I ran Mypaint. Here are the results ( screenshoted ) In gui/canvasevent.py change MOTION_QUEUE_PRIORITY = gobject.PRIORITY_DEFAULT_IDLE http://i.imgur.com/efvqJj4.jpg MOTION_QUEUE_PRIORITY = gobject.PRIORITY_HIGH_IDLE + 10 http://i.imgur.com/C0WIhXT.jpg MOTION_QUEUE_PRIORITY = gobject.PRIORITY_HIGH http://i.imgur.com/BDVFUec.jpg Does that make the performance any better? The three experiences , as you see on the screenshot were similar. At least on a 'feeling' point of view. ___ Mypaint-discuss mailing list Mypaint-discuss@gna.org https://mail.gna.org/listinfo/mypaint-discuss
Re: [Mypaint-discuss] Howto performance tests
On 17 October 2013 09:59, David Revoy davidre...@gmail.com wrote: On Tue, Oct 15, 2013 at 11:21 PM, Jon Nordby jono...@gmail.com wrote: Hi David, please scream loudly when things change in master that cause problems for your workflow. Quick feedback from artists is critical for us. Hi Jon ! Ok, I'll do it :-) Thanks! To confirm: Between these two screenshots, you only changed MyPaint version right? No changes to GTK+ version or anything else? Yes, I only changed from Mypaint 1.1 package from : - 1st version : installed from pacman arch repo ; version 1.1 - 2nd version : cloned git repo, get the dependencies and built Mypaint Git ( also removed with pacman 1.1, and moved ~/.mypaint to ~/.mypaint-old to avoid conflict ) My system / Gtk version was the same in both test. Other main workstation here got Manjaro default's Xfce desktop. Same results ( and same packages versions ). I completely forgot that 1.1 uses GTK+2, so that of course explains the difference. Could you test a small thing for me on git master? (remember that you don't have to install it, can just run straight from source directory). Sure, I did all the test. I prefered to 'scon clean' and reinstall each time to ensure the change was really done when I ran Mypaint. Here are the results ( screenshoted ) In gui/canvasevent.py change MOTION_QUEUE_PRIORITY = gobject.PRIORITY_DEFAULT_IDLE http://i.imgur.com/efvqJj4.jpg MOTION_QUEUE_PRIORITY = gobject.PRIORITY_HIGH_IDLE + 10 http://i.imgur.com/C0WIhXT.jpg MOTION_QUEUE_PRIORITY = gobject.PRIORITY_HIGH http://i.imgur.com/BDVFUec.jpg Does that make the performance any better? The three experiences , as you see on the screenshot were similar. At least on a 'feeling' point of view. Thanks for testing. Looks like there is not much to gain, at least not when the system is not heavily loaded. -- Jon Nordby - www.jonnor.com ___ Mypaint-discuss mailing list Mypaint-discuss@gna.org https://mail.gna.org/listinfo/mypaint-discuss
Re: [Mypaint-discuss] Howto performance tests
Here is what I observe, drawing circles at full speed. MyPaint 1.0.0: http://maxy.homeip.net/misc/mypaint-1.0.0_gtk2_inputtest.png MyPaint git: http://maxy.homeip.net/misc/mypaint-git_ff5480654_gtk3.8.4_inputtest.png I didn't test with different idle priorities yet. -- Martin Renold ___ Mypaint-discuss mailing list Mypaint-discuss@gna.org https://mail.gna.org/listinfo/mypaint-discuss
Re: [Mypaint-discuss] Howto performance tests
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 jag.rabi...@gmail.com wrote: Is useful make also a video showing of Test Input Devices with idle priorities? ___ Mypaint-discuss mailing list Mypaint-discuss@gna.org https://mail.gna.org/listinfo/mypaint-discuss -- Andrew Chadwick ___ Mypaint-discuss mailing list Mypaint-discuss@gna.org https://mail.gna.org/listinfo/mypaint-discuss
Re: [Mypaint-discuss] Howto performance tests
On 9 October 2013 11:32, David Revoy davidre...@gmail.com wrote: Hi, I was away Mypaint testing since spring ( few weeks after LGM ) , because I experienced more and more problems with master , keeping around during weeks, and it was too hard to follow in production. I decided to build Git-master this morning, and run new test. ( attracted by emails from mailing-list, and a PM poke from José Américo Gobbo ). Hi David, please scream loudly when things change in master that cause problems for your workflow. Quick feedback from artists is critical for us. Here are my observations, painting on Git-master : http://i.imgur.com/navr8HE.png ... output lines are angular, laggy and not precise. The lines display fast ; but it's like all the coordinate of the stylus were crunched on the way , or were being recorded without sufficient frequencies. So, I uninstalled, cleaned the folders , and put 1.1 back from Arch package ( 1.1 got also an annoying issue for me in cursor size and offset who got solved in master , I think I'll build a git~master a bit post 1.1 soon for my personal use) Same sketch on 1.1 to compare : http://i.imgur.com/wybB5Mi.png Smooth lines are back, and very sync to what gesture I have in mind. No angular breaks observed, even drawing speedly. To confirm: Between these two screenshots, you only changed MyPaint version right? No changes to GTK+ version or anything else? Could you test a small thing for me on git master? (remember that you don't have to install it, can just run straight from source directory). In gui/canvasevent.py change MOTION_QUEUE_PRIORITY = gobject.PRIORITY_DEFAULT_IDLE to MOTION_QUEUE_PRIORITY = gobject.PRIORITY_HIGH_IDLE + 10 or even MOTION_QUEUE_PRIORITY = gobject.PRIORITY_HIGH Does that make the performance any better? Maybe it's a local bug... I hope. Because it makes my local experience made of frustration, and make me sad, because I was used to Mypaint Git-master very stable and usable since 2009. I hope it's only a local observation, and it can be solved ! Everything can be solved :) And from the information you gave it even looks like the problem is in MyPaint itself, so it should not be too hard. -- Jon Nordby - www.jonnor.com ___ Mypaint-discuss mailing list Mypaint-discuss@gna.org https://mail.gna.org/listinfo/mypaint-discuss
Re: [Mypaint-discuss] Howto performance tests
Angular or imprecise lines are almost certainly this bug: https://bugzilla.gnome.org/show_bug.cgi?id=702392 It didn't happen with older releases of GTK3, but those are dying out now. Regards Martin On Wed, Oct 09, 2013 at 11:32:18AM +0200, David Revoy wrote: Hi, I was away Mypaint testing since spring ( few weeks after LGM ) , because I experienced more and more problems with master , keeping around during weeks, and it was too hard to follow in production. I decided to build Git-master this morning, and run new test. ( attracted by emails from mailing-list, and a PM poke from José Américo Gobbo ). Here are my observations, painting on Git-master : http://i.imgur.com/navr8HE.png ... output lines are angular, laggy and not precise. The lines display fast ; but it's like all the coordinate of the stylus were crunched on the way , or were being recorded without sufficient frequencies. So, I uninstalled, cleaned the folders , and put 1.1 back from Arch package ( 1.1 got also an annoying issue for me in cursor size and offset who got solved in master , I think I'll build a git~master a bit post 1.1 soon for my personal use) Same sketch on 1.1 to compare : http://i.imgur.com/wybB5Mi.png Smooth lines are back, and very sync to what gesture I have in mind. No angular breaks observed, even drawing speedly. Maybe it's a local bug... I hope. Because it makes my local experience made of frustration, and make me sad, because I was used to Mypaint Git-master very stable and usable since 2009. I hope it's only a local observation, and it can be solved ! ( ArchLinux 64bit / XFCE 4.10 without compositing / i5 2.4Ghz, 4GB ram, Intel HD ) -David ___ Mypaint-discuss mailing list Mypaint-discuss@gna.org https://mail.gna.org/listinfo/mypaint-discuss -- Martin Renold ___ Mypaint-discuss mailing list Mypaint-discuss@gna.org https://mail.gna.org/listinfo/mypaint-discuss
Re: [Mypaint-discuss] Howto performance tests
I've did the test on new box with ubuntu gnome 13.10 devel, the git version is 1.1.0+git8cbd0ad I've synchronized yesterday with the MyPaint Git Master. While the test ran on terminal many errors have occurred because didn't find the 'Mypaint_Default.gpl' on /palettes. But the palette name and /palettes folder were OK. --- I'm interested to do this tests with two releases... the 1.1 Mypaint PPa and the last Git Master. For me seems that the last git master have delays in the brush strokes if I compare with 1.1 Mypaint PPa. The idea is to make tests in different distros with the same Mypaint releases. I've ubuntu gnome 13.10, elementary OS 0.2 and linuxmint 15 kde. ... J. Americo Gobbo [Painter and Illustrator] Website http://americogobbo.com.br | Bloghttp://americogobbo.blogspot.com| Flickr http://flickr.com/rabisco | Twitter http://twitter.com/rabisco | Facebook http://www.facebook.com/americogobbo On Sat, Oct 5, 2013 at 3:31 PM, Jon Nordby jono...@gmail.com wrote: On 5 October 2013 19:29, José Américo Gobbo jag.rabi...@gmail.com wrote: Hi all, I've interested to know how I can do tests of MyPaint performance in the last git master compared to MyPaint 1.1 official. The features on Help Debug are capable to do theses tests? No, there is no UI for triggering these tests. Check out the version you are interested in testing from git and do: scons python2 tests/test_performance.py -a The tests will take a couple of minutes, and you should not use the computer in that period to avoid disturbing them. -- Jon Nordby - www.jonnor.com --- running test memory_zoomed_out_5x (run 1 of 3) --- FAILED --- running test scroll_nozoom (run 1 of 3) --- FAILED --- running test paint_rotated (run 1 of 3) --- FAILED --- running test scroll_zoomed_out_1x_onelayer (run 1 of 3) --- FAILED --- running test save_png (run 1 of 3) --- result = 0.482486963272 --- running test save_png (run 2 of 3) --- result = 0.482146978378 --- running test save_png (run 3 of 3) --- result = 0.482625007629 --- running test startup (run 1 of 3) --- FAILED --- running test memory_after_startup (run 1 of 3) --- FAILED --- running test scroll_zoomed_out_2x_onelayer (run 1 of 3) --- FAILED --- running test brushengine_paint_hires (run 1 of 3) --- result = 1.845277071 --- running test brushengine_paint_hires (run 2 of 3) --- result = 1.84461808205 --- running test brushengine_paint_hires (run 3 of 3) --- result = 1.5907516 --- running test paint (run 1 of 3) --- FAILED --- running test save_ora (run 1 of 3) --- result = 1.34481406212 --- running test save_ora (run 2 of 3) --- result = 1.34397697449 --- running test save_ora (run 3 of 3) --- result = 1.33932304382 --- running test scroll_zoomed_out_5x (run 1 of 3) --- FAILED --- running test layerpaint_nozoom (run 1 of 3) --- FAILED --- running test paint_zoomed_out_5x (run 1 of 3) --- FAILED --- running test scroll_nozoom_onelayer (run 1 of 3) --- FAILED --- running test layerpaint_zoomed_out_5x (run 1 of 3) --- FAILED --- running test save_png_layer (run 1 of 3) --- result = 0.249056816101 --- running test save_png_layer (run 2 of 3) --- result = 0.249548912048 --- running test save_png_layer (run 3 of 3) --- result = 0.245433092117 --- running test save_ora_again (run 1 of 3) --- result = 1.12636113167 --- running test save_ora_again (run 2 of 3) --- result = 1.11291503906 --- running test save_ora_again (run 3 of 3) --- result = 1.12129497528 --- running test load_ora (run 1 of 3) --- result = 1.56550788879 --- running test load_ora (run 2 of 3) --- result = 1.5438849926 --- running test load_ora (run 3 of 3) --- result = 1.54660606384 === DETAILS === tests = ['memory_zoomed_out_5x', 'scroll_nozoom', 'paint_rotated', 'scroll_zoomed_out_1x_onelayer', 'save_png', 'startup', 'memory_after_startup', 'scroll_zoomed_out_2x_onelayer', 'brushengine_paint_hires', 'paint', 'save_ora', 'scroll_zoomed_out_5x', 'layerpaint_nozoom', 'paint_zoomed_out_5x', 'scroll_nozoom_onelayer', 'layerpaint_zoomed_out_5x', 'save_png_layer', 'save_ora_again', 'load_ora'] results = [[], [], [], [], [0.482486963272, 0.482146978378, 0.482625007629], [], [], [], [1.845277071, 1.84461808205, 1.5907516], [], [1.34481406212, 1.34397697449, 1.33932304382], [], [], [], [], [], [0.249056816101, 0.249548912048, 0.245433092117], [1.12636113167, 1.11291503906, 1.12129497528], [1.56550788879, 1.5438849926, 1.54660606384]] === SUMMARY === memory_zoomed_out_5x FAILED scroll_nozoom FAILED paint_rotated FAILED scroll_zoomed_out_1x_onelayer FAILED save_png 0.482 startup FAILED memory_after_startup FAILED scroll_zoomed_out_2x_onelayer FAILED brushengine_paint_hires 1.778 paint FAILED save_ora 1.339 scroll_zoomed_out_5x FAILED layerpaint_nozoom FAILED paint_zoomed_out_5x FAILED scroll_nozoom_onelayer FAILED layerpaint_zoomed_out_5x FAILED save_png_layer 0.245 save_ora_again 1.113 load_ora 1.544 ___ Mypaint-discuss mailing list Mypaint-discuss@gna.org
Re: [Mypaint-discuss] Howto performance tests
On Sun, Oct 6, 2013 at 4:09 PM, José Américo Gobbo jag.rabi...@gmail.comwrote: While the test ran on terminal many errors have occurred because didn't find the 'Mypaint_Default.gpl' on /palettes. But the palette name and /palettes folder were OK. Well, I've download the source of MyPaint 1.1 [from http://download.gna.org/mypaint/mypaint-1.1.0.tar.bz2] and make the same test... all is ok. But with MyPaint Git it seems this application test don't works. ... J. Americo Gobbo [Painter and Illustrator] Website http://americogobbo.com.br | Bloghttp://americogobbo.blogspot.com| Flickr http://flickr.com/rabisco | Twitter http://twitter.com/rabisco | Facebook http://www.facebook.com/americogobbo ___ Mypaint-discuss mailing list Mypaint-discuss@gna.org https://mail.gna.org/listinfo/mypaint-discuss
Re: [Mypaint-discuss] Howto performance tests
On 6 October 2013 21:09, José Américo Gobbo jag.rabi...@gmail.com wrote: I've did the test on new box with ubuntu gnome 13.10 devel, the git version is 1.1.0+git8cbd0ad I've synchronized yesterday with the MyPaint Git Master. While the test ran on terminal many errors have occurred because didn't find the 'Mypaint_Default.gpl' on /palettes. But the palette name and /palettes folder were OK. Yes, I just ran the test myself and it was broken. Quick hack is to change palettes to ../palettes in gui/colors/adjbases.py I'm interested to do this tests with two releases... the 1.1 Mypaint PPa and the last Git Master. For me seems that the last git master have delays in the brush strokes if I compare with 1.1 Mypaint PPa. The idea is to make tests in different distros with the same Mypaint releases. I've ubuntu gnome 13.10, elementary OS 0.2 and linuxmint 15 kde. Yes, current git master have delays in brush strokes. See discussion https://mail.gna.org/public/mypaint-discuss/2013-08/msg00011.html Unfortunately the GUI perf tests do not pick up this regression. Probably either cause they do not inject the input events high enough in the stack, because they don't measure latency, or another weakness in the test. -- Jon Nordby - www.jonnor.com ___ Mypaint-discuss mailing list Mypaint-discuss@gna.org https://mail.gna.org/listinfo/mypaint-discuss