監(jiān)視a
new FrameRateMonitor(options)
Scene
中的幀速率(每秒幀數(shù)),如果幀速率低于閾值,則引發(fā)事件。稍后,如果幀速率返回到所需的級別,將引發(fā)單獨的事件。為了避免為單個Scene
創(chuàng)建多個frameratemonitor,請使用FrameRateMonitor.fromScene
而不是顯式構(gòu)造實例。
Parameters:
options
(Object)
Name | Description |
---|---|
options.scene
Scene
|
要監(jiān)視其性能的場景實例。 |
options.samplingWindow
Number
default 5.0
|
計算平均幀速率的滑動窗口的長度,以秒為單位。 |
options.quietPeriod
Number
default 2.0
|
啟動時以及每次頁面變?yōu)榭梢姡串?dāng)用戶切換回選項卡時)之前等待的時間長度,以秒為單位。 |
options.warmupPeriod
Number
default 5.0
|
預(yù)熱時間的長度,以秒為單位。在預(yù)熱期間,需要單獨(通常較低)的幀速率。 |
options.minimumFrameRateDuringWarmup
Number
default 4
|
預(yù)熱期間可接受性能所需的最小每秒幀數(shù)。如果在warmupperiod期間的任何采樣窗口中,幀速率平均值小于此值,則會引發(fā)低幀速率事件,并且頁面將重定向到RedirectOnLowFramerateURL(如果有)。 |
options.minimumFrameRateAfterWarmup
Number
default 8
|
預(yù)熱期結(jié)束后可接受性能所需的最小每秒幀數(shù)。如果在Warmupperiod之后的任何采樣窗口中,幀速率平均值低于此值,則會引發(fā)低幀速率事件,并且頁面將重定向到RedirectOnLowFramerateURL(如果有)。 |
Members
(static) defaultSettings : Object
默認(rèn)的幀速率監(jiān)視設(shè)置。當(dāng)
FrameRateMonitor.fromScene
需要創(chuàng)建新的幀速率監(jiān)視器時,以及對于未傳遞給FrameRateMonitor
構(gòu)造函數(shù)的任何設(shè)置,都會使用這些設(shè)置。
lastFramesPerSecond : Number
獲取最近計算的上一個
samplingWindow
的每秒平均幀數(shù)。如果尚未計算幀速率,則此屬性可能未定義。
lowFrameRate : Event
獲取在檢測到低幀速率時引發(fā)的事件。函數(shù)將作為其第一個參數(shù)傳遞
Scene
實例,并作為其第二個參數(shù)傳遞采樣窗口上每秒的平均幀數(shù)。
minimumFrameRateAfterWarmup : Number
獲取或設(shè)置預(yù)熱期結(jié)束后可接受性能所需的每秒最小幀數(shù)。如果在
warmupPeriod
之后的任何samplingWindow
期間的平均幀速率小于此值,將引發(fā)lowFrameRate
事件,并且頁面將重定向到redirectOnLowFrameRateUrl
(如果有)。
minimumFrameRateDuringWarmup : Number
獲取或設(shè)置預(yù)熱期間可接受性能所需的每秒最小幀數(shù)。如果幀速率在
warmupPeriod
期間的任何samplingWindow
期間的平均值小于此值,將引發(fā)lowFrameRate
事件,并且頁面將重定向到redirectOnLowFrameRateUrl
(如果有)。
nominalFrameRate : Event
獲取在幀速率較低后返回正常級別時引發(fā)的事件。函數(shù)將作為其第一個參數(shù)傳遞
Scene
實例,并作為其第二個參數(shù)傳遞采樣窗口上每秒的平均幀數(shù)。
quietPeriod : Number
獲取或設(shè)置在開始測量性能之前,啟動時以及每次頁面變?yōu)榭梢姡串?dāng)用戶切換回選項卡時)時等待的時間長度(秒)。
samplingWindow : Number
獲取或設(shè)置計算平均幀速率的滑動窗口的長度(秒)。
scene : Scene
獲取要監(jiān)視其性能的
Scene
實例。
warmupPeriod : Number
獲取或設(shè)置預(yù)熱時間的長度(秒)。在預(yù)熱期間,需要單獨(通常較低)的幀速率。
Methods
(static) fromScene(scene) → {FrameRateMonitor}Parameters:
從它正在偵聽的所有事件中取消訂閱此實例。一旦對象被破壞,就不應(yīng)該使用它;調(diào)用除
isDestroyed
以外的任何函數(shù)都將導(dǎo)致DeveloperError
異常。因此,將返回值(undefined
)賦給對象,如示例中所述。
Throws
-
DeveloperError : 此對象已被銷毀,即調(diào)用destroy()。
如果此對象被破壞,則返回true;否則返回false。
如果此對象被破壞,則不應(yīng)使用它;調(diào)用除
pause()
如果此對象被破壞,則不應(yīng)使用它;調(diào)用除
isDestroyed
以外的任何函數(shù)將導(dǎo)致DeveloperError
異常。
暫停對幀速率的監(jiān)視。要恢復(fù)監(jiān)視,每次調(diào)用此函數(shù)時必須調(diào)用一次
FrameRateMonitor#unpause
。
繼續(xù)監(jiān)視幀速率。如果多次調(diào)用
FrameRateMonitor#pause
,則必須以相同的次數(shù)調(diào)用此函數(shù)才能實際恢復(fù)監(jiān)視。