2015-03-29 1 views
1

У меня есть много условных if's и переключателей для проверки и сравнения позиций. Есть, вероятно, тысячи ссылок на константы в каждом кадре делают:Производительность в константах - LIBGDX

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

Оставляя asside читаемости, будут тысячи строк, как один пыльник быстрее, чем тысячи строк, как верхний?

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

ответ

2

Любой разумный Java компилятор строковых констант (см is it possible to disable javac's inlining of static final variables?, который с просьбой о том, чтобы остановить его от происходящего).

Как правило, вы хотите оптимизировать, основываясь на измеренных проблемах с производительностью. Начните с создания кода, который, как вы знаете, работает (так как это сложная часть). Как только он работает, вы можете использовать инструменты для его измерения и решить, нужно ли его оптимизировать (часто это не будет).