监视a
new FrameRateMonitor(options)
Scene
中的帧速率(每秒帧数),如果帧速率低于阈值,则引发事件。稍后,如果帧速率返回到所需的级别,将引发单独的事件。为了避免为单个Scene
创建多个frameratemonitor,请使用FrameRateMonitor.fromScene
而不是显式构造实例。
Parameters:
options
(Object)
Name | Description |
---|---|
options.scene
Scene
|
要监视其性能的场景实例。 |
options.samplingWindow
Number
default 5.0
|
计算平均帧速率的滑动窗口的长度,以秒为单位。 |
options.quietPeriod
Number
default 2.0
|
启动时以及每次页面变为可见(即当用户切换回选项卡时)之前等待的时间长度,以秒为单位。 |
options.warmupPeriod
Number
default 5.0
|
预热时间的长度,以秒为单位。在预热期间,需要单独(通常较低)的帧速率。 |
options.minimumFrameRateDuringWarmup
Number
default 4
|
预热期间可接受性能所需的最小每秒帧数。如果在warmupperiod期间的任何采样窗口中,帧速率平均值小于此值,则会引发低帧速率事件,并且页面将重定向到RedirectOnLowFramerateURL(如果有)。 |
options.minimumFrameRateAfterWarmup
Number
default 8
|
预热期结束后可接受性能所需的最小每秒帧数。如果在Warmupperiod之后的任何采样窗口中,帧速率平均值低于此值,则会引发低帧速率事件,并且页面将重定向到RedirectOnLowFramerateURL(如果有)。 |
Members
(static) defaultSettings : Object
默认的帧速率监视设置。当
FrameRateMonitor.fromScene
需要创建新的帧速率监视器时,以及对于未传递给FrameRateMonitor
构造函数的任何设置,都会使用这些设置。
lastFramesPerSecond : Number
获取最近计算的上一个
samplingWindow
的每秒平均帧数。如果尚未计算帧速率,则此属性可能未定义。
lowFrameRate : Event
获取在检测到低帧速率时引发的事件。函数将作为其第一个参数传递
Scene
实例,并作为其第二个参数传递采样窗口上每秒的平均帧数。
minimumFrameRateAfterWarmup : Number
获取或设置预热期结束后可接受性能所需的每秒最小帧数。如果在
warmupPeriod
之后的任何samplingWindow
期间的平均帧速率小于此值,将引发lowFrameRate
事件,并且页面将重定向到redirectOnLowFrameRateUrl
(如果有)。
minimumFrameRateDuringWarmup : Number
获取或设置预热期间可接受性能所需的每秒最小帧数。如果帧速率在
warmupPeriod
期间的任何samplingWindow
期间的平均值小于此值,将引发lowFrameRate
事件,并且页面将重定向到redirectOnLowFrameRateUrl
(如果有)。
nominalFrameRate : Event
获取在帧速率较低后返回正常级别时引发的事件。函数将作为其第一个参数传递
Scene
实例,并作为其第二个参数传递采样窗口上每秒的平均帧数。
quietPeriod : Number
获取或设置在开始测量性能之前,启动时以及每次页面变为可见(即当用户切换回选项卡时)时等待的时间长度(秒)。
samplingWindow : Number
获取或设置计算平均帧速率的滑动窗口的长度(秒)。
scene : Scene
获取要监视其性能的
Scene
实例。
warmupPeriod : Number
获取或设置预热时间的长度(秒)。在预热期间,需要单独(通常较低)的帧速率。
Methods
(static) fromScene(scene) → {FrameRateMonitor}Parameters:
从它正在侦听的所有事件中取消订阅此实例。一旦对象被破坏,就不应该使用它;调用除
isDestroyed
以外的任何函数都将导致DeveloperError
异常。因此,将返回值(undefined
)赋给对象,如示例中所述。
Throws
-
DeveloperError : 此对象已被销毁,即调用destroy()。
暂停对帧速率的监视。要恢复监视,每次调用此函数时必须调用一次
FrameRateMonitor#unpause
。
继续监视帧速率。如果多次调用
FrameRateMonitor#pause
,则必须以相同的次数调用此函数才能实际恢复监视。