Turbo mode (former FastZPR)

In Eyeshot version 12 we introduced a simplified representation of the scene that allows smooth Zoom/Pan/Rotate dynamic movements. This simplified representation is used only during dynamic movements (between the mouse down and mouse up events) and for non-current items when an assembly component is set as current (using Model.Entities.SetCurrent() for example).

This simplified representation, at the time of writing, does not use materials, environment mapping, shadows, silhouettes, line widths and textures. Other items not included are dimension tolerances, radial and diametric dimensions center marks. Item selection is also not drawn.

By default, Turbo mode is not active. It kicks-in when the number of items in the scene goes beyond the Model.Turbo.MaxComplexity threshold (the default value is int.MaxValue). Turbo mode is most effective with complex scene graphs, therefore when many items or many nested levels are involved.

You can disable it using:

model1.Turbo.MaxComplexity = int.MaxValue;

You can make it always active using:

model1.Turbo.MaxComplexity = 0;

You can check if it is active using:

bool active = model1.Turbo.Enabled;

Preparing this simplified representation takes time, Eyeshot updates it automatically when the scene changes in terms of geometry but not when it changes in terms of color, material, visibility or when the display mode is changed.

To update the simplified representation manually, use:

model1.Entities.UpdateBoundingBox();

This method also updates the scene extents, the visual refinement tolerance and, the planar shadow.

 

Notes:

  1. Rebuilding the simplified representation takes time (from a few milliseconds to minutes for huge models). Try to limit the calls to Model.Entities.ComputeBoundingBox() method to the minimum necessary.
  2. If you need to do interactive editing of the geometry, try to use the Model.Entities.SetCurrent()/ResetCurrent() method to reduce the number of items in scope or to disable/enable Turbo mode to reduce the number of simplified representation rebuilds.
  3. If the geometry is very far from world origin, the simplified representation could be more accurate compared to the actual one. To resolve this issue, please consider using the Model.RemoveJittering() method.
  4. Attribute entity badly affects rebuild speed.

 

Build 12.0.347 Update

In this build the Turbo.OperatingMode and Lag properties have been added. The former allows a number of different representations for entities while the latter to know the exact secondary representation rebuild time in milliseconds. The different representations can be Geometry, GeometryAndEdges, Edges, and Boxes. Each one takes a different time to rebuild and provides a different visual result. With very large assemblies, you may want to sacrifice the visual accuracy in favor of smooth dynamic movements.

From this build, secondary representation is used also for camera animation and Eyeshot control resize.

From this build, the time to build secondary representation varies between different display modes.

Was this article helpful?
1 out of 1 found this helpful
Have more questions? Submit a request

Comments

0 comments

Please sign in to leave a comment.