Android 我可以使用glscissor提高性能吗

Android 我可以使用glscissor提高性能吗,android,opengl-es,Android,Opengl Es,我正在使用OpenGL ES 1.1为android开发一个2D游戏,我想知道这个想法是好是坏还是没用 我有一个分为3个部分的屏幕,所以我使用剪刀来避免对象从一个视图重叠到另一个视图 我大致了解scissor的底层实现,因为我的绘图占了计算的很大一部分,所以我正在寻找加速它的方法 我目前的想法如下: 如果我在绘制每个对象之前在其周围放置一个glscissor,我会提高应用程序的速度吗 这个想法是,如果我放置一个GLScissor(center+/-sizetexture),那么OpenGL管道将

我正在使用OpenGL ES 1.1为android开发一个2D游戏,我想知道这个想法是好是坏还是没用

我有一个分为3个部分的屏幕,所以我使用剪刀来避免对象从一个视图重叠到另一个视图

我大致了解scissor的底层实现,因为我的绘图占了计算的很大一部分,所以我正在寻找加速它的方法

我目前的想法如下:

如果我在绘制每个对象之前在其周围放置一个glscissor,我会提高应用程序的速度吗

这个想法是,如果我放置一个GLScissor(center+/-sizetexture),那么OpenGL管道将有更少的测试要做(因为由于GLScissor,它可以丢弃90~99%的曲面)


因此,对于所有opengl专家来说,这是好的、坏的还是没有影响?为什么?

它不应该有任何影响,IMHO。我不是专家,但我的想法如下:

  • 剪刀测试节省了GPU的填充率(硬件每秒可以放入帧缓冲区的碎片/像素数量)
  • 如果在每个对象周围放置一个
    glScissor
    ,测试实际上不会切断任何东西-将渲染相同数量的像素,因此不会保存填充率

如果要优化渲染,一个很好的起点是确保进行优化,并减少绘制调用或复杂状态开关(纹理开关)的数量


当然,正确的优化方法是尝试诊断渲染速度慢的原因,因此以上只是我的猜测,在您的特定情况下可能会有帮助,也可能没有帮助。

我对剪刀的印象是,它允许在图形管道中更快地丢弃像素(避免重复测试等)但是无论如何谢谢你的链接我会查的out@Jason罗杰斯:当然,对于那些将被剪刀丢弃的像素,它可以提前丢弃。在你的情况下,那没有像素,所以没有改进。