three.jsのmirror exampleに基づいて、私は良い古いpraxinoscope「ムービープロジェクタ」を再作成しました。移動。three.jsシーンの複数のミラーがパフォーマンスを犠牲にする
three.jsのバージョン84では、これはかなりうまく動作します。 V84を用い
例:https://codepen.io/Sphinxxxx/pen/eEbjbaバージョン85で
しかし、Mirror.jsにいくつかの変更があった、そしてそれ以降のバージョンですべてのミラー(ここでは8つのミラー)プラキシノスコープが本当に遅い作る(低FPS)。 V87を使用して
例:https://codepen.io/Sphinxxxx/pen/vJvozR
私は、パフォーマンスの低下は、再帰呼び出しとMirror.js
からonBeforeRender()
関数の呼び出しで始まる不要なレンダリングの多くに関係している疑いがあります。スタックトレース:あなたはコードを見れば
、ミラーがaddMirrorAndImage()
機能で作成され、追加されます。ミラーを追加するより良い方法はありますか、それとも古いバージョン(v85より前のバージョン)と同じパフォーマンスを実現するいくつかのトリックですか?
- V84:https://codepen.io/Sphinxxxx/pen/eEbjba
- V87:https://codepen.io/Sphinxxxx/pen/vJvozR(
Reflector
に改名Mirror
)V88で修正された
あなたはthree.js回帰があった合理的に自信があれば、これをthree.jsサイトのバグレポートとして提出することが適切です。 – WestLangley
@WestLangley - ありがとう、私は問題を提出しました:https://github.com/mrdoob/three.js/issues/12098 – Sphinxxx