Rendering large complex images

General discussions about Inkscape.
tuomo
Posts: 18
Joined: Tue Oct 02, 2007 3:34 am

Rendering large complex images

Postby tuomo » Thu Jan 10, 2013 2:04 am

I work on boardgame maps that are (to me, at least) large - say 2500x4500 in size, with about a dozen layers, each of which can have 1-20 sublayers. Lots of filter effects, lots of patterns, lots of fonts.

Working with such documents can be trying, as it seems to push Inkscape to the limit - one wrong click and you can send your system off into neverland for 10 minutes of thrashing the CPU, or worse, causing a crash. I've learned the standard tricks to deal with it - save often, think before you click, work in outline mode with no filter effects, don't display layers you don't need to see, etc. (Thanks to those on this forum who have given those hints - they're MUCH appreciated! And if anyone else has more hard-earned lessons, please share!)

Eventually, though, it comes time to render the images as pngs. Here too, there are tricks to be learned - split the image into smallish (600x600) chunks, automate the process using command line entries in a batch file, and stitch the resulting chunks together using something like Microsoft ICE (Image Composite Editor). (Again, I'd be glad to hear more tips)

One thing I noticed recently, though. My old laptop (Windows XP, 3.2 GB of physical RAM, 1.7 GHz CPU) consistently beats my new desktop machine (Windows 7, 2 GB of physical RAM, 3GB of Virtual RAM, two 2.5 GHz CPUs) in rendering speed. Given the specs, it seems that Inkscape REALLY likes physical RAM, at least for rendering to a PNG. Does that jibe with others' experience? The speed difference is enough to make me think about getting a new machine - stupidly, my Windows 7 box can't be upgraded with more than 2GB of physical RAM.

v1nce
Posts: 696
Joined: Wed Jan 13, 2010 4:36 am

Re: Rendering large complex images

Postby v1nce » Thu Jan 10, 2013 8:17 am

> lots of fonts

Do you mean lots of text or lots of fonts.
Usually you don't use more than 3 different font family

> lots of patterns

What type of pattern ? Vector or bitmap ? If bitmap, check the resolution (you probably don't need 600 dpi bitmap if you plan to export at lower res)

> Lots of filter effects

If you're familiar with filters, you can try to fine tune 'em : remove dead branches (FWIU inkscape is dumb and compute every stage even the unnecessary ones), use 0,0, 1,1 for general parameter of filters anytime it is possible (for filters that don't "bleed" outside of initial shape)
Applying filter on a group would be faster than applying for every one of its elements.

> Windows XP vs Windows 7
Are them both 64 bits ?
Illustrator CS6 requirements : 1GB of RAM (3GB recommended) for 32 bit; 2GB of RAM (8GB recommended) for 64 bit

So yes the more RAM the better. Especially with filters

User avatar
brynn
Posts: 10309
Joined: Wed Sep 26, 2007 4:34 pm
Location: western USA
Contact:

Re: Rendering large complex images

Postby brynn » Thu Jan 10, 2013 2:24 pm

The only tip I know that you didn't mention, is using File menu > Vacuum Defs from time to time. It depends how much experimenting you do. When I work on photorealistic images, I can change a gradient 10 times in one session. The leaves 9 unused defs. And gradients are just one example of defs -- other things create defs as well. So depending on your workflow, you might do it daily, or weekly :D

Yes, Inkscape Image RAM!!

Orimdam
Posts: 11
Joined: Fri Jan 25, 2013 7:31 pm

Re: Rendering large complex images

Postby Orimdam » Sat Jan 26, 2013 7:51 am

I have same issue, even using a simple Shader effect (on my latop intel core duo, 2.ghz 4 GB ram) takes from several seconds up to a minute. and all shader effects stacks in time. If I zoom a shaded area then It needs 4-5 minutes to do the work and if in the meantime I try to-do something else, inkscape crash.

would be nice that heavy works will be scheduled in small task with a priority queue (first vector lines and path, then effects on strokes, then gradient/color areas, then bitmaps and finally shaders), optionally giving an Adam 7 interlacing option to shaders will allow to see a fast preview even if the full resolution computing will need further minutes to get complished.

A upscale/downscale from last view would be nice while waiting the view to update with new content. So that I can continue editing while in backgroud I see changes come to light without having to wait the inkscape to unfreeze.


Side note:

Using the "render->gear" plugin, takes a lot of time. And after havin 2/3 gears on the screen inkscape start laggin :/ If i convert them to bitmaps lag reduce, but once they are bitmaps I cannot longer edit them :/

User avatar
brynn
Posts: 10309
Joined: Wed Sep 26, 2007 4:34 pm
Location: western USA
Contact:

Re: Rendering large complex images

Postby brynn » Sun Jan 27, 2013 9:33 am

In the next major version release, 0.49, we're expecting a new renderer, which should resolve many of the performance issues we have now. Although I expect it won't be long before we are challenging even the faster renderer, so we should still remember the tips that I summarized here: viewtopic.php?f=6&t=12160

Orimdam
Posts: 11
Joined: Fri Jan 25, 2013 7:31 pm

Re: Rendering large complex images

Postby Orimdam » Tue Jan 29, 2013 3:56 am

Great :)

Inkscape + GIMP = :*

User avatar
Xav
Posts: 1209
Joined: Fri May 08, 2009 1:18 am
Location: UK
Contact:

Re: Rendering large complex images

Postby Xav » Wed Jan 30, 2013 1:20 am

One other performance tip: keep your window as small as is practical. Inkscape's redrawing speed is related to how much it has to draw, so I keep my window width to about 1/2 of the width of my widescreen monitor and use floating tool palettes, rather than just going straight for the maximise button as so many people seem to. And of course, related to that is to avoid zooming in too much if you can.
Co-creator of The Greys and Monsters, Inked - Inkscape drawn webcomics
Web SiteFacebookTwitter


Return to “General Discussions”