java - 常量引用的性能 - LIBGDX

标签 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;

最佳答案

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

不过,一般来说,您希望根据测量到的性能问题进行优化。首先构建您知道有效的代码(因为这是困难的部分)。一旦它起作用,您就可以使用工具来衡量它并决定是否需要优化(通常不需要)。

关于java - 常量引用的性能 - LIBGDX,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29335848/

相关文章:

java - 如何在聚合中映射_id参数

java - 类型与类 <...> 不匹配 : cannot convert from Class <. .>

java - 在eclipse的tomcat中更改Maven项目名称

performance - BProlog 8.1 中的表格性能不均衡

python - 从 Python 调用 C 数学函数的高效解决方案

java - 动态更新在 hibernate 状态下不起作用

r - 在 R 中按组有效地复制矩阵行

java - 当我更改 libGDX 中的分辨率时如何保持平铺 map 的外观

java - 如何在我的 LibGDX 游戏中分享屏幕截图?

android - Google Play 服务实时多人消息