Проблемы с производительностью Android (JUCE) при НЕ касании экрана

Я портирую приложение для iOS, созданное в JUCE, на Android (в настоящее время в бета-версии). У меня есть какое-то странное поведение, когда я получаю аудио глюки и пропуски кадров GUI, которые появляются, только когда НЕ касаются экрана.

Приложение использует OBOE с JUCE 5.4.0 и скомпилировано только для Android 8.0 и выше. Странно, эта проблема возникает только на Galaxy S9 (тесты в порядке на Note 8, Note 9, Xiaomi mi A1 и некоторых других устройствах). Я пробовал с новым заводским сбросом на Galaxy S9.

Я новичок в разработке Android.

0

Решение

То, что вы испытываете, вероятно, будет масштабатором частоты процессора на Galaxy S9, который агрессивно уменьшает частоту процессора, когда к экрану не прикасаются. Это приводит к недостаточной вычислительной полосе пропускания, в результате чего ваше приложение занимает слишком много времени внутри звукового обратного вызова, что приводит к недоработке / сбоям.

Чтобы проверить это использовать systrace и профилировщик Android Studio. Systrace покажет вам как потери звука, так и частоту процессора.

Прикоснитесь к экрану во время трассировки, и вы увидите увеличение частоты процессора, а затем вскоре падение.

Если это так, вы можете попробовать несколько вещей:

  1. Убедитесь, что вы используете самые оптимальные флаги компилятора -Ofast или же -O3
  2. Используйте недавно выпущенный StabilizedCallback учебный класс в Oboe, который был разработан именно для этой цели — он будет пытаться сохранить вращение процессора, чтобы избежать его уменьшения.
  3. Мониторинг опустошения (доступно через AudioStream::getUnderruns()) и уменьшайте свою вычислительную нагрузку, пока не прекратите получать их.

Если у вас все еще есть проблемы, опубликуйте свой код или, по крайней мере, достаточно, чтобы воспроизвести проблему, на github, и я постараюсь взглянуть.

Масштабирование частоты процессора является проблемой для приложений реального времени, которые предъявляют значительные требования к пропускной способности процессора.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]