Instability in outliner if there are more than a few component instances in the model

Regularly I have SketchUp hanging, when working with the outliner.
Now took the time and I did some testing and found a reproducible case with a simple model.
I can reproduce the issue on two different laptops running SketchUp Pro 2022 on Win 10 home.

Steps to reproduce:

  1. open the attached file outliner_test.skp. It is less than 0.5 MB
  2. open the outliner. You will see 4 instances of the same tree component (downloaded from 3D warehouse).
  3. in the fly out menu, choose expand all.
  4. wait until the tree is fully expanded. The scroll bar slider should now be at the very end.
  5. Using the mouse, grab the scroll bar slider and move it a bit up and down. The scrolling should work as expected. You can also go into edit mode for a tree component, etc.
  6. Now grab the scroll bar and move it completely to the top. First it looks as it would work, but then SketchUp seems to go into an endless loop not giving back control to the user anymore.

In case you cannot reproduce, add two or three more tree instances and try again.
If this can be reproduced on other machines, please fix.

Even though there are quite a few sub-component instances, SketchUp should never hang. Memory consumption of this model is only 360MB.

The same behavior you can also get, when using the filtering and then you remove the filter again.

outliner_test.skp (451.2 KB)

I don’t see SketchUp freezing, but The Outliner to expand to the more than 16 000 lines required, something like a lengthy novel, doesn’t happen in a flash. SketchUp 2022.
Recent SketchUp versions included a boost on Outliner performance so I wouldn’t try this on older ones.

The tree component seems to be designed to bring SketchUp to its knees, though.

Expanding the hierarchy takes about 15 seconds.
So when pushing the scroll bar slider with the mouse in one go all to the top, you do not get a “hang”?Good.
May I ask, what machine you have (CPU/RAM)?

btw, this tree is used in a real project we have at the moment. I did not search for something special in 3D warehouse to show the issue and bring SketchUp to the knees.

I tried to repeat your observed behavior with outliner by tripling the number of trees. Using the expand all command took several minutes to complete, at which time I was able to scroll the list. Machine specs are in my profile.

Your simple model is anything but simple and will bring most installations of SketchUp to its knees :grinning:

If I need great looking trees in my visuals I use Vray proxies which look fantastic but do not overload SketchUp while modelling.

Maybe that’s something you could look into.

The Asrock X570 Taichi is definitively faster than the CPU Intel(R) Core™ i7-3630QM CPU @ 2.40GHz, 4 core, 8 logical processors with 8GB RAM I am using.
What takes a few minutes on your machine may take hours on mine. I will get a new machine soon and then see, if it improves the situation.

Your results may vary, my PC is a white box, custom built.

With simple I mean it is an efficient and small model (less than 500kB) of a tree that looks good in SketchUp. Also modelling a full mutli storey house with all furniture, construction details including such trees does not cause a major problem in SketchUp. When hiding the trees, modelling is smooth (I could even do with the trees visible). But it does cause issues in the outliner, because there you always see all objects, even, if they are linked to tags that are invisible. It is a pitty, that the SketchUp viewport can cope with it, but the outliner is the bottle neck.

I am using VRay (and like it a lot) and know the proxies. But the disadvantage is that these proxies do not look like in reality. Meaning, if I (or customers) want to see quickly the trees with leaves, I have to render in VRay. And this in turn takes more time than making these lightweight trees visible in SketchUp. Or imagine doing a walk around.
I could use Enscape or VRay Vantage. But for this I also need a much stronger graphics card than I currently have. We always can add more and more iron - and I will ;-).
But the outliner performance issue will not go away with this, because it is directly linked to the number of objects in the model - independent, if they are visible or not and independent, if there are a lot of top level instances/groups with a few subcomponents or a few top level instances/groups with many sub components/groups. As soon as you expand the hierarchy more and more, your risk ending up in a performance problem or even hang, without being warned by SketchUp.

I tested on a 3 years old Asus ultrabook with a 2-core i7 processor (Intel(R) Core™ i7-10510U CPU @ 1.80GHz…2.30 GHz) and GeForce MX250 graphics. No powerhorse.

Compared to the Asus K75V with a 3rd generation i7, where I tested, it is :wink:

I submitted a Feature Request some time back that SketchUp allow users to “lock” components against expansion when the “Expand All” Command is used in Outliner. There was no interest, yet I feel it would help quite a bit in situations like this. Does any user (besides the original tree modeler) really want to see every single leaf component on that tree displayed in Outliner? My guess would be, in general, no.

When I use a 3DW component, I vet it outside my own model. Once I am happy with it and insert it into my model, I never want to see the internals of it again. In your case, those four trees make Outliner unusable as soon as you execute “Expand All.” What happens to you happens to me—click on my icon if you want to see my specs.

The SU Team likes “use cases” when deciding whether to put a feature request “on the list.” I don’t think my request is on the list, but I didn’t have a “use case,” other than my opinion that this would be a very helpful feature for those of us who have Outliner open all the time while modeling. Perhaps you could make a Feature Request?

My solution to your issue has been to explode the component down to raw geometry and then make the whole thing a component. This increases the component file size substantially (each of your trees completely exploded is 1MB) but at least using Outliner is no longer a nightmare.

I agree.
I already created a Feature request a few days ago before reporting this case. It includes a use case.
See here:
Add tag of objects in outliner, allow sorting also by component name and tag - SketchUp / Feature Requests - SketchUp Community

In general, I do not modify 3DW components, if they are not too heavy in size. Like this I do not have to keep a local 3DW repository copy.

The complete project I have is a model of a house with all details (furniture, plants, garden, windows, doors, solar panels, technical installations, etc.) and it is only 37MB large. It is all good, except the outliner performance issue.

I like the idea of preventing a drill down into locked objects. I would even say, that the existing “lock” flag should be used for this. If the drill down shall only be prevented for “expand all” or in general, I leave up to the SketchUp team.
A use case for this is the “import a visual reference model from Trimble connect”. See the menu option" File->Trimble connect → Import visual reference model".
If you import a model as a reference, then this model is a locked object and is added as well to the outliner. When I import the surroundings (including trees, plants, streets, neighboring houses) into my model as a reference, I expected to get one entry in outliner where I cannot drill down. But instead I get the full object hierarchy of the reference model in my outliner making it unusable.

I will add this to the Feature request.

FYI, your Third Wish: “add option to hide objects that belong to invisible tags” was how Outliner worked in SketchUp 2018. Outliner items corresponding to invisible Tags were not visible. This feature was eliminated as it seemed to cause confusion among users who wondered why their components were disappearing from Outliner. So, don’t expect much of a positive reaction on that one—I had asked for that to be brought back as an option in my own ‘Feature Request,’ together with the option of locking the components against expansion.

You can view my Feature Request and the responses here, and I do hope you have better luck: Outliner Suggestions

I would add that „wish 3“ option in the same context menu, where you can choose the sort by name, etc… Why hiding something that can be used or changed frequently? Users are mature nowadays :wink:

Lets hope it will be done with this attempt.

Regarding the link pointing to a later reply than the initial post:
I just figured out, that you have to copy the url when clicking on the reply/entry where you want to jump to. the link you pasted contains a “/2” at the end and this means the second entry in that post:
So use:

(https://forums.sketchup.com/t/outliner-suggestions/189596)

instead of

(https://forums.sketchup.com/t/outliner-suggestions/189596/2)

to jump to the initial post.

1 Like

Never noticed that, thanks.