常量引用中的性能 - LIBGDX

时间:2015-03-29 22:46:50

标签: java performance libgdx scene2d

为了检查和比较位置,我有很多条件if和开关。每个帧渲染中可能有数千个常量引用:

if(sprite.getY>10.2f) accel+=2f;

如果能够提供可读性,那么成千上万的线路会比上面的几千条线路更快吗?

public static final float MINYPOS = 10.2f;
public static final float ACCELY = 2f;
.....
if(sprite.getY>MINYPOS) accel+=ACCELY;

1 个答案:

答案 0 :(得分:2)

任何合理的Java编译器都会内联常量(请参阅is it possible to disable javac's inlining of static final variables?,它询问如何阻止它发生)。

但是,通常,您希望根据测量的性能问题进行优化。首先构建您知道可行的代码(因为那是困难的部分)。一旦它工作,你可以使用工具来测量它,并决定是否需要优化(通常它不会)。