MAXScript Tools and Interaction with 3ds Max > Interacting with the 3ds Max User Interface > Viewports >

# Adaptive Degradation Access

The following method pairs can be used to control the Adaptive Degradation system which was redesigned in 3ds Max 2008.

Methods:

    <float>viewport.GetAdaptiveDegGoalFPS() 		viewport.SetAdaptiveDegGoalFPS <float>

Get/Set the "Maintain Frames Per Second" target frame rate. This is the frame rate the adaptive degradation system will try to keep.

    <boolean>viewport.GetAdaptiveDegDrawBackfaces() 	 viewport.SetAdaptiveDegDrawBackfaces <boolean>

Gets/Sets the state of the "Draw Backfaces During Degrade" option. When set to true, backfaces will be drawn when degrading even for objects whose backface cull option is turned on, thus improving performance.

    <boolean>viewport.GetAdaptiveDegNeverDegradeSelected()   viewport.SetAdaptiveDegNeverDegradeSelected <boolean>

Gets/Sets the state of the "Never Degrade Selected" option. When set to true, selected objects will never get degraded allowing the user to focus on them.

    <boolean>viewport.GetAdaptiveDegDegradeLight() viewport.SetAdaptiveDegDegradeLight <boolean>

Get/Set the state of the "Degrade to Default Lighting" option. When true, the system will degrade the lights to just the default headlight.

    viewport.GetAdaptiveDegNeverRedrawAfterDegrade() viewport.SetAdaptiveDegNeverRedrawAfterDegrade

Get/Set the state of the "Never Redraw After Degrade" option. When true, the system will remain in degraded state even after a mouse up. On large scenes this can help reduce pauses caused by full redraws between navigation operations.

### Adapt Object Display by Priority

    <boolean>viewport.GetAdaptiveDegDisplayModeCurrent() viewport.SetAdaptiveDegDisplayModeCurrent <boolean>

Get/Set whether to use the current display mode when degrading.

    <boolean>viewport.GetAdaptiveDegDisplayModeFastShaded viewport.SetAdaptiveDegDisplayModeFastShaded <boolean>

Get/Set whether to use the fast shaded display mode when degrading.

    <boolean>viewport.GetAdaptiveDegDisplayModeWire() viewport.SetAdaptiveDegDisplayModeWire <boolean>

Get/Set whether to use the wireframe display mode when degrading.

    <boolean>viewport.GetAdaptiveDegDisplayModeBox() viewport.SetAdaptiveDegDisplayModeBox <boolean>

Get/Set whether to use the box display mode when degrading.

    <boolean>viewport.GetAdaptiveDegDisplayModePoint() viewport.SetAdaptiveDegDisplayModePoint <boolean>

Get/Set whether to replace objects with point drawing primitives when degrading.

    <boolean>viewport.GetAdaptiveDegDisplayModeHide() viewport.SetAdaptiveDegDisplayModeHide <boolean>

Get/Set whether to hide objects when degrading.

### Prioritize Scene Objects

    <float>viewport.GetAdaptiveDegCameraDistancePriority() viewport.SetAdaptiveDegCameraDistancePriority <float>

Get/Set the "Distance from Camera" value. This weights whether the distance from camera or screen size is used to determine which objects will be degraded.

    <float>viewport.GetAdaptiveDegScreenSizePriority() viewport.SetAdaptiveDegScreenSizePriority <float>

Get/Set the "Screen Size" value. This weights whether the distance from camera or screen size is used to determine the degradation priorities.

    <boolean>viewport.GetAdaptiveDegMinSize() viewport.SetAdaptiveDegMinSize <integer>

Get/Set the value of the "Force objects displayed smaller than N pixels to the lowest priority" option.

#### See Also

- Accessing Active Viewport Info, Type, and Transforms