This sounds amazing.

I spent some time about eight months ago trying to figure out the primary bottleneck with the rather slow gaussian blur filter, thinking it just needed some box-blur optimisations link described in http://blog.ivank.net/fastest-gaussian-blur.html. But turns out the IIR version already takes care of performance at that level.

At which point I noticed that the blur filter was being called multiple times (and more as I increased zoom level) on what I thought should be a single pass. At that point, the code got a bit beyond what I had time to figure out, but I believe I was running into the tile rendering Tav describes. My naive attempts at eliminating it just made everything look awful, so I gave up.

Anyway, what I did learn was (from memory): the blur algorithm itself is *fast*, at least on my (not particularly spectacular) machine. There's nothing particularly wrong with it, and while any optimisations with it might help, the real problem is that it's being run so many times. The same algorithm, run a single time on my 1080p screen, would feel snappy.

So I'm excited to see some experimenting done on this score, and I'd love it if that tile-size setting could remain available. I'm keen to test it, but I don't think I'll get a chance to build the source in the near future.

Will I be able to try this in a nightly build from somewhere (Ubuntu/Elementary OS)?

Thanks, Tav.

 - Bryan

On 31 March 2017 at 08:33, Tavmjong Bah <tavmjong@...8...> wrote:

Hi,

It's been known for a while that rendering when zooming in on an area
with filters is slow. This is due to Inkscape breaking the canvas into
tiles and rendering each tile separately. Filter effects are
recalculated for each tile that they touch. A typical canvas for
maximized Inkscape window on a 1080p monitor is broken into about 25
tiles. If you are zoomed in so that the filter extends over the entire
visible canvas, you are recalculating the filter effect 25 times.

I've added a preference under the "Rendering" tab to change the
relative tile size (Rendering tile multiplier). Please play with
changing the value for your most complex drawings. I am most interested
in cases where a large multiplier has a negative impact. If there are
no cases with a negative impact, I'll set the default value higher (it
is currently 1).

Tav



------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Inkscape-devel mailing list
Inkscape-devel@...1656...784...sourceforge.net
https://lists.sourceforge.net/lists/listinfo/inkscape-devel



--
Bryan Hoyt, Software Developer  --  Brush Technology
Ph: +64 3 741 1204     Mobile: +64 21 238 7955
Web: brush.co.nz