2010-12-03 91 views
2

我正在使用OpenGL ES 1.1为Android设计一款2D游戏,我想知道这个想法是好还是坏/无用。我可以使用glscissor提高性能吗

我有一个屏幕分为3个部分,所以我用剪刀避免物体重叠从一个视图到另一个。

我大致了解了剪刀的低级实现,由于我的绘图占用了计算的很大一部分,我正在寻找想法来加速它。

我现在的想法是:

如果我把一个glscissor围绕每一个对象之前,我画它,我会增加我的应用程序的速度。

的想法是,如果我把一个GLScissor,(+/-中心sizetexture),然后OpenGL的管道将有较少测试做(因为它可以抛弃90〜99%的表面感谢到glscissors。

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

回答

1

它应该没有任何影响,恕我直言,我不是专家,但我的想法如下:

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

如果您希望您的渲染优化,一个良好的开端是确保你正在做最佳batching和减少绘制调用或复杂的状态开关(纹理开关)的数量。

当然,正确的优化方法是尝试诊断为什么你的渲染速度慢,所以以上只是我的猜测,这可能会或可能不会帮助您的特定情况。

+0

好吧,我在剪刀的印象下,它会允许在图形管道中更早地丢弃像素(避免重叠测试等),但无论如何感谢链接我会检查出 – 2010-12-03 06:28:54

相关问题