Obligando a Renderscript a ejecutarse en la CPU o GPU (Atleast para fines de ajuste de rendimiento)

tengo algunosBASIC los algoritmos (DCT / IDCT y algunos otros) se portaron y funcionaron (como se espera, funcionalmente) en el Nexus 10. Dado que estos algoritmos son las primeras implementaciones, su tiempo de ejecución se está ejecutando en segundos, lo cual es comprensible.

Sin embargo, dada la arquitectura de Renderscript, veo que estos algoritmos se ejecutan en la CPU o en la GPU en función de otras actividades de aplicaciones paralelas. Por ejemplo, en mi aplicación, hay una vista de desplazamiento para las imágenes y cualquier actividad en esta vista, esencialmente empuja la ejecución del script a la CPU. Si no hay actividad, el algoritmo se ejecuta en GPU. Lo veo en vivo a través de las trazas ARM-DS5 Mali / A15.

Esta situación se presenta a sí misma como una pesadilla de debug / tuning, ya que el delta de rendimiento cuando el algoritmo se ejecuta en la CPU (doble núcleo) frente a la GPU (Mali) es del orden de 2 segundos, lo que hace que sea muy difícil calcular las mejoras de rendimiento que soy. haciendo en mi código de algoritmo.

¿Hay alguna manera de solucionar este problema? ¿Una solución posible es tener al menos una opción de configuración de depuración para elegir el tipo de destino (ARM, GPU) para el código de representación?

Respuestas a la pregunta(1)

Su respuesta a la pregunta