[英]How should I use requestAnimationFrame and setTimeout in parallel to make a better game loop?
[英]Should I use requestanimationframe or setTimeout?
性能總是與細節有關。 在您的應用程序上沒有更多信息(例如,呈現您應用程序的特定代碼)。 很難說應該如何構造代碼。
通常,您應該始終使用requestAnimationFrame。 特別是用於渲染。
(可選)存儲增量時間,並將您的動畫屬性乘以該增量。 當幀頻不一致時,將創建平滑的動畫。
我還發現隨機幀頻變化通常與垃圾回收有關。 也許進行一些內存分析,以查找是否可以避免每幀重新創建對象的地方。
requestAnimationFrame
在幾乎所有方面都優於setTimeout
。 它不會作為背景標簽運行。 節省電池。 它為瀏覽器提供了有關您正在開發的應用程序類型的更多信息,這使給定的瀏覽器可以做出許多安全的性能提升假設。
我強烈建議觀看Nat Duca關於瀏覽器性能的演講。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.