opengl glLoadIdentity()比glPushMatrix()/ glPopMatrix()更快?

1 opengl performance

我做了一个粒子发射器.我不需要在我的转换中管理父/子层次结构.

什么是最快的?

glPushMatrix()
    ..apply tranformations
    ...draw object
glPopMatrix()
Run Code Online (Sandbox Code Playgroud)

要么

glLoadIdentity()
    ..apply tranformations
    ...draw object
Run Code Online (Sandbox Code Playgroud)

对于我的每一个特征?

我在我的程序中尝试了这两种技术,但我没有看到FPS的任何差异.少数变化可以来自我的PC上的其他程序,例如防病毒.(我猜)

Nic*_*las 5

都不是.如果你正在渲染一个粒子数量可能是性能问题的粒子系统,那么为每个粒子发送一个变换(这意味着为每个粒子发出一个单独的渲染调用)将会消除任何性能希望.

如果你想要一个粒子系统,你最好的办法是将粒子全部放在一个数组中(最好是一个缓冲区对象)并在一次调用中渲染它.