FrameRateMonitor

new SuperMap3D.FrameRateMonitor(options)

监视Scene中的帧率(帧每秒),如果帧率低于阈值则引发事件。之后,如果帧率返回到所需的水平,则会引发一个单独的事件。 为了避免为单个Scene创建多个frameratemonitor,请使用FrameRateMonitor.fromScene而不是显式地构造实例。
Name Type Description
options Object optional 具有以下属性的对象:
Name Type Default Description
scene Scene 用于监控性能的场景实例。
samplingWindow Number 5.0 optional 计算平均帧频的滑动窗口长度(秒)。
quietPeriod Number 2.0 optional 启动时和每次页面可见时(即用户切换回选项卡时)开始测量性能前的等待时间长度,以秒为单位。
warmupPeriod Number 5.0 optional 预热期的长度,以秒为单位。在预热期间,需要使用单独(通常较低)的帧频。
minimumFrameRateDuringWarmup Number 4 optional 预热期间可接受性能所需的最低帧频。如果在预热期间的任何采样窗口中,帧速率的平均值低于此值,低帧速率事件将被触发,页面将重定向到 redirectOnLowFrameRateUrl(如果有)。
minimumFrameRateAfterWarmup Number 8 optional 预热期结束后可接受的性能所需的最低帧频。如果在预热期后的任何采样窗口中,平均帧速率低于此值,低帧速率事件将被触发,页面将重定向到 redirectOnLowFrameRateUrl(如果有)。

Members

staticSuperMap3D.FrameRateMonitor.defaultSettings : Object

默认的帧率监控设置。当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

staticSuperMap3D.FrameRateMonitor.fromScene(scene)FrameRateMonitor

获取给定场景的FrameRateMonitor。如果场景还没有FrameRateMonitor,则使用defaultsettings创建一个。
Name Type Description
scene Scene 获取FrameRateMonitor的场景。
Returns:
场景的FrameRateMonitor

destroy()undefined

取消该实例对所有事件的监听。一旦对象被销毁,就不得再使用;调用 isDestroyed 以外的任何函数都将导致 DeveloperError 异常。 因此请按照示例中的方法将返回值(undefined)赋值给对象。
Returns:
Throws:
See:

isDestroyed()Boolean

如果该对象已被销毁,则返回 true;否则返回 false。

如果该对象已被销毁,则不应使用;调用 isDestroyed 以外的任何函数都将导致 DeveloperError 异常。
Returns:
如果该对象已被销毁,则为 true;否则为 false。
See:

pause()

暂停监控帧率。要恢复监控,必须在每次调用该函数时调用FrameRateMonitor#unpause

unpause()

恢复对帧率的监控。如果FrameRateMonitor#pause被调用这个函数必须多次调用相同的次数,才能真正恢复监控。