我在Ticker 類檔案中閱讀了以下內容:
“Ticker 類在每個影片幀中呼叫一次回呼。”
我正在createTicker(TickerCallback onTick)用來實作秒表。所以我需要傳遞給的 elapsed 變數TickerCallback非常精確(即我需要在 5 秒后,elapsed 的值正好是 5 秒)。
現在我的問題是:如果我的 UI 代碼非常糟糕并且由于優化不當而錯過了很多幀,會發生什么?我可以想到兩種情況:
- 秒表的時間不是以 60fps 更新(因為我的編碼錯誤)但是一旦更新,顯示的時間是正確的
- 顯示的時間不對
- 其他?
這是哪種情況?為什么(最重要的是)?此外,考慮到上述情況,是否建議使用自動收報機作為秒表?謝謝
uj5u.com熱心網友回復:
回答您的問題:
1.秒表的時間不是以60fps更新(因為我的編碼不好)但是一旦更新,顯示的時間是正確的。
如果手機以 120 fps 運行,這是否意味著它會轉發時間:)
Flutter 旨在提供每秒 60 幀 (fps) 的性能,或在能夠 120Hz 更新的設備上提供 120 fps 的性能。對于 60fps,幀需要大約每 16 毫秒渲染一次。當 UI 呈現不流暢時會發生卡頓。
所以你可以使用ticker,即使影片很慢,它仍然會顯示正確的時間。就像假設我們在第 500 幀上有一些延遲,它們將是影片的延遲而不是經過的時間。就像在第 3 秒我們有 1 秒延遲,之后我們將有 5 秒,它更新螢屏,但計時器將繼續。
另外,考慮到上述情況,是否建議使用自動收報機作為秒表?
這是。在最壞的情況下,您會出現丟幀、跳秒的情況,但計時器將是準確的。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/350185.html
上一篇:矩陣比較
