在Android中执行添加2个LARGE浮点数组的快速方法。可选的JNI或Opengl ES

时间:2010-04-04 05:04:06

标签: android opengl-es java-native-interface android-ndk

我只需要将floatArray1添加到floatArray2中,将结果存储在floatArray2中。没有第三个数组..所有数组都是一维的,但是非常大......可能与os一样大,让我逃脱。 Max我需要的是两个浮点数组,每个浮点数有40,000个浮点数...但是我可以用1/10来消除我认为最小值。

愿意在1/30或1/60秒内做到这一点,但这似乎不可能?此外,如果代码是JNI,NDK或OpenGL ES,那很好..安卓是否有汇编语言或类似的机器代码,我可以用某种方式?

1 个答案:

答案 0 :(得分:3)

由于浮点数值为32位,并且每个数组中有40000个浮点数,您需要:

  

40000 * 32 * 2 = 2.560.000位

这是320.000 Byte。我会说,因为Android应用程序的默认限制是16MB。

关于性能,你肯定会使用JNI获得一些速度。 OpenGL不会给你足够的好处,因为OpenGL上下文创建也需要一些时间。