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