Javascript THREE.js从服务器加载mesh时会产生巨大的内存开销
我在服务器端有一个网格作为json。然后我向服务器发送JSON请求并接收相当庞大的JSON(55M),然后解析并填充Javascript THREE.js从服务器加载mesh时会产生巨大的内存开销,javascript,three.js,Javascript,Three.js,我在服务器端有一个网格作为json。然后我向服务器发送JSON请求并接收相当庞大的JSON(55M),然后解析并填充THREE.Geometry 在我加载网格之前,Firefox的内存消耗是200M,操作完成后,网格被加载并显示在画布上,消耗量猛增到2G 现在使用,我正在计算参与加载和显示网格的所有对象的大小,得到以下结果: 从服务器接收到的JSON字符串:108M 解析的JSON对象:48M 几何体对象:176M 现在所有这些总共消耗了332M的内存,而FF消耗了1.8G,这几乎是1.5G
THREE.Geometry
在我加载网格之前,Firefox的内存消耗是200M,操作完成后,网格被加载并显示在画布上,消耗量猛增到2G
现在使用,我正在计算参与加载和显示网格的所有对象的大小,得到以下结果:
- 从服务器接收到的JSON字符串:108M
- 解析的JSON对象:48M
- 几何体对象:176M
所以问题是,这些开销从何而来?我如何避免它?您使用的网格一定很大。。。也许一些关于实际数据的细节对这个问题有用?是的,这是个大问题。略大于1 mil tris,500k+垂直。正如我所说的,实际数据存储在5M JSON中,我通过Ajax获得,然后构建实际的三个JS几何体。也许您应该考虑使用<代码> BufferGeometry <代码>而不是<代码>几何< /代码>。它可能会为您节省一些内存。是的,尝试过,但我需要光线投射,所以我需要面。我认为最新版本的three.js支持缓冲区几何体上的光线投射