我正在渲染大量(数百万)实例化几何体。几何本身很简单,一个没有底面的盒子。渲染的场景实际上是一个 3D 图形,其中框是线(使用剔除一次仅渲染 3 个面)。
当场景占据屏幕的小区域(缩小或小窗口)时,帧率还可以,但当它变得更大时,帧率会低于可接受的水平。场景不会不断重绘,只是在用户更改视图(旋转、缩放)并且帧速率限制为 60 fps 时。
首先,确定问题。我不确定我是否达到了填充率限制或像素着色器吞吐量限制(多处理器太少而无法处理所有片段)。像素着色器什么都不做,只是输出颜色,但这仍然会导致处理器运行代码。我在 Optimus 架构中的 Nvidia 635m 上运行它,并且可以预期类似的移动 GPU 可以运行它。我如何确定哪些是问题?
确定问题后的下一步就是解决问题。通常,没有很多遮挡片段(就像我渲染一个房间然后在它前面放置墙一样),因此在这方面进行优化会有边际改进。还有什么其他方法可以提高帧率?