roo*_*oob 2 rendering frame-rate three.js
我有一个场景,只有一个摄像头和一个 PlaneBufferGeometry
如果我将这架飞机尺寸设为 1x1,我会得到 60fps
如果我将这架飞机尺寸设为 1000x1000,我会得到 <20fps
为什么会发生这种情况?我在屏幕上绘制相同数量的顶点。
只需size
在 1 到 1000 之间更改定义即可观察问题。
var size = 10000;
//size = 1;
var geometry = new THREE.PlaneBufferGeometry(size, size);
Run Code Online (Sandbox Code Playgroud)
我在这个例子中添加了 50 个相同的平面。只有一架飞机没有显着的 fps 命中率。
这绝对是正常的。更大的平面覆盖屏幕上更多的表面,因此像素更多。光栅化过程会发出更多的片段。对于每一个,GPU 将检查它是否通过了深度测试和/或模板测试。如果是这样,它将为每个像素调用片段着色器。
尝试放大 1x1 平面,直到它覆盖整个屏幕。你的 FPS 也会下降。
归档时间: |
|
查看次数: |
861 次 |
最近记录: |