Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript THREE.js从服务器加载mesh时会产生巨大的内存开销_Javascript_Three.js - Fatal编程技术网

Javascript THREE.js从服务器加载mesh时会产生巨大的内存开销

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

我在服务器端有一个网格作为json。然后我向服务器发送JSON请求并接收相当庞大的JSON(55M),然后解析并填充
THREE.Geometry

在我加载网格之前,Firefox的内存消耗是200M,操作完成后,网格被加载并显示在画布上,消耗量猛增到2G

现在使用,我正在计算参与加载和显示网格的所有对象的大小,得到以下结果:

  • 从服务器接收到的JSON字符串:108M
  • 解析的JSON对象:48M
  • 几何体对象:176M
现在所有这些总共消耗了332M的内存,而FF消耗了1.8G,这几乎是1.5G的开销


所以问题是,这些开销从何而来?我如何避免它?

您使用的网格一定很大。。。也许一些关于实际数据的细节对这个问题有用?是的,这是个大问题。略大于1 mil tris,500k+垂直。正如我所说的,实际数据存储在5M JSON中,我通过Ajax获得,然后构建实际的三个JS几何体。也许您应该考虑使用<代码> BufferGeometry <代码>而不是<代码>几何< /代码>。它可能会为您节省一些内存。是的,尝试过,但我需要光线投射,所以我需要面。我认为最新版本的three.js支持缓冲区几何体上的光线投射