FrameRateMonitor

监视aScene中的帧速率(每秒帧数),如果帧速率低于阈值,则引发事件。稍后,如果帧速率返回到所需的级别,将引发单独的事件。为了避免为单个Scene创建多个frameratemonitor,请使用FrameRateMonitor.fromScene而不是显式构造实例。
new FrameRateMonitor(options)
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}
获取给定场景的FrameRateMonitor。如果场景还没有FrameRateMonitor,则使用FrameRateMonitor.defaultSettings创建一个场景。
Parameters:
scene (Scene) 得到FrameRateMonitor的场景。
destroy()
从它正在侦听的所有事件中取消订阅此实例。一旦对象被破坏,就不应该使用它;调用除isDestroyed以外的任何函数都将导致DeveloperError异常。因此,将返回值(undefined)赋给对象,如示例中所述。
Throws
See:
isDestroyed() → {Boolean}
如果此对象被破坏,则返回true;否则返回false。

如果此对象被破坏,则不应使用它;调用除isDestroyed以外的任何函数将导致DeveloperError异常。
See:
pause()
暂停对帧速率的监视。要恢复监视,每次调用此函数时必须调用一次FrameRateMonitor#unpause
unpause()
继续监视帧速率。如果多次调用FrameRateMonitor#pause,则必须以相同的次数调用此函数才能实际恢复监视。