Extensions slow / crashing Inkscape
I have produced the O-scape extensions to enable the creation of Orienteering maps using Inkscape.
I am producing a map of an urban area, which is larger than A3 paper size at 1:4,000. The SVG file is currently 2,126KB with over 3,200 objects (and counting) and has three linked (not embedded) image files; two maps and aerial imagery from Google Maps.
Most of the map has been produced using standard Inkscape functionality for lines and shapes. Now, though, when I want to convert a line to a special line type (such as a tagged line representing a fence), the extension runs very slowly and sometimes crashes Inkscape. Sometimes Inkscape 'loses' the aerial imagery, instead displaying a low res image saying 'Linked image not found' at which point I can save and exit normally. Other times, Inkscape crashes with the following message - 'GLib-Error **:gmem.c:175: Failed to allocate 134217728 bytes aborting...'. I've tried running other extensions, not just my O-scape ones, with the same results.
I'm running Inkscape in Windows Vista Home Premium on an Intel Core2 6600 @ 2.40GHz computer and have recently increased the available RAM from 2GB to 4GB.
Am I reaching the limit of Inkscape? Is there some way that I can alter my set-up to a) make extensions fun faster, and b) stop the extensions losing the linked files or crashing Inkscape?
Jon
On Wed, 29 Dec 2010 17:28:28 -0000 "Jon" <jon@...2711...> wrote:
Am I reaching the limit of Inkscape? Is there some way that I can alter my set-up to a) make extensions fun faster, and b) stop the extensions losing the linked files or crashing Inkscape?
Split things into layers and keep unneeded layers turned off - I'm sure you do that already, but are there additional ways you can leverage that approach?
Maybe do some diagnoses to work out where the slowness is. Inkscape gives the python extension access to a DOM, which the extension manipulates and returns. How is the run time broken up between:
- user clicking go or whatever they do - python code starting to execute (before it starts working on DOM) - python code read DOM - python code doing its stuff - python code returning DOM
Can you get a handle on the memory consumption profile during these different stages?
How do you handle the XML in python? lxml presumably - but maybe SAX would be faster than DOM?
Just some things to consider.
Cheers -Terry
participants (2)
-
Jon
-
Terry Brown