我正在使用OpenGL ES 1.1开发Android游戏2D游戏,我想知道这个想法是好/坏/没用。
我的屏幕分为3个部分,因此我使用剪刀避免从一个视图到另一个视图的对象重叠。
我粗略地理解剪刀的低级实现,因为我的绘图占据了计算的很大一部分,所以我正在寻找加速它的想法。
我目前的想法如下:
如果我在绘制之前在每个对象周围放置一个glscissor,我是否会提高应用程序的速度。
我的想法是,如果我放置一个GLScissor(中心+/- sizetexture),那么OpenGL管道将进行较少的测试(因为它可以通过glscissors丢弃90%~99%的表面。
所以对所有opengl专家来说,这是好的,坏的还是没有影响?为什么?
答案 0 :(得分:1)
它应该没有任何影响,恕我直言。我不是专家,但我的想法如下:
glScissor
,测试实际上不会切断任何东西 - 将渲染相同数量的像素,因此不会保存填充率。如果你想让你的渲染得到优化,一个好的起点就是确保你做得最佳batching并减少绘制调用或复杂状态开关(纹理开关)的次数。
当然,正确的优化方法是尝试诊断为什么渲染速度慢,所以以上只是我的猜测,在您的特定情况下可能会有所帮助。