Android и аппаратное ускорение графики
автор: Андрей | 6 декабря, 2011
Производительность пользовательского интерфейса всегда имела первостепенное значение – все мы сталкивались с падением кадров даже на устройствах с самыми мощными двухъядерными процессорами. Многие специалисты указывают на то, что в Android эта проблема может быть легко решена полным аппаратным ускорением графики. Но так ли это? Диана Хакборн, инженер по Android, опубликовала в социально сети Google+ заметку под названием «Как насчет реальных фактов о графике в Android?». Она говорит, что устала от постоянной публикации ложной информации относительно работы рендеринга графики в Android. Ниже вы можете прочитать, то, что мы узнали из ее сообщения.
Во-первых, она отмечает, что Android всегда в той или иной форме использовал аппаратное ускорение. Даже в версии 1.0 отображение на экране графики частично ложилось на «плечи» аппаратного обеспечения. Это означает, что большая часть анимации, которую вы видели на дисплее своего устройства, всегда выполнялась аппаратно – меню, различные переходы, появление и скрытие всплывающих и диалоговых окон, а также многое другое.
Версия Android 3.0 Honeycomb для планшетов ввела полное аппаратное ускорение графики. Это позволило эффективно использовать ресурсы графического ускорителя, не полагаясь исключительно на программное обеспечение. Реализация аппаратного графического ускорения в Android 4.0 стала еще более полной, чем в версии 3.0. Основное изменение в Android 4.0 заключается в том, что если приложение написано для этой или более новой версии Android, то аппаратное ускорение для него будет включено по умолчанию, в отличие от версии 3.0.
Диана Хакборн отмечает, что аппаратное ускорение графики это не магическое средство для достижения гладкой работы интерфейса. Для этого требуется предпринять намного больше усилий. Чтобы добиться 60 кадров секунду, необходимо чтобы каждый кадр обрабатывался за 20 миллисекунд. Это очень мало времени, говорит она. Даже доступ к фоновому потоку флэш-памяти, который работает в данный момент, в некоторых случаях приводит к чрезмерной задержке.
Графический процессор имеет предел на операции, которые могут быть выполнены. Так что для достижения 60 кадров в секунду, разработчики используют различные трюки.
При высоком разрешении разрешения экрана устройства, достижение границы 60fps в интерфейсе сильно зависит от скорости памяти и шины графического процессора. Во многих случаях оказывается, что процессор достаточно быстр, но шина приводит к ограничениям.
Источник: Google+
Оставьте свой комментарий