Hi all (and Johan in particular because it regards one of your commits),
apparently rev #18921 introduced a significant slowdown in Inkscape's startup procedure (that's what git-bisect says). I'm not sure what the issue really is but after starting Inkscape, my CPU stays extremely busy for about 20 seconds or so. During that time, drawing operations and other actions respond considerably more slowly.[1] After about 20 seconds, everything seems to work as usual again, and all operations are reasonably fast. Anyone else seeing this?
Here is a typical backtrace after interrupting Inkscape in gdb:
#0 0x08241eb2 in Geom::D2Geom::Bezier::D2 () #1 0x08241ff6 in Geom::BezierCurve<1u>::BezierCurve () #2 0x082420b6 in Geom::Path::Path () #3 0x084d6ea8 in Geom::Path::operator* () #4 0x087fc9af in Geom::operator* () #5 0x084859e9 in nr_arena_shape_update () #6 0x0847cf70 in nr_arena_item_invoke_update () #7 0x0847ec8f in nr_arena_group_update () #8 0x0847cf70 in nr_arena_item_invoke_update () #9 0x0847ec8f in nr_arena_group_update () #10 0x0847cf70 in nr_arena_item_invoke_update () #11 0x0847ec8f in nr_arena_group_update () #12 0x0847cf70 in nr_arena_item_invoke_update () #13 0x0847ec8f in nr_arena_group_update () #14 0x0847cf70 in nr_arena_item_invoke_update () #15 0x084283c2 in sp_icon_doc_icon () #16 0x084291ee in load_svg_pixels () #17 0x084292f9 in prerender_icon () #18 0x08429d24 in icon_prerender_task () #19 0xb7340c91 in ?? () from /usr/lib/libglib-2.0.so.0 #20 0x00000000 in ?? ()
Note the several calls to nr_arena_group_update() and nr_arena_item_invoke_update(). The precise 2geom routines usually vary, but I see these two calls consistently during the slowed down phase.
Hope this helps; it would be nice to have it fixed (I need to start Inkscape pretty often for testing, and this slowdown makes it quite annoying).
Many thanks, Max
[1] I first noticed this by drawing a star and converting it to a path (Shift+Ctrl+C) directly after startup, during which the cursor kept its hourglass state for about 15s. It doesn't seem to be related to path conversion, though.