Una forma rápida para llevar a cabo la adición de 2 matrices flotantes grandes en Android. Opcional JNI o ​​OpenGL ES

StackOverflow https://stackoverflow.com/questions/2573622

Pregunta

Simplemente necesita agregar floatArray1 a floatArray2 almacenando el resultado en floatArray2 .. hay una tercera serie .. todas las matrices son de una sola dimensión, pero son muy grandes ... probibly tan grande como el sistema operativo me deja salirse con. Max i que se necesita es dos matrices de flotación con 40.000 flota cada uno ... pero yo podría salirse con la 1 / 10ª que supongo mínimo.

encantaría hacer esto en 1/30 ó 1 / 60th de un segundo, pero eso no parece posible? Además, si el código es JNI, NDK o OpenGL ES que ya está bien .. hace Android tienen un lenguaje ensamblador o como código de máquina que podría utilizar alguna manera?

¿Fue útil?

Solución

Desde un flotador vale 32 bits y tiene 40000 flotadores en cada matriz que se necesita:

  

40000 * 32 * 2 = 2.560.000 bits

¿Qué es 320,000 bytes. No a la cantidad de memoria inteligente, diría que ya que el límite predeterminado para una aplicación de Android es de 16 MB.

En cuanto a rendimiento que sin duda ganar un poco de velocidad utilizando JNI. OpenGL no le daría suficientes beneficios yo creo que desde la creación contexto OpenGL lleva algún tiempo también.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top