Аппаратное ускорение 2d. Разработчик Google развеивает мифы о «полном аппаратном ускорении» в Ice Cream Sandwich. Используйте ускорение GPU

Viber OUT 18.04.2019
Viber OUT

Разработчик из Google Диана Hackborn на своей странице в Google+ поделилась информацией касательно аппаратного ускорения интерфейса в Android 4.0 Ice Cream Sandwich. Ажиотаж который поднялся вокруг этой функции не просто так - слишком много упреков звучало в адрес плавности отрисовки 2D-элементов в Android в сравнении с другими мобильными ОС.

Безусловно, аппаратное ускорение в Android это позитивная вещь, но есть много неправильных представлений о том что на самом деле представляет из себя эта возможность. Во-первых, Android уже много лет поддерживает аппаратное ускорение для задач отрисовки множества окон (речь идет о композиции окон - панель задач, оповещения, панель меню, появление и скрытие элементов интерфейса). Это означает что вся анимация элементов интерфейса в Android всегда использовала аппаратное ускорение.

В отличии от отрисовки композиции окон, рендеринг изображения внутри окна традиционно осуществлялся при помощи процессора в Android 2.X и ниже. Однако, в Android 3.0 Honeycomb, эти функции могут быть переложены на графический ускоритель, но только в том случае если в манифесте приложения это прямо указано опцией android:hardwareAccelerated=”true”. Единственное отличие Android 4.0 ICS в том, что при разработке, используя последнее доступное API level 14 (и во всех будущих), эта опция для приложений включена "по умолчанию".

Казалось бы, теперь у нас есть возможность "заставить" работать все приложения в Android 4.0 ICS с включенным аппаратным ускорениям независимо от его манифеста, разве это не прекрасно? На самом деле это не совсем так. В случае, например, с видеоускорителем PowerVR драйвера, используемые в Nexus S и даже в Galaxy Nexus, "отъедают" по 8Мб оперативной памяти за каждый процесс который использует аппаратное ускорение. Вроде бы не так много? Не тут-то было, ведь такое активное потребление оперативной памяти сразу множеством процессов значительно повышает потребление памяти в целом, что сразу сказывается на скорости мультизадачности - вплоть до значительного ее замедления. В итоге, команда разработчиков Google сейчас тратит значительные усилия на тонкую настройку того, какие именно части пользовательского интерфейса действительно нуждаются в аппаратном ускорении на Nexus S.

Что же в итоге? По сравнению с Android 2.X, Ice Cream Sandwich имеет больше возможностей, в том числе благодаря более широкому использованию аппаратного ускорения. Тем не менее, кроме как опции включенного "по умолчанию", использование аппаратного ускорения в ICS ничуть не более "полное", чем это было ранее. И, кроме всего прочего, не стоит забывать что аппаратное ускорение это не магия и не чудо, как считают многие, но его присутствие это конечно плюс, а не минус.

По материалам Google+ Дианы Hackborn и Уилла Verduzco (xda-developers.com)

Доброе утро, Хабр!

Обнаружил на xda-developers.com интересную для себя новость, которая является пересказом свежего поста «Разрушаем мифы о полном аппаратном ускорении в ICS» из Google+ профиля разработчика Google Дианы Hackborn. Взял на себя смелость сделать краткий перевод-пересказ по мотивам этих двух публикаций, который и привожу ниже под хабракатом. Первый вариант этой публикации уже был опубликован мной этой ночью в блоге R2-D2: Android с пользой , но тема показалась мне достойной освещения и на Хабрахабре (я надеюсь тут не нужно поднимать повторно обсуждение того факта, что раздел «Ссылки» после осеннего хабраобновления практически и фактически умер).

Разработчик из Google Диана Hackborn на своей странице в Google+ поделилась информацией касательно аппаратного ускорения интерфейса в Android 4.0 Ice Cream Sandwich. Ажиотаж который поднялся вокруг этой функции возник не просто так - слишком много упреков звучало в адрес плавности отрисовки 2D-элементов в Android в сравнении с другими мобильными ОС.

Безусловно, аппаратное ускорение в Android это позитивная вещь, но есть много неправильных представлений о том что на самом деле представляет из себя эта возможность. Во-первых, Android уже много лет поддерживает аппаратное ускорение для задач отрисовки множества окон (речь идет о композиции окон - панель задач, оповещения, панель меню, появление и скрытие элементов интерфейса). Это означает что вся анимация элементов интерфейса в Android всегда использовала аппаратное ускорение.

В отличии от отрисовки композиции окон, рендеринг изображения внутри окна традиционно осуществлялся при помощи процессора в Android 2.X и ниже. Однако, в Android 3.0 Honeycomb, эти функции могут быть переложены на графический ускоритель, но только в том случае если в манифесте приложения это прямо указано опцией android:hardwareAccelerated=”true”. Единственное отличие Android 4.0 ICS в том, что при разработке, используя последнее доступное API level 14 (и во всех будущих), эта опция для приложений включена «по умолчанию».
Казалось бы, теперь у нас есть возможность «заставить» работать все приложения в Android 4.0 ICS с включенным аппаратным ускорениям независимо от его манифеста, разве это не прекрасно? На самом деле это не совсем так. В случае, например, с видеоускорителем PowerVR драйвера, используемые в Nexus S и даже в Galaxy Nexus, «отъедают» по 8Мб оперативной памяти за каждый процесс который использует аппаратное ускорение. Вроде бы не так много? Не тут-то было, ведь такое активное потребление оперативной памяти сразу множеством процессов значительно повышает потребление памяти в целом, что сразу сказывается на скорости мультизадачности - вплоть до значительного ее замедления. В итоге, команда разработчиков Google сейчас тратит значительные усилия на тонкую настройку того, какие именно части пользовательского интерфейса действительно нуждаются в аппаратном ускорении на Nexus S.

Что же в итоге? По сравнению с Android 2.X, Ice Cream Sandwich имеет больше возможностей, в том числе благодаря более широкому использованию аппаратного ускорения. Тем не менее, кроме наличия опции включенного ускорения «по умолчанию», использование аппаратного ускорения в ICS ничуть не более «полное», чем это было ранее. И, кроме всего прочего, не стоит забывать что аппаратное ускорение это не магия и не чудо, как считают многие, но его присутствие это конечно плюс, а не минус.

Наличие мощного «железа» не всегда означают быструю работу устройства. В некоторых случаях оптимизация оставляет желать лучшего и пользователь может попробовать самостоятельно ускорить работу своего смартфона или планшета. Есть несколько методов, которые могут помощь в осуществлении поставленной задачи. Об этих методах — в нашей статье.

Удалите все ненужные приложения

Существуют приложения, которые могут задействовать лишние ресурсы. Если эти приложения не используются, стоит их удалить.

Речь в том числе идет о приложениях, которые установлены на смартфоне при покупке. Некоторые из них удалить нельзя, они встроены в прошивку, другие же, если они вам не нужны, лучше удалить.

Не используйте живые обои

Живые обои, как ни странно, требуют дополнительных ресурсов. Конечно, они красиво выглядят и радуют глаз, однако если вам нужна скорость работы, с ними все же стоит попрощаться.

Не используйте сторонние лаунчеры

Не используйте дополнительные виджеты

Примерно то же самое можно сказать и про виджеты, которые в изобилии можно разместить на рабочем столе. Постарайтесь оставить только те виджеты, без которых вы действительно не можете обойтись, например, часы или прогноз погоды. Другие виджеты стоит убрать с рабочего стола, поскольку они пусть и немного, но все же «съедают» память.

Отключите ненужные приложения

Есть приложения, которые работают в фоновом режиме, но необходимость в них редкая. Речь в данном случае идет о сторонних приложениях, а не о системных, отключать которые не рекомендуется, поскольку это может привести к сбою в системе.

Отключить приложение просто. Зайдите в настройки, найдите раздел с приложениями, выберите нужное приложения, зайдите в него и нажмите «Остановить».

Отключите GPS и геолокацию

Настройки геолокации очень важны, однако их можно использовать только в тот момент, когда в этом есть необходимость.

Это, к слову, поможет в том числе увеличить автономность устройства.

Выполните очистку с помощью сторонних приложений

Не забывайте удалять кэш и прочие временные данные, которые также могут повлиять на скорость работы системы. Как правило, это сторонние приложения вроде Clean Master, которые позволяют удалять временные файлы, но на некоторых устройствах они уже вшиты в прошивку.

Используйте ускорение GPU

Зайдите в меню, найдите раздел «Для разработчиков» или «Параметры разработчиков».

Если у себя вы не наблюдаете такой раздел, его нужно включить. Найдите раздел «О телефоне», «О планшете» или «Об устройстве», зайдите в него и 7 раз нажмите по пункту «Номер сборки» (иногда нажимать нужно чуть больше раз, система скажет вам об этом).

В параметрах разработчика включите принудительную обработку GPU (аппаратное ускорение 2D в приложениях).

Заодно можете отключить анимацию. Найдите пункты вроде «Масштаб анимации окна».

Отключите анимацию. Только будьте осторожны при редактировании параметров, некоторые из них могут привести к проблемам в работе системы.

Обновите прошивку

Иногда проблемы с работоспособностью связаны с самой прошивкой, которые решаются обновлением этой самой прошивки. Поэтому (и не только) так важно вовремя обновлять ПО своего смартфона или планшета.

У вас есть идеи, отличные от наших? Будем рады, если вы сообщите нам о них с помощью комментариев к статье.

В Android, как и в других популярных операционных системах, есть свои секреты. Некоторые из них полезны, но используются редко. Мы расскажем о малоизвестных и интересных секретах Андроида.

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

Инженерные коды

Первый, самый главный секрет – это инженерные коды. Обычным пользователям они вряд ли пригодятся. В основном, они используются работниками в сервисных центрах, когда нужно узнать что-то об устройстве или выполнить системную команду.

*#*#4636#*#* - информация и настройка;

*#*#8351#*#* - включить запись телефонных разговоров;

*#*#4636#*#* - предоставит полезные данные об устройстве:

  • о телефоне;
  • о батарее;
  • статистика и использование телефона и батареи.

*#*#7780#*#* - отформатирует смартфон или планшет, но оставит все приложения, будь то системные или загруженные. Также останутся все файлы на внешней SD-карте.

*2767*3855# - полностью отформатирует девайс.

*#*#34971539#*#* - позволяет управлять прошивкой камеры, а также получить о ней информацию. После введения кода вы можете выбрать:

  • обновление прошивки камеры в образ (ни в коем случае не делать!);
  • обновление прошивки камеры;
  • данные о прошивке камеры;
  • количество выполняемых ранее прошивок камеры.

*#*#7594#*#* - позволит изменить функцию при длительном зажатии кнопки питания. Другими словами, вы можете назначить для нее выключение или перезагрузку гаджета, включение/выключение мобильных данных и так далее;

*#*#273283*255*663 282*#*#* - позволяет сделать резервное копирование любых файлов на устройстве;

*#*#197328640#*#* - открывает меню обслуживания. Вы можете протестировать ваш гаджет, а также сменить настройки WLAN, Bluetooth и GPS;

*#*#232339#*#* или *#*#526#*#* или *#*#528#*#* - настройки WLAN;

*#*#232338#*#* - поможет узнать МАС-адрес Wi-FI;

*#*#1472365#*#* - тест GPS системы;

*#*#1575#*#* - GPS;

*#*#232331#*#* - Bluetooth;

*#*#232337#*# - поможет узнать адрес Bluetooth.

Коды для тестирования

Они запускают различные тесты устройства.

*#*#0283#*#* - тестирование передающей инфраструктуры;

*#*#0*#*#* - экрана (LCD);

*#*#0673#*#* или *#*#0289#*#* - звука;

*#*#0842#*#* - девайса (подсветки и вибрации);

*#*#2663#*#* - сенсора;

*#*#2664#*#* - еще один тест сенсора;

*#*#0588#*#* - датчика движения;

*#*#3264#*#* - RAM.

Режим разработчика

Теперь поговорим о «Режиме разработчика». Вы уже наверняка видели такой пункт в настройках, но теперь пора рассмотреть его подробнее. Данный режим активирует дополнительные функции, которые вряд ли понадобятся в повседневной жизни. В основном, они используются разработчиками и программистами.

Для начала необходимо включить режим разработчика. Заходим в настройки и листаем в самый низ. Находим пункт «Об устройстве», и нажимаем на него несколько раз подряд. Гаджет потребует подтверждения разблокировки режима разработчика – нажмите ОК.


Теперь нам доступен ряд возможностей, пользоваться которыми нужно аккуратно! Они могут привести к системным ошибкам, о чем предупредит сам смартфон. Ниже представлены и описаны все функции данного режима.

  • Пароль резервного копирования. Если не хотите, чтобы чужие руки делали резервное копирование всех файлов вашего телефона (например, после этого загрузив все данные на свое устройство), поставьте пароль на использование.
  • Активный режим. Если ваш смартфон заряжается, то он не будет гаснуть (конечно, если вы сами его не выключите).
  • Защитить карту памяти SD. Все программы будут спрашивать разрешение на использование данных с карты памяти. Так, например, вы можете предотвратить работу вируса.
  • Отладка USB нужна для выполнения взаимодействия гаджета с ПК.
  • Эмуляция расположения эмулирует расположение.
  • Выберите отлаживаемое приложение.
  • Подождать отладчик. Когда отладчик подключится, откроется заданное выше приложение.
  • Показывать прикосновения. Довольно интересная функция, которая показывает, в каком месте вы прикоснулись к экрану. Очень полезная штука, ведь с помощью нее можно обозначать касания на экран и делать скриншоты к инструкциям, как мы сделали в статье про .
  • Показывать место указателя. Выводит подробную информацию о прикосновении и слайде по экрану (Местоположение по Х и Y и др).


  • Показывать ограничения макета. Интересная функция, с помощью которой можно увидеть размер каждого элемента на экране.

  • Показывать обновления представлений GPU. Окна, представленные посредством GPU, будут мигать.
  • Показывать обновления экрана. Обновляемая область экрана будет мерцать ярко-желтым цветом.
  • Настройка анимации. Включает масштаб анимации окна, масштаб анимации перехода и шкалу длительности аппарата. Их отключение очень помогает .
  • Отключить аппаратное наложение – постоянное использование GPU для композиции экрана.
  • Принудительная обработка GPU. Использовать аппаратное ускорение 2D в приложениях.
  • Строгий режим. Если процесс будет выполнять длительные операции в главном потоке, то экран будет мигать.
  • Выводить использование ЦП – информация об использовании центрального процессора в правом верхнем углу.

  • Профиль обработки GPU – измерение времени обработки в ASDG.
  • Включить трассировку. Включает различные трассировки, например, graphics, Input, View и другие.
  • Не сохранять операции. Удалять операции после их завершения пользователем.
  • Фоновые процессы. Позволяет ограничить количество фоновых процессов от одного до четырех.
  • Показать все ANR. Выводить окно «Приложение не отвечает» для фоновых процессов.

По всей видимости, очень многие пользователи современных компьютеров слышали о таком понятии, как «аппаратное ускорение». Вот только далеко не все знают, что это такое и зачем нужно. Еще меньше тех, кто понимает, как включить аппаратное ускорение на Windows 7, например. Предлагаемые далее решения позволят использовать настройки не только в седьмой версии Windows, но и в любых других.

Для чего нужно аппаратное ускорение (Windows 7)

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

Если посмотреть на этот вопрос несколько шире, можно с уверенностью утверждать, что все это применимо и к видео-, и к аудиосистеме компьютера (например, платформа DirectX включает поддержку многоканального звука). В любом случае аппаратное ускорение представляет собой снижение нагрузки на ЦП и ОЗУ за счет того, что ее частично (или полностью) берут на себя другие «железные» компоненты.

Вот только многие не понимают, насколько целесообразно его использовать. Посудите сами, ведь при перераспределенной нагрузке в сторону повышения для графического или звукового чипов они со временем могут достаточно сильно износиться и даже выйти из строя. Поэтому в вопросе того, как включить аппаратное ускорение на Windows 7, не стоит вдаваться в крайности. Нужно использовать сбалансированные параметры с разумным задействованием всех устройств и равномерным распределением нагрузки между ними. В случае установки пиковых значений гарантий долговечности какого-то компонента никто дать не может.

Как включить аппаратное ускорение на Windows 7

Итак, начнем с самого простого. Первым делом разберемся с графикой. Включить аппаратное ускорение (Windows 7 берем в качестве примера, хотя данное решение можно применять во всех других версиях) можно через настройки графического чипа. Но сначала нужно проверить, требуется ли пользовательское вмешательство.

Через меню ПКМ в свободной зоне «Рабочего стола» переходим к разрешению экрана и используем гиперссылку дополнительных параметров. В появившемся окне свойств смотрим на вкладку диагностики. Вверху имеется кнопка изменения параметров. Если она неактивна, значит, аппаратное ускорение уже включено.

В противном случае нажимаем на нее, после чего происходит перенаправление к настройкам графического адаптера. Здесь имеется специальный ползунок, передвигая который вправо-влево, можно изменять уровень устанавливаемых параметров. Самое крайнее правое положение соответствует максимально задействованному ускорению.

Примечание: в Windows 10 раздел диагностики в настройках графического адаптера отсутствует, а аппаратное ускорение (собственно, как и седьмой модификации) включено по умолчанию.

Вопросы, касающиеся DirectX

Теперь несколько слов о том, как включить аппаратное ускорение DirectX. Как и в случае с общими настройками системы, оно и для видео-, и для звукового адаптера включено изначально, так что менять что-то не нужно. Но удостовериться в том, что оно активно, не помешает.

Для просмотра и диагностики используется диалог DirectX, вызываемый командой dxdiag, вводимой в консоли «Выполнить». Здесь на вкладке монитора необходимо проверить параметры DirectDraw, Direct3D и настройки текстур AGP (иногда в список может быть включен параметр ffdshow). По умолчанию напротив каждой строки будет стоять значение «Вкл.», а в окошке ниже будет присутствовать сообщение, что неполадок не найдено. Если по каким-то причинам они обнаружились, переходим к их устранению.

Возможные причины неполадок

Чаще всего невозможность включения аппаратного ускорения на уровне системы или в настройках платформы DirectX связана с некорректно установленными, отсутствующими или устаревшими драйверами вышеуказанных устройств.

Проверяем их в «Диспетчере задач» (devmgmt.msc). Если напротив звуковой или видеокарты стоит желтый треугольник с восклицательным знаком (или устройство не определено), это явный признак того, что с драйвером имеются проблемы. Его нужно переустановить, используя для этого собственную базу данных системы, оригинальный диск или загруженные дистрибутивы из интернета.

Но бывает и так, что с устройствами все в порядке. Тем не менее через меню ПКМ выбираем строку свойств, а новом окне на вкладке драйвера смотрим на дату выпуска. Если драйвер на текущую дату сильно устарел, нажимаем кнопку обновления и дожидаемся завершения процесса (заметьте, что Windows обновлять драйвера самостоятельно не умеет).

Однако намного лучше использовать специальные утилиты поиска и обновления вроде Driver Booster. Во-первых, обращение будет производиться прямо на сайт производителя оборудования; во-вторых, будет инсталлирован именно тот драйвер, который максимально подходит для работы устройства; в-третьих, он будет установлен в систему максимально корректно. Участие пользователя минимально.

Заключение

Вот, собственно, и все, что касается того, как включить аппаратное ускорение на Windows 7. Стоит это делать или нет - сугубо личное дело. Но если подходить к вопросу разумно, лучше не использовать аппаратное ускорение, что называется, на полную. В этом случае срок службы установленного оборудования может сократиться очень сильно.



Рекомендуем почитать

Наверх