Performance issue

I’ve deleted the components with images (saving 4MB in file size), and also turned off layers with high edge counts from railings.

Moral: the railings should be on a layer of their own, so they can be turned off for normal modelling, and only turned on for viewing. And I’ve made a low poly version that uses a small image for a texture, containingg one railing and a transparent space between railings, which is a much ‘lighter’ component than the existing DCs. And the image should be reduced sharply in size, and also put on a separate layer to turn off when not needed.

The submodel performance has been transformed. Neither change alone was enough, but the combination has worked well.

Although the Arch 24 submodel has some of the same images (though fewer of them) they were on layers turned off, so didn’t affect performance much.

Hmm, it looks like the railings will have to be replaced, or at least turned off most of the time. I actually did this for the sub-apartments levels F01-F03 with an “Outer Railings and Ramps” layer for each level, but I didn’t continue it for the higher levels from F04 up, thinking turning off the floors the railings were in was enough.

It seems the floors may need reworking anyway, to fit better with the new plaza walls. This might be the time to redo the terraces with component stringer and include the reduced impact railings in them instead of the overall floor, and plot them with component stringer too. I believe when I was looking at the component browser’s details I saw a railing with over 7,000 edges alone, so that could be a major issue if accumulated. Low walls around all the terraces would have been a lot simpler and easier to create, but would have meant a more uniform appearance without differentiation on the terraces so easily observable. Also, a thicker wall vs. a thin metal railing.

I’m still a bit surprised it is such an issue, particularly in a much smaller model, since I just went through levels F49-F75, fixing the inner courtyard separator walls which are perpendicular to the F34 - Mid-courtyard apartments wall (see below about renaming this), which meant turning on all those floors including railings and I had no real difficulties other than momentary video lags. Of course, I went through your levels to do that too, but I was working on the floors only. I can re-export those for you if you haven’t already worked on them, or else re-replace the separator walls into your submodel before I import it into the main model.
The inner courtyard terraces on the outer side were a mess and had to be worked on as part of the whole, including renaming the F3 - Mid-courtyard apartments wall to F34 - Mid-courtyard apartments wall, which reflects the level it actually started on. I can make this change to your submodel too unless you can do it.

As you can see, it is quite difficult NOT to work on the levels overall when fixing things, so I hope your submodel work will not take too long.

But I will try to focus on the higher levels today. I’m on F76 floor now and should be able to knock that off pretty quickly and then make further adjustments to the edge apts. on F77, then go up again from there.

Anyway, continue what you’re doing, but realize that the plaza terraces, at least, will all have to be redone not just for the railings, but for size and position relative to the plaza walls and the adjusted floors behind them, done by either you or me.

End of night shift.

switching off eye candy (shadow, transparency, x-ray) and using a simple style during modelling is evident. Ensuring that the model is near the model space origin is - especially after a DXF/DWG import w/ option “Preserve Drawing Origin” enabled - not always obvious.

We’re doing that already, but it is always useful to remember to do it while modelling.

No DWG imports here, and the model is already close to the origin - though it is big in human terms, it starts ON the SU World origin, and the extremities are only about 1000’ away.

When working with large models, I try to keep the hierarchy as simple as possible. A large list of unique component definitions, materials, layers seem to take a lot more time in SketchUp, when opening the component browser for instance, compared to a much smaller list.

I try to merge (explode) things, to keep the number of unique elements down (component definitions, groups, materials, layers). For instance;

  • Imagine a restaurant with 100 tables where each table has 4 chairs.
  • The table could be a component, the chairs as well. You could go even further (seen before in the 3dWarehouse) and split up the chair and table into 2 mirrored halves as well adding more unique components to the definition list;
  • the number of unique components in this case would be; 1 for the complete table, 1 for just a mirrored half. Same for the chairs. Total = 4.
  • An alternative would be to just explode the table and 4 chairs into 1 component (and maybe keep the above structure in a separate file in case you need to alter the table/chair at some point). Total = 1

The difference in unique components for a fully furnished restaurant could be huge.The same logic can also be applied to the layers and materials.
I always try to ask myself; does this really need to be unique or can it be exploded/merged, can an existing material / layer be re-used?

Not sure if its related but maybe this could help.

It is certainly relevant. It’s a point that I hadn’t really taken on board fully, though in a few cases I have been doing what you suggest but more as a side effect of reducing edge and face counts, not aiming at the component counts.

I like using components to keep things separate, organized and editable, so there’s a deep level of nesting in some places, and once we have the shape finalised, some of the levels could indeed be exploded.

For some components like Dynamic Component railings with many many instances of the vertical spindles (which pushes the edge count WAY up), I have worked to simplify them. Haven’t yet had time to replace all of the original DCs though. (I plan a separate post about that soon).

And in some other cases like furniture and bathrooms I’ve worked hard to simplify grossly over-detailed 3D warehouse models. But mainly aiming to reduce edge and face count, not the number of component definitions, though that has happened to some extent as a side effect (see Simplifying 3Dwarehouse models for use as entourage.

But I have not systematically thought about exploding other sorts of components with multiple levels of nesting, to reduce the overall number of component definitions and instances, which is very large even in some sub-models, let alone the full building model.

I’ll give that further thought and analysis.

Thank you very much for the comments - they are definitely useful food for thought and action.

As has been said, over nesting slows SU.

How do I make SketchUp run faster? — See the SketchUp Sage Site

https://sites.google.com/site/sketchupsage/faster

Thank you for the link. We are already doing quite a lot of that, but even so, continue to have slowdowns, which we are still working to reduce. And there are some things in that article I either didn’t know, or whose impact I’m only slowly beginning to appreciate fully. In an experiment with one particularly slow but not very large submodel, I found that as I increased the number of levels being included in the submodel, there was a slow deterioration in performance up to a point, then it slowed DRASTICALLY with the addition of just one more level of floor being included.

Presumably, at or about this point SU started to have problems, though it doesn’t seem to be a matter of switching from in-memory processing to disk swapping. The CPU was just going flat out.

I experimented with this but am probably missing a step or more.
First, I copied to a submodel a collection of terrace furniture with fairly complex components and geometry. Despite this I will never need to turn these items on/off separately, not separate them for any reason.
Here is the original screenshot and stats:

Then, I exploded the lot after doing Alt-A to get them all. Here is the result:

Not much difference. Do I need to identify and explode each component separately? That could take quite a while even with just this 3D warehouse submodel. I have hundreds of 3D warehouse items in my main model. The component list is so huge it takes up to 10 minutes to load it even on my top-of-the-line iMac. John’s machine is only slightly slower, but SU has hit a wall and there are some things he cannot do at all. Just loading the 300MB main model has become almost impossible for him, and manipulating it is basically impossible. I can still navigate and do things as long as most ites are turned off in layers, but even my 4GB video card is balking at large rotations etc.

I don’t want to just transfer the load form one kind of operation - like loading a large component list - to another - like loading a large layer list. What is the best way to proceed, keeping in mind that the model size may double before we are through with it? We have other submodels, which are useful, but I keep having to work on the building as a whole to make wholescale changes throughout, due to the unique - and sometimes surprising - design. I will read your links shortly. Thanks!

Thanks for the link. We are doing most of this, though perhaps not as ardently as we should. There are now apx. 500 layers in the main model, most of which are off most of the time. We have over half a dozen scenes too, but there is a persistent problem with them: it seems some components appear in some scenes and not in others even when they are part of a larger logical set, e.g. all columns, that have been turned on when saving the scene or updating it. For example, I discovered half a floor’s worth of columns was off in a scene while the other half was on, even though both were in the same originally mirrored set of columns for a floor that was turned on in the model when the scene was saved.
I’ve had too many examples of this to still believe it was my fault for neglecting to save components in a scene. And I’m pretty sure components have been re-created unnecessarily or even duplicated in different scenes because of this bug.
The model is over 300MB already and could double when done. Tracking down and replacing components and managing the complexity is dramatically slowing down the modeling - it’s been a year already. Any help is GREATLY appreciated. Thanks!

Most likely, therein lies much of the performance problem.

Populating your model with entourage directly from the 3DWH is risky business.
As you’ll read in this topic:

Best Practice:
Never download 3DWH content directly into your model.
Always download components as separate files for inspection and cleanup.
Organize the entourage models in a collection folder, then import to your model.

I’m willing to take a look.
Check your PMs.

Having used models from the warehouse, you’re dealing with all kinds of different model strategies and levels of knowledge at the same time. I’m afraid, the only way to get to the bottom of this is to methodically inspect everything.

To quickly find the setup of the components I would use the Outliner. Just use ‘expand all’ and you might find deeper nested sub-components more easily.

Also, TIG’s purge could clean up your file better than the normal PurgeUnused so I would try that as well.

Finally, Adam’s Goldilocks might help in finding textures that have a very high resolution compared to the objects’ size.

Doing the above steps with the complete model, you might loose a lot of time (because SketchUp has to build large lists of hierarchy all the time) so maybe you can split up the file in smaller chucks?

Good luck!

I’ve used Goldilocks to find some over-large textures, and that helped some.

Also, the component called World Windows (images on internal walls showing the outside world) has more detail than is normally useful, and has hundreds of instances (as well as two definitions, by accident).

I’ve suggested to Scott that he should at least put the World Windows on a layer that can be turned off, and also that the component should be replaced with one with far smaller pictures, which can be ‘replaced’ with the high res one when it’s needed to show close up in some views later. But that image, and the terrace railings, seemed to cause a dramatic slow down once the number of floors went over a threshold in a submodel. Can’t remember the numbers exactly, but approximately what happened was that with up to (say) nine floors in a submodel, it slowed down gently but progressively, then at 10-11 floors, timings went from seconds to minutes very suddenly, and the CPU was going flat out. (My post above on 19 Oct gives some timings).

You don’t save components in a scene. You can only (depending on ‘Save Layers’ setting in the ‘Scene Manager’) save layers.
Needing to copy components to have them shown in the desired scene suggests to me that you add unnecessary geometry to your model and that at some point you messed up assigning layers properly. Hence an unnecessary growing model to over 300MB?

Not as simple as that - there really is a lot in the model - but it probably makes a small but significant contribution.

Though I only just skimmed over the posts, I haven’t noticed any mention of graphics card. I know when I was having problems with a model moving like molasses whenever I turned shadows on, I researched and found a website recommended by a sage, and learned that I had an ill-suited card. I replaced it with an NVIDIA GeForce GTX 760, which was the best balance of price an performance. What a difference!!! Sorry I don’t remember the site, but it shouldn’t be hard to find…

Here is what I have. John has the previous generation, which is almost as good:
AMD Radeon R9 M395X 4096 MB

Actually, the video is reasonably responsive as long as I turn off most layers, but as John pointed out, at a certain point, SU can’t catch up and the CPU goes into constant processing - 95% or higher - and stays there, with very sluggish results. The disk performance may be a similar bottleneck.

I think with some rigorous elimination of duplicate components, simplifying the 3DW entourage, and maybe pruning a bit of unnecessary geometry, we could reduce the file size by maybe 20%, and the edge and face counts by 30%.
I think this snapshot of the 82nd level will give you some idea of what we’re dealing with. See the little man just above the stats info box for some idea of the scale. Most levels are not completely filled in and even if they are, it’s mostly simple walls. But terrace railings, entourage, hundreds of windows and doors all add up:

I havent read this entire thread but I do find myself in very similar positions to you in my models (which are detailed buildings & site plans).

I’d start with 3d warehouse bits & pieces …delete all furniture & other accessories and see if the model runs very fast. …some 3dwh models are generated using geometry from OBJ files and other formats which have lead to things like every leaf on a tree being a unique component. . Also, some components have silly basepoints or are within empty shell components that do things like simply flip the geometry. Difficult to detect but can noticeably slow things down

  • IFC classifications seem to slow down my model to a crawl, particularly for components that came from other BIM software. This isn’t just to do with the number of components but somehow it’s that they’re referenced/organised in the component or model differently - I’m not sure about why this is. Archicad’s IFC system seems a real problem. A component may be simple and look tidy, but have something dark and menacing hiding within the invisible parts (non geometry).

  • When copying and pasting there’s some ‘practical’ limit to how much data can be stored in the clipboard and how fast it responds when full.
    I notice strange behaviors in windows, for example to Drag+Copy a large component is fast/instant, but copying & then pasting the component takes much longer. (even with a very fast PC and M.2 SSD). Perhaps Mac has a clipboard that can be emptied or sped up somehow? I guess you’re not running out of system ram?

  • Hi res Image files get pretty heavy, particularly PNG and others with extra info like georeferencing (JPG2000). You can adjust the Sketchup transparancy quality as well in preferences., and untick “use high resolution textures” while you model. A better video card will help if you are using lots of textures. PCs, and ai guess Macs, have video adjustments in the hardware that allow you to optimise for performance or quality…try the performance setting.

  • One final note…if you are using Layout to document the project, do test it along the way…I have a seemingly simple project (6 houses) that I’ve now finished and ready to document, but each scene takes 30 mins+ for Layout to render in Vector Mode. I’m unsure why this is when Sketchup can display the model in shaded or wireframe view instantly.

If you want to send me a link to your model I can quickly inspect it and see if it runs well on my PC…and something in particular might just stick out to me as a problem.

This topic was automatically closed 91 days after the last reply. New replies are no longer allowed.