FrameRateMonitor

new Cesium.FrameRateMonitor(options)

Scene 中监视帧率(每秒帧数),并在帧率低于某个阈值时触发事件。 之后,如果帧率恢复到要求的水平,则会触发另一个单独的事件。 为了避免为单个 Scene 创建多个 FrameRateMonitor,请使用 FrameRateMonitor.fromScene, 而不要显式构造实例。
Name Type Description
options object optional 包含以下属性的对象:
Name Type Default Description
scene Scene 要监视其性能的 Scene 实例。
samplingWindow number 5.0 optional 用于计算平均帧率的滑动窗口的长度,单位为秒。
quietPeriod number 2.0 optional 在启动后以及每次页面变为可见时(即用户切回到该标签页时)开始测量性能之前 所等待的时间长度,单位为秒。
warmupPeriod number 5.0 optional 预热期的时长,单位为秒。在预热期内,需要达到一个单独的 (通常较低的)帧率。
minimumFrameRateDuringWarmup number 4 optional 预热期内可接受性能所需的最低每秒帧数。如果在预热期的任何 samplingWindow 内帧率平均值低于此值, 则会触发 lowFrameRate 事件,并且页面会重定向到 redirectOnLowFrameRateUrl(如果有)。
minimumFrameRateAfterWarmup number 8 optional 预热期结束后可接受性能所需的最低每秒帧数。如果在预热期结束后的任何 samplingWindow 内帧率平均值低于此值, 则会触发 lowFrameRate 事件,并且页面会重定向到 redirectOnLowFrameRateUrl(如果有)。

Members

static Cesium.FrameRateMonitor.defaultSettings : object

默认的帧率监视设置。当 FrameRateMonitor.fromScene 需要创建新的帧率监视器,以及对于未传递给 FrameRateMonitor 构造函数的任何设置时,都会使用这些设置。

lastFramesPerSecond : number

获取在最近的 samplingWindow 内计算得到的平均每秒帧数。 如果尚未计算帧率,此属性可能为 undefined。
获取在检测到低帧率时触发的事件。该函数会接收 Scene 实例作为第一个参数,以及采样窗口内的平均每秒帧数 作为第二个参数。

minimumFrameRateAfterWarmup : number

获取或设置预热期结束后可接受性能所需的最低每秒帧数。如果在 warmupPeriod 结束后的任何 samplingWindow 内帧率平均值低于此值, 则会触发 lowFrameRate 事件,并且页面会重定向到 redirectOnLowFrameRateUrl(如果有)。

minimumFrameRateDuringWarmup : number

获取或设置预热期内可接受性能所需的最低每秒帧数。如果在 warmupPeriod 内的任何 samplingWindow 中帧率平均值低于此值, 则会触发 lowFrameRate 事件,并且页面会重定向到 redirectOnLowFrameRateUrl(如果有)。
获取在帧率由低恢复正常水平时触发的事件。该函数会接收 Scene 实例作为第一个参数,以及采样窗口内的平均每秒帧数作为第二个参数。
获取或设置在启动后以及每次页面变为可见时(即用户切回到该标签页时)开始测量性能之前 所等待的时间长度,单位为秒。
获取或设置用于计算平均帧率的滑动窗口的长度,单位为秒。
获取要监视其性能的 Scene 实例。
获取或设置预热期的时长,单位为秒。在预热期内,需要达到一个单独的 (通常较低的)帧率。

Methods

static Cesium.FrameRateMonitor.fromScene(scene)FrameRateMonitor

获取给定场景的 FrameRateMonitor。如果该场景还没有 FrameRateMonitor,则会使用 FrameRateMonitor.defaultSettings 创建一个。
Name Type Description
scene Scene 要获取其 FrameRateMonitor 的场景。
Returns:
该场景的 FrameRateMonitor
将此实例从它所监听的所有事件中取消订阅。 对象一旦被销毁就不应再使用;调用除 isDestroyed 以外的任何函数都会导致 DeveloperError 异常。因此, 应像示例中那样将返回值(undefined)赋给该对象。
Throws:
See:
如果此对象已被销毁则返回 true,否则返回 false。

如果此对象已被销毁,则不应再使用它;调用除 isDestroyed 以外的任何函数都会导致 DeveloperError 异常。
Returns:
如果此对象已被销毁则为 true,否则为 false。
See:
暂停对帧率的监视。要恢复监视,必须对 FrameRateMonitor#unpause 每调用一次本函数就调用一次。
恢复对帧率的监视。如果 FrameRateMonitor#pause 被 多次调用,则必须调用相同次数本函数才能 真正恢复监视。
需要帮助?获取答案的最快方式是在 Cesium 论坛 上向社区和团队提问。