Возможно, вы привязаны к процессору. Статистика использования тайлера / рендерера в инструменте OpenGL ES показывает, что рабочий цикл графического процессора составляет 20-30% для рендеринга со скоростью 20-30 кадров в секунду, что говорит о том, что графический процессор может работать со скоростью 60 кадров в секунду, если подаётся достаточно быстро. Похоже, есть несколько вещей, которые вы могли бы сделать, чтобы получить больше информации от Инструментов и Акулы о том, что преследовать:
По умолчанию Sampler показывает каждый образец из каждого потока, что означает, что в основном в представлении будут доминировать вспомогательные потоки, созданные в основном системными фреймворками. Чтобы лучше понять, что на самом деле делает процессор, убедитесь, что отображается подробный вид (третья кнопка слева в левом нижнем углу) и измените Sample Perspective на Running Sample Times, чтобы исключить образцы, где поток простаивает / блокируется. .
Я не вижу никаких образцов в следе Акулы из самого вашего приложения. Это может быть связано с тем, что ваш код достаточно быстр, чтобы его не было нигде в списке горячих функций, но также потому, что Shark не может найти символы для вашего приложения. Возможно, вам придется настроить пути поиска в его настройках или вручную указать Shark на двоичный файл вашего приложения. Кроме того, Shark по умолчанию показывает список функций, упорядоченный по тому, сколько процессорного времени затрачивается на них. Может быть полезно изменить представление на нечто более похожее на обычное дерево вызовов, чтобы вы могли визуализировать, как ваш общий цикл рендеринга тратит свое время. Для этого измените параметр «Вид» в правом нижнем углу на «Дерево (сверху вниз)». (Если вы не видите здесь ни названия своего приложения, ни функций, то Акула определенно пропускает ваши символы.)