我在每帧中进行了大量的三角计算。 Java的数学函数是否比Libgdx的MathUtils更快?
或者我可以使用的其他库比这两个库都快吗?
答案 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的其他部分使用它们。我认为它们的编写主要是为了方便而不是速度(但它们也得到了很好的优化)。