创建更多变量或计算何时将参数传递给函数

时间:2016-01-09 14:00:52

标签: java function libgdx rendering draw

所以我有一个表现问题。声明更多变量然后将它们作为参数传递或在将其作为函数的参数传递时计算它是否更好。我举个例子:

shapeRenderer.rect(gameWidth/32 -(border/2) + gameWidth/60,gameHeight/18 - (border/2), gameWidth/3 + border ,gameHeight/30 + border);

由于每个帧都调用此函数,这是否意味着它被反复计算50 fps,50次?如果我在构造函数中声明了新变量,它会提高性能,例如:

float x = gameWidth/32 -(border/2) + gameWidth/60;
float y = gameHeight/18 - (border/2);
float width = gameWidth/3 + border;
float height = gameHeight/30 + border;

然后调用函数:

shapeRenderer.rect(x, y, width, height);

因为我要说100个矩形被绘制,这将导致400个变量(每个矩形具有不同的位置和尺寸)。这会提高性能吗?

3 个答案:

答案 0 :(得分:2)

如果您的矩形具有固定的尺寸/位置,那么在初始化矩形时预先计算值会更好,但如果这些值可以更改,则必须重新计算所有内容。

<强>建议:

  

只要您没有性能问题,就不建议这样做   尝试微调您的应用程序。

答案 1 :(得分:0)

在构造函数中声明新变量应该更快。但是由于JVM的优化也很可能会让你觉得没有速度执行的好处。

答案 2 :(得分:0)

不,它不会。如果查看java ByteCode,说明将是相同的。