Comment 0 for bug 1530198

Revision history for this message
Mark Riedesel (mriedesel) wrote :

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
http://klowner.com/wallery/christmas_tux_2015/download/ChristmasTux2015.svg

Then using the gradient tool, move the gradient on the nearest penguin's bonnet or something and notice the latency.