BufferAttribute中的内存使用情况

时间:2015-02-11 13:42:36

标签: three.js

//这是一个新手问题,对WebGL没什么经验

我正在尝试优化内存使用(主要是为了允许我们的网站使用移动设备)。

我们的网格使用BufferGeometry和几个BufferAttribute实例(顶点,法线,颜色等),正如我在IE DevTools中看到的,每个BufferAttribute都包含两个主要的内存消耗字段:

  • 数组 - 给定缓冲区属性的数据。
  • 缓冲区 - WebGL缓冲区,其中包含来自数组字段的复制数据。

据我了解 - 在某些情况下会重新创建缓冲区,此时数组数据将被重复使用。但如果所有几何体都是只读的 - 清理数组以节省内存是否安全?或者还有其他情况需要重新创建WebGL缓冲区(比如 - 用户切换到浏览器中的另一个选项卡,并且所有WebGL内容都应该在返回时重新创建)?

1 个答案:

答案 0 :(得分:0)

据我了解,您需要保留CPU数据,以防WebGL上下文丢失。在这种情况下,GL对象都必须从CPU数据中重新创建。