私はBufferGeometryまたはGeometryのどちらかを使用してかなりうまくいくので、私はこの時点で両方に慣れています。私は、多くのことを変更する必要がある場所でBufferGeometryを使用することさえ慣れています。コードはより冗長ですが、それほど多くはありません。Threejs - バッファーメトリーの使用量はどれくらいですか?
どのような場合に使用することができるかに関するガイドラインはありますか?
私はBufferGeometryまたはGeometryのどちらかを使用してかなりうまくいくので、私はこの時点で両方に慣れています。私は、多くのことを変更する必要がある場所でBufferGeometryを使用することさえ慣れています。コードはより冗長ですが、それほど多くはありません。Threejs - バッファーメトリーの使用量はどれくらいですか?
どのような場合に使用することができるかに関するガイドラインはありますか?
three.jsのローダーの多くは、Geometry
の代わりにBufferGeometry
を返すように変更されています。これは、ロードが高速で、BufferGeometry
がメモリ効率が良いためです。
BufferGeometry
は、GPUに渡すのが簡単な形式でデータを格納します。 Geometry
は、一部の点ではよりユーザーフレンドリな形式でデータを格納します。プログラムでジオメトリを操作する必要がある場合は、Geometry
を使用すると便利です。
three.jsにはGeometry
とBufferGeometry
の間で変換するメソッドが用意されていますので、どちらでも使用できます。
どの程度速度が上がり、メモリ使用量が少なくても、ユースケース固有です。
両方のデータ構造に精通していると、アプリケーションに最適なものを自分で決めることができます。
three.js r.75
感謝をベンチマークされる - しかし、私はBufferGeometryは、GPUに渡され、どのくらい速く求めることができますか?それとも他のことにも依存しているのですか? –
'Geometry'はGPUに渡すレンダラによって常に' BufferGeometry'に変換されます。 'Geometry'の作成を完全に避けることができれば、節約はCPU側で発生します。 – WestLangley
ありがとう!それは毎フレームのコンバージョンですか?かなりのフットプリントで? –
すべての最適化問題と同様に唯一の信頼できるリソースは、あなたの特定のユースケース –