数学或MathUtils - Libgdx

时间:2015-03-08 11:08:00

标签: libgdx scene2d

我在每帧中进行了大量的三角计算。 Java的数学函数是否比Libgdx的MathUtils更快?

或者我可以使用的其他库比这两个库都快吗?

1 个答案:

答案 0 :(得分:6)

com.badlogic.gdx.math.MathUtils的三角函数比java.lang.Math中的模拟函数更快。例如,对于sin()cos()方法,它会从预先计算的表中返回最接近的值。这绝对不如精确计算准确,但更快:

static public float sin (float radians) {
    return Sin.table[(int)(radians * radToIndex) & SIN_MASK];
}

MathUtils的其他方法主要是实用程序函数,LibGDX的其他部分使用它们。我认为它们的编写主要是为了方便而不是速度(但它们也得到了很好的优化)。