While working on http://klowner.com/wallpaper/christmas_tux_2015 I encountered a very irritating performance issue when attempting to adjust gradients. The issue became progressively worse as I neared completion of the document.
I did some profiling with gperftools and it showed a ton of calls to sp_gradient_to_pixbuf, from there I determined that the gradient thumbnail lists on both the Tool Controls Bar as well as the Fill and Stroke were clearing their entire list of gradients and rebuilding them on each mouse drag event while adjusting gradients on shapes.
I removed the event handlers for the related situations and it increased performance dramatically with no ill effects (at least as far as I can tell).
While working on http:// klowner. com/wallpaper/ christmas_ tux_2015 I encountered a very irritating performance issue when attempting to adjust gradients. The issue became progressively worse as I neared completion of the document.
I did some profiling with gperftools and it showed a ton of calls to sp_gradient_ to_pixbuf, from there I determined that the gradient thumbnail lists on both the Tool Controls Bar as well as the Fill and Stroke were clearing their entire list of gradients and rebuilding them on each mouse drag event while adjusting gradients on shapes.
I removed the event handlers for the related situations and it increased performance dramatically with no ill effects (at least as far as I can tell).
To reproduce, open this file with 600+ gradients klowner. com/wallery/ christmas_ tux_2015/ download/ ChristmasTux201 5.svg
http://
Then using the gradient tool, move the gradient on the nearest penguin's bonnet or something and notice the latency.