Class SceneOptimizer
Implements
Constructors
constructor
-
new SceneOptimizer(
scene: Scene,
options?: SceneOptimizerOptions,
autoGeneratePriorities?: boolean,
improvementMode?: boolean,
): SceneOptimizerCreates a new SceneOptimizer
Parameters
- scene: Scene
defines the scene to work on
Optionaloptions: SceneOptimizerOptionsdefines the options to use with the SceneOptimizer
- autoGeneratePriorities: boolean = true
defines if priorities must be generated and not read from SceneOptimization property (true by default)
- improvementMode: boolean = false
defines if the scene optimizer must run the maximum optimization while staying over a target frame instead of trying to reach the target framerate (false by default)
Returns SceneOptimizer
- scene: Scene
Properties
on Failure Observable
Defines an observable called when the optimizer is not able to reach the target frame rate
on New Optimization Applied Observable
Defines an observable called when the optimizer enables an optimization
on Success Observable
Defines an observable called when the optimizer reaches the target frame rate
Accessors
current Frame Rate
-
get currentFrameRate(): number
Gets the current frame rate checked by the SceneOptimizer
Returns number
current Priority Level
-
get currentPriorityLevel(): number
Gets the current priority level (0 at start)
Returns number
is In Improvement Mode
-
get isInImprovementMode(): boolean
Gets or sets a boolean indicating if the optimizer is in improvement mode
Returns boolean
-
set isInImprovementMode(value: boolean): void
Parameters
- value: boolean
Returns void
optimizations
-
Gets the list of active optimizations
Returns SceneOptimization[]
target Frame Rate
-
get targetFrameRate(): number
Gets or sets the current target frame rate (60 by default)
Returns number
-
set targetFrameRate(value: number): void
Gets or sets the current target frame rate (60 by default)
Parameters
- value: number
Returns void
tracker Duration
-
get trackerDuration(): number
Gets or sets the current interval between two checks (every 2000ms by default)
Returns number
-
set trackerDuration(value: number): void
Gets or sets the current interval between two checks (every 2000ms by default)
Parameters
- value: number
Returns void
Methods
dispose
-
Release all resources
Returns void
reset
-
Reset the optimizer to initial step (current priority level = 0)
Returns void
start
-
Start the optimizer. By default it will try to reach a specific framerate but if the optimizer is set with improvementMode === true then it will run all optimization while frame rate is above the target frame rate
Returns void
stop
-
Stops the current optimizer
Returns void
StaticOptimize Async
-
OptimizeAsync(
scene: Scene,
options?: SceneOptimizerOptions,
onSuccess?: () => void,
onFailure?: () => void,
): SceneOptimizerHelper function to create a SceneOptimizer with one single line of code
Parameters
- scene: Scene
defines the scene to work on
Optionaloptions: SceneOptimizerOptionsdefines the options to use with the SceneOptimizer
OptionalonSuccess: () => voiddefines a callback to call on success
OptionalonFailure: () => voiddefines a callback to call on failure
Returns SceneOptimizer
the new SceneOptimizer object
- scene: Scene
Class used to run optimizations in order to reach a target frame rate
Description
More details at https://doc.babylonjs.com/features/featuresDeepDive/scene/sceneOptimizer