As I understood using buffer geometries will increase performance and decrease memory usage because it reduces the cost of passing all this data to the GPU.
And as I understood from @WestLangley his post here:
THREE.BufferGeometry
is slowly replacingTHREE.Geometry
as it is computationally more efficient.
I am currently using three.js - r72.
When I draw my geometries make meshes and add them to the scene I see that there are two properties inside my geomtries __directGeometry
and _bufferGeometry
.
Here in a THREE.BoxGeometry
:
Here in a THREE.Geometry
:
Here in a THREE.ShapeGeometry
:
My questions:
- What is a
THREE.DirectGeometry
and what does it do? (I cannot seem to find any documentation on this) - Is this
THREE.BufferGeometry
stored in_bufferGeometry
already automatically used? If not, can I simply use it instead of my geometry to boost performance? - There are conversion methods:
THREE.BufferGeometry
hastoGeometry
andTHREE.Geometry
hastoBufferGeometry
. If I convert all my normal geometries to buffer geometries using this method, will it give me the same performance increase compared to drawing them as aTHREE.BufferGeometry
from the start? - How and when should I use
THREE.BufferGeometry
? - When will three.js stop supporting
THREE.Geometry
in favor ofTHREE.BufferGeometry
?
NOTE: I couldn't find detailed information on when and how to use buffer geometries or when it is going to be replacing THREE.Geometry
. But if someone has a good source or reference please leave a comment.