根據three.js中的mirror example,我重新創建了一個很好的舊電影放映機praxinoscope,其中一列鏡像反映了一小段圖像,以創建幻像運動。three.js場景中的多個鏡像殺死了性能
在three.js的84版本中,這很有效。
實例:採用V84:https://codepen.io/Sphinxxxx/pen/eEbjba
在85版本然而,有一些變化Mirror.js,並在以後的版本中所有的鏡子(在這種情況下,8個鏡子)使praxinoscope很慢(低FPS)。
實例:採用V87:https://codepen.io/Sphinxxxx/pen/vJvozR
我懷疑緩慢的性能有不少遞歸調用和不必要的渲染開始呼籲從Mirror.js
一個onBeforeRender()
功能做。堆棧跟蹤:
如果你在看代碼,創建並在addMirrorAndImage()
功能附加鏡。有沒有更好的方法來添加鏡像或其他一些可以提供與舊版本(v85之前版本)相同性能的技巧?
如果你覺得有理由相信出現了three.js所迴歸,它將這個文件作爲three.js網站上的錯誤報告進行歸檔是適當的。 – WestLangley
@WestLangley - 謝謝,我提交了一個問題:https://github.com/mrdoob/three.js/issues/12098 – Sphinxxx