奇怪的FPS下降

时间:2015-09-12 08:34:09

标签: 3d three.js webgl gpu

我已经在3个缓冲区几何中编写了this small three.js scene 360,000个顶点,并添加了stats FPS计数器来检查它们的演变。

我在我的中档笔记本电脑上遇到了一种奇怪的行为:60 FPS,并且有一个很高的'变焦,60 FPS,低''缩放,但在中间'缩放(网格'角落在相机的平截头体上方,加上或减去一个数量级)。总是。

enter image description here

这种行为对我没有意义。怎么解释?

1 个答案:

答案 0 :(得分:3)

这里知情猜测。让我们从左到右,A,B和C调用你的图像。

在A中,许多线都在视锥体之外,并且根本没有绘制。

在B中,绘制所有线条。

在C中,绘制了所有线条,但填充的像素不多。此外,很少有空间至少有一行没有进入,所以如果启用Z缓冲,许多像素将永远不会被重新填充。

总结如下:

来自视锥体剔除的好处(+),但可能具有较低的Z复杂度( - ),并且不会像B(+)那样填充多个像素。

B对截锥体剔除( - )几乎没有任何好处,只有中心最密集区域(小+)的Z缓冲(如果有的话)。似乎填充的像素多于A( - )。

C不会获得截头效益( - )但会填充更少的像素(+)并获得最佳的Z缓冲效益(如果有的话)(+)。