Theory....Layout Viewports: What makes them more efficient

So this isn’t a technical problem post.

Im posting to make sure I understand Layout viewport functionality more precisely.

Hoping this might help others as well.

Im a stacked viewport user. I know most certainly that viewports take computer resources to render the contents of the scene in the model that is assigned to it.

What I am unclear about still is the affect that hiding invisible objects thru tagging plays on the performance of the viewport. Seems like I have heard two stories:

  1. Layout has to process all geometry in the model, even geometry that is turned off via its tag.

  2. Layout only has to process what is visible in that scene; or better said, the user can assign the scene but also further control what the viewport “sees” by toggling tag visibility for any objects not needed in that individual viewport.

Example 1:

I have a model with 5 million entities.

I have nothing tagged.

I create a scene of that model.

I connect it to viewport 1

Layout lags out, if not crashes entirely.

Example 2:

Same model

Every thing is tagged.

Same scene is attached to the same viewport.

I turn off all tags but one which has just 20 entities.

Layout doesn’t even blink.

Obviously in example 1, Layout has to render all the entities even though only a few thousand might be all that is visible to my eye. But what about example 2? Same model, same entities, same scene, same viewport, but I reduce the visible entities down to 20 with my tags. Is this an actual performance boost in Layout? Are the other 4,999,980 entities invisible to that viewport?

The last time I modelled and had lag problems in layout was a couple of years ago with a property that was vertically clad a lot in plain tiles that had a slight camber and included the batten lug.

In viewport scenes that didn’t show the tiling I experienced severe lag.

I don’t normally model this way because I’ve always known about this issue.

I realised immediately the cause of the problem – either I needed to simplify the tile component or add a tag for the tiles.

Paul,

So just as an exercise:

If you took that model and hid all the tiles in your main viewport and created a stacked viewport for just the tiles, would there be a performance boost since the cpu doesn’t have to try to render the tiles with the rest of the model?

Does a cpu slow down because of the sheer volume of entities in a single viewport? Which is better said, “can the cpu process the same amount of entities separated by tags in separate Layout viewports?”

If I understand you correctly Keith…

The top viewport has tiles and brickwork turned off and the lower viewport everything is turned off except tiles and brickwork – it’s about 4 seconds to update. If I have four each of these two viewports, it’s nearly 16 seconds to update.

Layout_Test_01

Below there is just just the one viewport with tiles and bricks turned on – interestingly it’s about 2 seconds to update. If I have four of these viewports, it’s nearly 8 seconds.

Layout_Test_03

Below is one viewport with a proxy for the tiles and bricks – it’s more or less instant.
If I have four of these viewports, it’s just over a second to update.
Layout_Test_02

What do you mean under “proxy for tiels” ?

So the tiles or bricks would be grouped and tagged as, say, object_3D.

Then I would create a volume that mapped to the tiles or bricks and tag as object_2D.

Then in my scenes for Layout I would turn off object_3D and turn on object_2D.

The object_2D objects could have a pattern applied to the visible surface to represent the tiles or bricks.

It can be not ideal sometimes – I like my 1:100 / 1:50 plans to have a single contiguous section fill colour to represent walls. A volume representing a proxy for bricks would show in the section cut unless turned off and then I would need a volume to represent the overall wall construction… argh!

1 Like

I see, similar to 2D door openings and 3D doors…

A workaround…and then some more workaround. I honestly didn’t see a perfect software yet, because more a sophisticated architectural software always need longer setting up time…So either you spend time to set up or workaround…