監視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
,則必須以相同的次數調用此函數才能實際恢復監視。