我开始使用Java中的OpenGL,我遇到的情况是需要在许多glBegin()和glEnd()调用之间放置大量代码,并希望代码能够自动格式化很容易看出哪些代码属于哪个glBegin/glEnd.
为此,我一直在使用匿名代码块,如下所示:
glBegin(GL_QUADS);
{
glVertex2f(100, 100);
glVertex2f(100+200, 100);
glVertex2f(100+200, 100+200);
glVertex2f(100, 100+200);
}
glEnd();
Run Code Online (Sandbox Code Playgroud)
我的问题是:对于以这种方式使用代码块,是否有任何性能问题,即使是非常小的问题?或者,一旦编译程序,它是否完全不使用代码块?
使用这样的块应该没有成本.块是用于作用域的语言的语法特征,并且没有关联的运行时功能.查看由JVM执行的编译字节码,无法确定函数的作用域规则是什么,因此JVM应该在有和没有块的情况下提供相同的性能.
如果你觉得它更容易阅读,请随意这样做.事实上,除非你有理由怀疑,否则这几乎应该是你的首要任务.
希望这可以帮助!
| 归档时间: |
|
| 查看次数: |
266 次 |
| 最近记录: |