私がusing buffer geometriesと理解したように、はGPUにすべてのデータを渡すコストを減らすので、パフォーマンスが向上し、メモリ使用量が減少します。Three.js - THREE.BufferGeometryの使用についての質問
そして、私はここにfrom @WestLangley his postを理解されるように:それは、計算上、より効率的であるよう
THREE.BufferGeometry
はゆっくりTHREE.Geometry
を交換しています。
私は現在three.jsを使用しています - R72を。
ジオメトリを描画してメッシュを作成してシーンに追加すると、ジオメトリ内に2つのプロパティ__directGeometry
と_bufferGeometry
があることがわかります。 THREE.BoxGeometry
でここ
:
ここTHREE.Geometry
中:THREE.ShapeGeometry
でここ
:
私の質問:
THREE.DirectGeometry
であり、それは何をするのでしょうか? (私はこれについてのドキュメントを見つけることができないようです)_bufferGeometry
に保存されているTHREE.BufferGeometry
はすでに自動的に使用されていますか?そうでない場合は、パフォーマンスを向上させるためにジオメトリの代わりに単に使用できますか?- 変換方法があります。
THREE.BufferGeometry
はtoGeometry
、THREE.Geometry
はtoBufferGeometry
です。このメソッドを使用してすべての通常のジオメトリをバッファジオメトリに変換すると、最初からTHREE.BufferGeometry
として描画するのと同じパフォーマンスが向上しますか? - いつ、どのようにすれば
THREE.BufferGeometry
を使用すればいいですか? - three.jsはいつ
THREE.Geometry
を支持してTHREE.BufferGeometry
をサポートしますか?
注:私は、どのようにバッファジオメトリを使用するか、それがTHREE.Geometry
を交換しようとしているときに詳細な情報を見つけることができませんでした。しかし、誰かが良い出典やリファレンスを持っている場合は、コメントを残してください。
r.73 three.js感謝。 *このメソッドを使用してすべての通常のジオメトリをバッファジオメトリに変換すると、開始時にTHREE.BufferGeometryから描画するのと同じパフォーマンスが向上しますか?*私はまだ存在しているためバッファのジオメトリを最大限のパフォーマンスを得るためにバッファジオメトリとして再描画する必要があるかどうかはわかりません... – Wilt
もう1つ...インデックス化されていないバッファのジオメトリ間にパフォーマンスの違いはありますか? – Wilt
(1)#3で述べたように。上記のように、パフォーマンスに関する回答が必要な場合は、特定のアプリケーションのテストを行う必要があります。 (2)レンダラーは通常のジオメトリをバッファージオメトリに変換しますので、手動で変換する必要はありません。しかし、それは良い学習経験かもしれません。 (3)索引付けされた索引付けされていない「BufferGeometry」は、パフォーマンスに大きな違いがあるかどうかは関係ありません。ジオメトリに依存します。 – WestLangley