# Interface TwinfinityViewerPerformanceOptions

Performance options for TwinfinityViewer.

interface TwinfinityViewerPerformanceOptions {
forceRenderingTimeoutInMs: number;
idleRenderingTimeoutInMs: number;
ifc: {
hideExpensiveMeshesOnCameraMove: {
delayUntilCullingStops: number;
isEnabled: boolean;
keepMeshesNearPivotPoint: boolean;
keepMeshesNearPointOfInterest: boolean;
pickBoundingSphereRadius: number;
};
};
isBackfaceCullingEnabled: boolean;
isPaused: boolean;
}

##### Index

### Properties

forceRenderingTimeoutInMs
idleRenderingTimeoutInMs
ifc
isBackfaceCullingEnabled
isPaused

## Properties

### forceRenderingTimeoutInMs

forceRenderingTimeoutInMs: number

If <= 0 then frames are always rendered regardless if user is doing something or not. If > 0 and if idleRenderingTimeoutInMs > 0 then one frame is always rendered whenever this interval has passed. Default is 1500

### idleRenderingTimeoutInMs

idleRenderingTimeoutInMs: number

If <= 0 then frames are always rendered regardless if user is doing something or not. If > 0 and also forceRenderingTimeoutInMs > 0 then rendering stops when camera has been stationary for this many milliseconds. As soon as camera is moved rendering resumes in full again. Default is 10000

### `Readonly` ifc

ifc: {
hideExpensiveMeshesOnCameraMove: {
delayUntilCullingStops: number;
isEnabled: boolean;
keepMeshesNearPivotPoint: boolean;
keepMeshesNearPointOfInterest: boolean;
pickBoundingSphereRadius: number;
};
}

Performance settings only applicable to IFC objects.

#### Type declaration

- ##### `Readonly` hideExpensiveMeshesOnCameraMove: {
  delayUntilCullingStops: number;
  isEnabled: boolean;
  keepMeshesNearPivotPoint: boolean;
  keepMeshesNearPointOfInterest: boolean;
  pickBoundingSphereRadius: number;
  }

  Hides expensive models when rotating or moving the camera to increase performance. A bounding sphere will be created around the pivot point when moving the camera, any mesh intersecting that sphere will not be hidden.

  - ##### delayUntilCullingStops: number

    Delay until culling stops after camera stops moving in miliseconds.

  - ##### isEnabled: boolean

  - ##### keepMeshesNearPivotPoint: boolean

    Keeps meshes near the intersection between the pivot point and the model.

  - ##### keepMeshesNearPointOfInterest: boolean

    Keeps meshes near the intersecion between the 3d model and the cameras forward vector.

  - ##### pickBoundingSphereRadius: number

    Radius of bounding sphere that will be created around the pivot point to check for meshes to keep.

### isBackfaceCullingEnabled

isBackfaceCullingEnabled: boolean

Specifies whether backface culling is enabled or not. Backface culling is a technique used in 3D computer graphics to improve rendering performance by discarding polygons that are not visible to the viewer. When backface culling is enabled, only the front-facing polygons are rendered, while the back-facing polygons are discarded. If geometries are not rendered correctly (they have "holes"), try setting to `false`. This will make rendering slower but geometries with incorrect polygon windingorder will be rendered correctly. This is a global setting and affects all geometries in the scene.

### isPaused

isPaused: boolean

Set to `true` to disable rendering all together. Default is `true`.