Iphone glClear对填充率有很大影响吗?

Iphone glClear对填充率有很大影响吗?,iphone,ios,ipad,opengl-es,opengl-es-2.0,Iphone,Ios,Ipad,Opengl Es,Opengl Es 2.0,我正在iPhone openGL ES项目中使用多重采样。只需使用glClear命令,渲染器的利用率就会上升到几乎42%。这是应该的方式还是我做错了什么?我正在使用第四代iPod Touch进行测试。您的意思是,与仅包含场景的渲染相比,在包含场景的渲染中,渲染器的利用率达到~42%+“清晰”吗 glClear()在PowerVR GPU上是一种非常高效的操作,因为清除是在GPU处理的磁贴上完成的。我能想到的唯一一种情况是,如果你的测试只包括一个清除和一个交换,而不是一个交换(GPU的工作将得到优

我正在iPhone openGL ES项目中使用多重采样。只需使用glClear命令,渲染器的利用率就会上升到几乎42%。这是应该的方式还是我做错了什么?我正在使用第四代iPod Touch进行测试。

您的意思是,与仅包含场景的渲染相比,在包含场景的渲染中,渲染器的利用率达到~42%+“清晰”吗

glClear()在PowerVR GPU上是一种非常高效的操作,因为清除是在GPU处理的磁贴上完成的。我能想到的唯一一种情况是,如果你的测试只包括一个清除和一个交换,而不是一个交换(GPU的工作将得到优化),那么清除会引入开销

让您了解glClear是如何被图形驱动程序解释的


如果您想更多地了解PowerVR体系结构以及glClear()等操作的处理方式,我还建议您阅读“SGX开发人员体系结构指南”和“PowerVR性能建议”在Imagination上。

没有。只需使用glClearColor和glClear命令,我的所有其他绘图代码都被注释掉,它的利用率就达到了42%。glClear与使用填充颜色渲染全屏矩形相同吗?啊,好的。如上所述,将优化无功渲染。您会看到渲染器工作负载的增加,因为GPU被告知要处理清晰的渲染(这非常便宜,但肯定比不渲染更昂贵)。它不是一个全屏的四元屏幕。调用glClear时,会将标志传递给GPU,指示应清除哪些缓冲区(优化路径)。在PowerVR GPU上,除非需要保留以前的渲染,否则应始终清除。该标志还表示不需要将以前的图像上载到GPU。因此,在使用多采样时获得如此高的利用率是正常的。如果我关闭多重采样,它会下降到18%左右,只需glClear()而无需其他绘图代码。这听起来很正常。成本是处理任何事情的基准——即使是像一个清晰的图像这样简单的事情。如果在渲染中添加几个draw调用,我希望性能大致相同。我自己的测试表明,如果调用glClear(),则性能会受到显著影响,如果不调用glClear(),则运行速度会更快。这是在视图中使用GLKit和OpenGLES2.0。探查器工具声称,如果调用glClear(),性能会更好,但在iOS下使用GLKit似乎不是这样。