据我了解,使用缓冲区几何图形将提高性能并减少内存使用量,因为它降低了将所有这些数据传递到 GPU 的成本。
正如我从@WestLangley 那里了解到的,他的帖子在这里:
THREE.BufferGeometry
正在慢慢取代THREE.Geometry
,因为它的计算效率更高。
我目前正在使用 three.js - r72。
当我绘制我的几何体制作网格并将它们添加到场景中时,我看到我的几何体中有两个属性__directGeometry
和_bufferGeometry
.
在这里THREE.BoxGeometry
:
在这里THREE.Geometry
:
在这里THREE.ShapeGeometry
:
我的问题:
- 什么是a
THREE.DirectGeometry
,它有什么作用?(我似乎找不到任何关于此的文档) - 这是
THREE.BufferGeometry
存储在_bufferGeometry
已经自动使用的吗?如果没有,我可以简单地使用它而不是我的几何体来提高性能吗? - 有转换方法:
THREE.BufferGeometry
hastoGeometry
和THREE.Geometry
hastoBufferGeometry
。THREE.BufferGeometry
如果我使用此方法将所有正常几何图形转换为缓冲几何图形,与从一开始就绘制它们相比,它会给我带来相同的性能提升吗? - 我应该如何以及何时使用
THREE.BufferGeometry
? - three.js 什么时候会停止
THREE.Geometry
支持THREE.BufferGeometry
?
注意:我找不到有关何时以及如何使用缓冲区几何图形或何时替换THREE.Geometry
. 但是,如果有人有好的来源或参考,请发表评论。