Re: [Mypaint-discuss] Howto performance tests

2013-10-20 Thread Andrew Chadwick
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

2013-10-19 Thread Andrew Chadwick
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

2013-10-17 Thread David Revoy
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

2013-10-17 Thread Jon Nordby
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

2013-10-16 Thread Martin Renold
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

2013-10-16 Thread Andrew Chadwick
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

2013-10-15 Thread Jon Nordby
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

2013-10-10 Thread Martin Renold
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

2013-10-06 Thread José Américo Gobbo
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

2013-10-06 Thread José Américo Gobbo
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

2013-10-06 Thread Jon Nordby
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