Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/performance/5.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
Performance THREE.js重用几何体似乎效率不高_Performance_Memory Management_Geometry_Three.js - Fatal编程技术网

Performance THREE.js重用几何体似乎效率不高

Performance THREE.js重用几何体似乎效率不高,performance,memory-management,geometry,three.js,Performance,Memory Management,Geometry,Three.js,我正在使用相同的几何体(伪代码)将多个模型加载到场景中: 我注意到当一个对象出现在屏幕上时,多边形计数是1000,纹理:1,调用:1,着色器:1和几何体:1。当屏幕上有两个对象时,将报告2000个面、1个纹理、1个着色器、2个调用和2个几何体 我认为以这种方式重用几何体只会将几何体加载到gpu中一次。我是否遗漏了什么,有人能解释一下这种行为吗 Three.js r59您需要检查 renderer.info.memory.geometries 还有 renderer.info.memory.te

我正在使用相同的几何体(伪代码)将多个模型加载到场景中:

我注意到当一个对象出现在屏幕上时,多边形计数是1000,纹理:1,调用:1,着色器:1和几何体:1。当屏幕上有两个对象时,将报告2000个面、1个纹理、1个着色器、2个调用和2个几何体

我认为以这种方式重用几何体只会将几何体加载到gpu中一次。我是否遗漏了什么,有人能解释一下这种行为吗

Three.js r59

您需要检查

renderer.info.memory.geometries
还有

renderer.info.memory.textures
renderer.info.memory.programs

three.js r.59

我也使用它们,我是否应该关心多边形(面)计数?你的问题是关于重用几何体。你应该看到雷德勒正在这么做。人脸计数是另一个问题。很抱歉,我不理解你的评论;这些面不是几何体的一部分吗?请查看
WebGLRenderer.renderBuffer()
,以便了解发生了什么
renderer.info.render.faces
只是场景中渲染的三角形数。如果你正在共享几何图形,VBO正在被重用。啊,好的。因此,即使重用几何体,渲染器仍将显示独立的面/顶点?
renderer.info.memory.geometries
renderer.info.memory.textures
renderer.info.memory.programs