how are objects selected, faster w/new renderer?

This is NOT a support forum. You are welcome to discuss software issues here, but all issues should be reported on Launchpad if you want them fixed.
User avatar
brynn
Posts: 10309
Joined: Wed Sep 26, 2007 4:34 pm
Location: western USA
Contact:

how are objects selected, faster w/new renderer?

Postby brynn » Sun Nov 20, 2011 7:40 pm

Hi Friends,
I realize I'm asking a question for which the answer may be too difficult for me to understand. But I'm hoping to learn that the new rendering thing (Cairo? engine?) might solve my issue.

I'm working on what is already over 6.5 MB image, and is not even half finished yet (although maybe close to half). I'm already having performance issues, and on the verge of splitting things out into layers to try and help. And of course I'm using Vacuum Defs, and trying to use as few nodes as possible.

Anyway, I have say 3 duplicated objects all stacked on top of each other (a flower petal, a shading object and a highlight object) and on top of that, a larger object which is comprised of all the petals (duplicated and unioned) which will be a shadow from a leaf that's behind it, but partially flopping over the flower and throwing a shadow. I can make a screenshot if necessary. And I have all these grouped....I guess it's called nested groups. The 3 identical petal objects are grouped (group of 3 paths), then all the petal groups are grouped (group of 16 groups), and then that's grouped with the unioned shadow object (group of 2, one group and one path).

In order to select the petal shading object (3rd from the top), I have to use Alt + click, click, click, with the Node tool. It's a fairly small flower (approx 100 px square) so I have to use some zoom to be able to eventually select the proper node. But because of the huge file and various reasons that create the (expected) slowdown, it takes a while for Inkscape to make the selection. The Alt + click, click, click, happens as fast as you can say it. But it takes 30 seconds to a minute for all the nodes of my target object to be displayed. If I have to select say 5 or 6 object down in z-order, it can take 1 to 2 minutes, depending on the objects involved.

But sticking with this 3rd object from the top -- what I notice after click, click, click, is that the top object's nodes are displayed (slowly from the top down), then the next object down nodes are displayed (slowly from top down), and then finally the object I need is selected so that the nodes are displayed. I notice a similar thing when using the Selection tool in other situations. It's not quite as slow as the Node tool. But still, each object along the z-order actually gets selected before finally the target object is finally selected.

My question is why does Inkscape have to actually select each object? Why can't it take the cursor placement, clicks, keystrokes, and calculate which object is the target, and then just select that object? And also, as I already intimated, will the new renderer make this possible? Or will Inkscape still select everything one by one, only much faster than before?

I've noticed that in smaller files, I CAN do Alt + click, click, click, and my 3rd object down gets selected without the other 2 having to be selected. Could it be that Inkscape has to sort of scan through the whole file with each click? I know prkos told me the other day (in another topic) that it's the amount of text in the SVG/XML code that accounts for the file size. (I'm paraphrasing my understanding of her comments.) So if Inkscape has to scan the entire file with every click, then it all makes sense.

Thanks for your help :D

Return to “Discuss Software Issues”