Проблема с FPS при двойной или тройной буферизации в Android: как изменить поведение SurfaceFlinger?Android

Форум для тех, кто программирует под Android
Ответить Пред. темаСлед. тема
Anonymous
 Проблема с FPS при двойной или тройной буферизации в Android: как изменить поведение SurfaceFlinger?

Сообщение Anonymous »

В настоящее время я изучаю кодовую базу эмулятора Android 13 и столкнулся с проблемой, связанной с тем, как игры на базе Unity работают по-разному при двойной и тройной буферизации, включенной в среде Android.
< strong>Проблема: Когда я включаю тройную буферизацию, игра Unity работает со скоростью 30 кадров в секунду. Однако когда я переключаюсь на двойную буферизацию, FPS падает примерно до 20-23. Я знаю, что тройная буферизация вводит дополнительный буфер, который может увеличить задержку, и я бы предпочел использовать двойную буферизацию для поддержания более низкой задержки. Однако значительное падение FPS при двойной буферизации является проблематичным.
Цель: Я хочу изменить код SurfaceFlinger в AOSP (проект Android с открытым исходным кодом), чтобы включить тройную буферизацию, но сразу же компоновать последний буфер, поставленный в очередь приложением, аналогично тому, как ведет себя двойная буферизация. Это позволило бы мне поддерживать целевой FPS без дополнительной задержки, обычно связанной с тройной буферизацией.
Вопрос:
  • Может ли кто-нибудь объяснить, почему такое падение FPS происходит при
    двойной буферизации по сравнению с тройной буферизацией в играх Unity? [Имейте в виду, что приложению требуется всего 2 мс для рендеринга кадра, что означает, что все вызовы gl со стороны приложения завершаются за 2 мс]
  • В коде SurfaceFlinger, где мне следует внести изменения чтобы гарантировать, что
    последний буфер составляется, как только очередьBuffer вызывается
    приложением, даже если тройная буферизация включена?
Буду очень признателен за любые рекомендации или предложения по конкретным компонентам или функциям SurfaceFlinger, на которых мне следует сосредоточиться.

Подробнее здесь: https://stackoverflow.com/questions/790 ... urfaceflin
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Android»