是否有可能通过使用脏矩形来优化OpenGL ES 2.0绘图?
在我的例子中,我有一个2D应用程序,它需要绘制一个背景纹理(iPad上的全屏),然后在每个帧上绘制几个VBO的内容。问题是这些VBO可能包含数百万个顶点,将所有内容绘制到显示器上都需要几秒钟的时间。然而,实际上只有一小部分显示会在每一帧中更新。
这种优化可能吗,以及如何(或者更恰当地说,在哪里)实现这种优化?是否需要将某种剪裁平面传递到顶点着色器中?
发布于 2011-04-24 06:42:32
如果使用glViewport设置区域,则会相应地调整剪裁。但是,这发生在顶点着色器阶段之后,就在光栅化之前。由于GL无法知道您自己的顶点程序的结果,因此在应用顶点程序之前,它无法对任何顶点进行排序。在那之后,它就发生了。它的效率取决于实际的GPU。
因此,您必须对对象进行排序并将其拆分为较小的对象(例如,矩形有界)瓷砖,并测试它们与自己的视野,以获得完整的性能。
https://stackoverflow.com/questions/5767192
复制相似问题