2016-03-29 11 views
0

私はBufferGeometryまたはGeometryのどちらかを使用してかなりうまくいくので、私はこの時点で両方に慣れています。私は、多くのことを変更する必要がある場所でBufferGeometryを使用することさえ慣れています。コードはより冗長ですが、それほど多くはありません。Threejs - バッファーメトリーの使用量はどれくらいですか?

どのような場合に使用することができるかに関するガイドラインはありますか?

+0

すべての最適化問題と同様に唯一の信頼できるリソースは、あなたの特定のユースケース –

答えて

1

three.jsのローダーの多くは、Geometryの代わりにBufferGeometryを返すように変更されています。これは、ロードが高速で、BufferGeometryがメモリ効率が良いためです。

BufferGeometryは、GPUに渡すのが簡単な形式でデータを格納します。 Geometryは、一部の点ではよりユーザーフレンドリな形式でデータを格納します。プログラムでジオメトリを操作する必要がある場合は、Geometryを使用すると便利です。

three.jsにはGeometryBufferGeometryの間で変換するメソッドが用意されていますので、どちらでも使用できます。

どの程度速度が上がり、メモリ使用量が少なくても、ユースケース固有です。

両方のデータ構造に精通していると、アプリケーションに最適なものを自分で決めることができます。

three.js r.75

+0

感謝をベンチマークされる - しかし、私はBufferGeometryは、GPUに渡され、どのくらい速く求めることができますか?それとも他のことにも依存しているのですか? –

+0

'Geometry'はGPUに渡すレンダラによって常に' BufferGeometry'に変換されます。 'Geometry'の作成を完全に避けることができれば、節約はCPU側で発生します。 – WestLangley

+0

ありがとう!それは毎フレームのコンバージョンですか?かなりのフットプリントで? –

関連する問題