Estoy haciendo una aplicación de cámara y esta aplicación proporcionará algunos filtros a los usuarios. Actualmente mi código está en NDK y funciona bien, sin embargo, quiero hacerlo un poco más rápido. Parece que GPU y OpenGL Es 2.0 es el camino a seguir. Mi única preocupación con GPU es su limitación de memoria. Dado que las cámaras modernas toman imágenes de 5-10 mp mientras que la limitación de la memoria de la GPU es mucho menor que eso. Me preguntaba si hay una forma de evitar esa limitación. La única opción lógica que me parece es dividir la parte más pequeña de la imagen y luego procesarla en la GPU y finalmente ensamblarlas en la imagen final. Mi pregunta es, si este enfoque aún sería bueno para el rendimiento y también hay alguna otra opción para el procesamiento de imágenes de alta resolución en GPU móviles.¿Cómo manejar la limitación de memoria de la GPU para el procesamiento de imágenes de alta resolución en la GPU?
Editar: Tengo que aclarar que quiero usar la GPU para el procesamiento de imágenes, así que mi objetivo no es presentar resultados en la pantalla. Lo renderizaré a otra textura y lo guardaré en el disco.
Realmente depende de lo que estás tratando de hacer. La ventaja que ofrecen las GPU es que son muy paralelas, pero no todos los problemas se pueden facilitar simplemente arrojando más núcleos hacia ellos. – thecoshman
Quería obtener una solución general a un problema general, sin embargo actualmente estoy tratando de codificar "pirámide laplaciana", que es muy costosa cuando se hace en la CPU. – dirhem
bueno, si está haciendo algo así como aplicar un tinte a una imagen, donde desea aplicar la misma operación a todos los bits, entonces la carga a la GPU es una solución obvia. tareas como difuminar una imagen son un poco más complicadas, ya que cada nuevo valor de píxeles depende de un rango de píxeles. Sin embargo, en su caso, debe tener en cuenta que existen muchas diferencias entre el hardware, como la cantidad de ram que admiten, la textura grande y la cantidad de datos que puede enviarles. Es posible que ni siquiera puedan hacer el procesamiento de estilo OpenCL. – thecoshman