Принудительное выполнение Renderscript на CPU или GPU (Atleast для настройки производительности)

у меня есть несколькоосновной Алгоритмы (DCT / IDCT и некоторые другие) перенесены и работают (как ожидается, по крайней мере функционально) на Nexus 10. Поскольку эти алгоритмы являются первыми реализациями, их время выполнения в настоящее время исчисляется секундами, что понятно.

Однако, учитывая архитектуру Renderscript, я вижу, что эти алгоритмы работают либо на CPU, либо на GPU, в зависимости от других операций параллельного приложения. Например, в моем приложении есть представление прокрутки для изображений, и любая активность в этом представлении, по существу, передает выполнение рендеринга в CPU. Если нет активности, алгоритм работает на GPU. Я вижу это вживую через следы ARM-DS5 Mali / A15.

Эта ситуация представляет собой кошмар отладки / настройки, поскольку дельта производительности, когда алгоритм работает на CPU (двухъядерный) по сравнению с GPU (Mali), составляет порядка 2 секунд, что делает очень трудным измерить улучшения производительности, которыми я являюсь делать на моем алгоритме кода.

Есть ли способ обойти эту проблему? Одним из возможных решений является, по крайней мере, иметь опцию отладочной конфигурации, чтобы выбрать тип цели (ARM, GPU) для кода Renderscript?

Ответы на вопрос(1)

Ваш ответ на вопрос