The biggest improvement regarding 3D graphics in Eyeshot version 12 is the FastZPR feature. When this feature is not active (the number of items in the scene does not go beyond the Model.Entities.MaxComplexity value) you can play with the following settings.
Always use the least acceptable ViewportLayout.DisplayMode. For example, if you are drawing only wires, don't forget to set the display mode as Wireframe. If you are drawing 3D objects, try first Shaded display mode, it uses colors only instead of all material properties.
Silhouettes are computationally expensive and can slow down a scene. They can be either disabled entirely, drawn only at the end of a dynamic movement (the default) or drawn at every frame. Set the ViewportLayout.SilhouettesDrawingMode property of the desired display mode to:
Model.Wireframe.SilhouettesDrawingMode = silhouettesDrawingType.Never; Model.Shaded.SilhouettesDrawingMode = silhouettesDrawingType.Never; Model.Rendered.SilhouettesDrawingMode = silhouettesDrawingType.Never;
Available only in the Rendered display mode, they require an extra drawing pass so they decrease the frame rate. They can be disabled with the following property:
Model.Rendered.PlanarReflections = false;
Available only in the Rendered display mode, they require extra drawing steps so they slow down drawing speed. They can be disabled with the property:
Model.Rendered.ShadowMode = shadowType.None;
Their quality, but also the time required to draw them, can be tuned with the property:
Model.Rendered.RealisticShadowQuality = realisticShadowQualityType.Low;
Edges and Internal wires
In Shaded and Rendered display modes, you may want to turn off edges and internal wires drawing in this way:
Model.Shaded.ShowEdges = false; Model.Shaded.ShowInternalWires = false; Model.Rendered.ShowEdges = false;
Many transparent objects will for sure slow down drawing. Keep their number at the minimum or keep low their triangles count.
A complex multilevel scene structure using Block/BlockReference will allow saving memory but in general, does not improve the frame rate.
The bigger is the scene number of segments/triangles the slower will be to be drawn. You can try reducing the overall segments/triangles count calling Model.Entities.RegenAllCurved() with the biggest acceptable deviation (chordal error) tolerance.