Android: частота кадров падает в ландшафтном режиме

Я пробую (последний) Android SDK и заметил странное поведение.

Я написал скелетное приложение SurfaceView: Activity, SurfaceView и поток рендеринга. На самом деле он не рисует, а записывает частоту кадров в logcat только раз в секунду. Когда он работает в портретном режиме, я получаю около 60 кадров в секунду. Однако, когда я переворачиваю его в альбомную ориентацию, частота кадров падает примерно до 30 кадров в секунду.

Я также протестировал его на образце LunarLender и получил аналогичные результаты. Все тесты выполняются на эмуляторе, так как у меня нет физического устройства.

Что это такое? Я не могу найти упоминания об этом в Google, кто-нибудь еще сталкивался с этим? Это просто особенность эмулятора или она применима и к физическому оборудованию?


person uj2    schedule 24.05.2010    source источник
comment
Выяснили, в чем проблема с FPS в ландшафте?   -  person sniurkst    schedule 27.11.2011


Ответы (1)


Угадайте, есть ли в ландшафтном режиме дополнительное «пустое» пространство по обе стороны от отображаемого содержимого? Если это так, то можно было бы эффективно увеличить объем обработки только для рисования экрана. Не знаю, должно ли это объяснять снижение частоты кадров на 50%, но это возможно.

Еще одно предположение — ландшафтный режим может быть преднамеренно ограничен, поскольку он предназначен в первую очередь для просмотра видео. Нет причин повышать скорость до 60 кадров в секунду для контента с частотой 30 кадров в секунду. Конфигурация?

person Dave Swersky    schedule 24.05.2010
comment
SurfaceView покрывает весь экран (через Activity.setContentView), и, как сказано, на нем ничего не рисуется (хотя холст блокируется/разблокируется). Опять же, то же самое происходит с образцами из SDK, поэтому я был бы признателен, если бы кто-то мог это подтвердить. С технической точки зрения, альбомная и портретная ориентации занимают одинаковое пространство экрана (даже немного меньше). Что касается преднамеренного уменьшения частоты кадров: это может иметь смысл для видео, но как насчет игр, которые, как правило, выглядят более естественно в ландшафте? Конфигурация стандартная из коробки: HVGA Android 2.1. - person uj2; 24.05.2010