three.js項目引入vue,因代碼編寫不當導致的嚴重影響性能的問題,卡頓掉幀嚴重


three.js項目引入vue,因代碼編寫不當導致的嚴重影響性能的問題,卡頓掉幀嚴重

問題排查

 使用谷歌瀏覽器的Performance分析頁面性能

可以看到vue.js的reactiveGetter方法耗時最長,剛開始看到這個覺得很奇怪,三維卡頓跟vue怎么會有關系呢?

vue.js的reactiveGetter方法調用了很多三維模型的方法,我引入vue是為了方便做增刪改查,它不應該頻繁調用three.js的方法,所以這是不正常的

 

 

問題原因

我把火焰模型對象、事件位置精靈標簽對象、路線展示相關的數據放到了vue對象的data中,導致vue頻繁監控三維模型相關的大量變量及屬性,使性能嚴重下降

 

問題解決

把fire、planLocation、modelData這三個三維相關的數據,放到vue對象的外面

然后問題完美解決,展示了火焰效果和逃生路線后,頻率依然是60FPS,沒有受到影響,碰撞檢測開啟后也很流暢,在場景中飛行也很流暢

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM