我正在開發一個網站,其中包含使用three.js 制作的英雄橫幅。場景非常簡單,即使在低端設備上也能以 60fps 的速度運行。但是在移動設備上我遇到了問題。當頁面向下滾動很多然后再次向上滾動時,瀏覽器會凍結 1-2 秒(在我的設備上,Android 和 Chrome Mobile)。
我認為這是由于 Chrome “節省資源”而畫布在視口上不可見。我怎樣才能防止這種情況發生?
uj5u.com熱心網友回復:
你有 28 個腳本,所以可能會有很多開銷。您可以嘗試減少腳本、解析度和/或切換到 setTimeout。最終,我認為這是一個直接的解釋:
- requestPostAnimationFrame 規范提案
- 為什么 requestAnimationFrame() 在一幀結束時運行我的代碼,而不是在開始時?
- requestAnimationFrame() 不適用于影片
uj5u.com熱心網友回復:
我通過在畫布不在視口中且帶有cancelAnimationFrame. 此問題中的更多資訊:three.js 如何在用戶看不到 3d 空間時停止渲染?
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/443747.html
上一篇:使用OpenCV洗掉水平線
