Three.js 性能:RendererStats 顶点数
Three.js Performance: RendererStats Vertex Count
我正在使用 RendererStats 优化我的 THREE.js (R75) 场景以获得更好的性能。
RendererStats 顶点数高于预期。例如,我有一个具有 6 x 6 段的普通球体。在 mergeVertices() 之后,几何显示 geometry.vertices 数组中的 32 个顶点,这是预期的。但是 RendererStats 显示的顶点数为 180。各种大小的多次测试都显示相同的结果;大约是 RendererStats 中列出的预期顶点数的 5 倍以上。
这些额外的顶点从何而来,我可以避免生成它们吗?
附加问题:减少顶点数是否有助于显着提高性能,还是我的努力更好地集中在其他地方?
顶点在您的模型中是共享的,因此渲染的顶点数将大于您模型中的顶点数。
报告的渲染顶点数将是三角形数的三倍。你应该有 60 个三角形,也就是 180 个顶点。
性能视具体情况而定,取决于场景的复杂程度。考虑使用 SphereBufferGeometry
而不是 SphereGeometry
。如果您有静态场景,请避免动画循环。 (即,仅在相机移动时渲染。)使用最新版本的 three.js 库。
three.js r.77
我正在使用 RendererStats 优化我的 THREE.js (R75) 场景以获得更好的性能。
RendererStats 顶点数高于预期。例如,我有一个具有 6 x 6 段的普通球体。在 mergeVertices() 之后,几何显示 geometry.vertices 数组中的 32 个顶点,这是预期的。但是 RendererStats 显示的顶点数为 180。各种大小的多次测试都显示相同的结果;大约是 RendererStats 中列出的预期顶点数的 5 倍以上。
这些额外的顶点从何而来,我可以避免生成它们吗?
附加问题:减少顶点数是否有助于显着提高性能,还是我的努力更好地集中在其他地方?
顶点在您的模型中是共享的,因此渲染的顶点数将大于您模型中的顶点数。
报告的渲染顶点数将是三角形数的三倍。你应该有 60 个三角形,也就是 180 个顶点。
性能视具体情况而定,取决于场景的复杂程度。考虑使用 SphereBufferGeometry
而不是 SphereGeometry
。如果您有静态场景,请避免动画循环。 (即,仅在相机移动时渲染。)使用最新版本的 three.js 库。
three.js r.77