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.BufferGeometryis slowly replacingTHREE.Geometryas 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.DirectGeometryand what does it do? (I cannot seem to find any documentation on this) - Is this
THREE.BufferGeometrystored in_bufferGeometryalready automatically used? If not, can I simply use it instead of my geometry to boost performance? - There are conversion methods:
THREE.BufferGeometryhastoGeometryandTHREE.GeometryhastoBufferGeometry. 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.BufferGeometryfrom the start? - How and when should I use
THREE.BufferGeometry? - When will three.js stop supporting
THREE.Geometryin 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.


