Gpu ускорение android что это
Перейти к содержимому

Gpu ускорение android что это

  • автор:

Используем аппаратное ускорение

Начиная с Android 3.0, в приложениях появилась возможность использовать аппаратное ускорение.

Прежде всего нужно добавить в манифесте для тега атрибут android:hardwareAccelerated=»true».

Для проверки поддержки аппаратного ускорения можно использовать два метода View.isHardwareAccelerated() или Canvas.isHardwareAccelerated().

Добавим на форму кнопку, текстовое поле и ImageView для проверки поддержки ускорения:

 TextView textView; ImageView imageView; public void onClick(View v)

Чтобы включить аппаратное ускорение на эмуляторе, в настройках используемого AVD найдите пункт GPU emulation и установите для него значение true.

GPU emulation

Аппаратное ускорение можно включить программно. Удалите строчку из манифеста и добавьте код перед вызовом метода setContentView():

 getWindow().setFlags(WindowManager.LayoutParams.FLAG_HARDWARE_ACCELERATED, WindowManager.LayoutParams.FLAG_HARDWARE_ACCELERATED); 

Лично у меня в примерах всегда возвращалось значение true, в документации тоже этот момент туманно описан. И когда следует использовать аппаратное ускорение в проектах, я не понял. Но вдруг вы столкнётесь с этой ситуацией. Тогда дайте знать. А в некоторых китайских телефонах даже явное включение ускорения не даёт эффекта, будьте к этому готовы.

Мифы и реальность об аппаратном ускорении Android

Что такое аппаратное ускорение? И как оно реализовано на мобильных устройствах с ОС Android?

Аппаратное ускорение – это специальная опция, которая включена в меню различных приложений, работающих не только на устройствах с ОС Windows, но и на Android. Однако нужно отметить, что не все приложения поддерживают эту опцию. В основном она присуща для таких популярных программ, как Facebook, YouTube, Google Chrome и других, которые обрабатывают видео, звук, работают над ускорением 2D-графики, а также анимации пользовательского интерфейса. Говоря другими словами, аппаратное ускорение нужно для того, чтобы улучшить обработку тяжёлого контента.

Работает ли аппаратное ускорение на Android или это всего лишь миф?

Основная рабочая лошадка в мобильном гаджете – это процессор. Если запустить тяжеловесное приложение, к примеру, начать говорить целый час по Viber, Skype (с видео) или включить YouTube и пустить видео с самым высоким качеством, то можно заметить, что устройство сильно нагревается. Это означает, что процессор и оперативная память работают на полную силу. Естественно, если у вас мобильный интернет слабый или к Wi-Fi нет подключения, то аппаратное ускорение не поможет. Его просто не будет заметно. Однако, если вы подключены к сети, на телефоне установлен не самый слабый мобильный процессор, то включив аппаратное ускорение, вы заметите, как видео воспроизводится быстрее, звук тоже, а картинки загружаются в пару секунд. Казалось бы, разве это не прекрасно?

Однако сами разработчики Google развеяли миф об аппаратном ускорении. Они отметили, что аппаратное ускорение может и имеет место только там, где это возможно. Включить аппаратное ускорение для всех без исключения приложений невозможно. Чем это объясняется?

  • Во-первых, операционная система Android много лет поддерживает аппаратное ускорение для задач отрисовки множества окон (имеется в виду отрисовка панели задач, меню, появление и скрытие элементов интерфейса). Это означает, что вся анимация элементов интерфейса в Android всегда использовала аппаратное ускорение. Телефон без запуска приложений работает сам по себе быстро. Если нет, то в каждом обновлении Google выпускает патч для повышения производительности системы. Также не стоит забывать о том факте, что если у вас слишком слабый мобильный процессор и мало ОЗУ, то вопросы к функции аппаратного ускорения излишние.
  • В отличие от отрисовки, рендеринг прочих изображений внутри окна традиционно осуществлялся при помощи процессора. Уже в версии Android 3.0 и выше эти функции были переложены на графический ускоритель, однако с пометкой в манифесте приложения опцией android:hardwareAccelerated=”true”. Это значит, что данная опция для приложений от Google и партнеров включена «по умолчанию».
    Казалось бы, у пользователя, который имеет права администратора, есть возможность «заставить» все приложения в Android работать с включенным аппаратным ускорением, прописав в манифесте нужную команду. Однако это было бы сложно для самого устройства. К примеру, драйвера, используемые в телефонах Nexus S и Galaxy Nexus (не только), «отъедают» по 8Мб оперативной памяти за каждый процесс, который использует аппаратное ускорение. Вроде бы не так много? Однако такое потребление оперативной памяти сразу множеством процессов значительно повышает потребление памяти в целом. А это уже сказывается на скорости мультизадачности. Изменив вручную настройки приложений, пользователь может не повысить, а, наоборот, снизить производительность, привести к перегреву гаджета и выхода его из строя. Поэтому команда разработчиков Google убрала из настроек устройств с чистым Android раздел «Для разработчиков». Только пользователи смартфонов, в которых поверх Андроид накатана оболочка, могут получить доступ к данной функции.

Поэтому, миф о том, что аппаратное ускорение действительно намного ускоряет ваш гаджет, верный частично. Большинство приложений имеют уже по умолчанию активированную опцию, а те, которые её не имеют, получить её безопасным способом не могут. Для тех же пользователей, которые реально хотят включить аппаратное ускорение для всего телефона, стоит посмотреть данное видео:

Что такое аппаратное ускорение на Android и зачем оно нужно

Аппаратное ускорение — это специальная опция, которую вы, возможно, замечали в меню различных приложений на многих своих устройствах, включая смартфон на Android. Хотя оно и не всегда доступно в большинстве мобильных приложений, аппаратное ускорение используется в ряде популярных Android-приложений, включая YouTube, Chrome, Facebook и других.

Что такое аппаратное ускорение на Android и зачем оно нужно. Фото.

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

Что такое аппаратное ускорение

Название говорит само за себя — аппаратное ускорение использует специальное аппаратное обеспечение для ускорения определенной задачи, чтобы она выполнялась быстрее и/или более эффективно, чем это происходит при использовании одного лишь центрального процессора (CPU). Чаще всего в игру при таком сценарии вступает графический процессор (GPU), цифровой сигнальный процессор (DSP), или какой-либо другой аппаратный блок, который специализируется на выполнении какой-то конкретной задачи.

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

Что такое аппаратное ускорение на Android и зачем оно нужно. Что такое аппаратное ускорение. Фото.

Одним из наиболее распространенных вариантов использования аппаратного ускорения является кодирование и декодирование видео. Например, вместо того, чтобы декодировать видеопоток на центральном процессоре (ЦП), который не очень эффективен, видеокарты или другое оборудование часто содержат выделенные блоки кодирования/декодирования видео, которые могут выполнять задачу намного более эффективно. Аналогично, распаковка аудиофайла часто может выполняться быстрее на DSP или звуковой карте, чем на процессоре.

Другое очень распространенное использование для аппаратного ускорения — ускорение 2D-графики. Например, пользовательские интерфейсы часто содержат много графики, текста и анимации для рендеринга. Все это может быть выполнено центральным процессором, но графический процессор (GPU) или дисплейный процессор намного быстрее справятся с таким типом операции. Задачи могут включать применение фильтра сглаживания к тексту, чтобы он выглядел более плавным, или наложение полупрозрачного слоя поверх другого элемента, такого как видео. Другие примеры продвинутой графики включают оптимизацию физики и трассировку световых лучей.

Почему аппаратное ускорение важно

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

Аппаратное ускорение переносит обычные задачи с ЦП на специализированное оборудование, которое может не только выполнять задачу быстрее, но и гораздо более эффективно. Это означает, что устройства нагреваются меньше, а батареи работают дольше. Таким образом, при использовании выделенного блока видеодекодера вы сможете смотреть гораздо больше видео в высоком качестве на одной зарядке по сравнению с запуском того же алгоритма на процессоре. Держим в голове ещё то, что это также освобождает ваш процессор для выполнения других задач, делая приложения более отзывчивыми.

Что такое аппаратное ускорение на Android и зачем оно нужно. Почему аппаратное ускорение важно. Фото.

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

Аппаратное ускорение стало важным инструментом в компьютерных системах — от высокопроизводительных ПК до смартфонов. Ведь последние, ввиду своей компактности, требуют низкого энергопотребления. Варианты использования выделенного оборудования только растут с появлением приложений, задействующий технологию машинного обучения. Тем не менее, большую часть времени аппаратное ускорение используется только для экономии заряда аккумулятора, например, при воспроизведении видео с YouTube.

Делитесь своим мнением в комментариях под этим материалом и в нашем Telegram-чате.

Оставить комментарий в Telegram. Поделитесь мнением в чате читателей Androidinsider.ru

Теги

  • Мобильные процессоры

GPU-ускорение на телефоне — что это такое и нужно ли включать?

Ускорить смартфон можно разными способами — многие из подобных опций находятся в режиме разработчика. Расскажем, что такое GPU-ускорение и нужно ли его активировать на смартфоне.

Что такое GPU-ускорение и какие функции оно выполняет?

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

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

GPU-ускорение

Нужно ли включать GPU-ускорение на смартфоне?

Ускорение с помощью графического процессора может помочь, если смартфон используется:

  • Для рисования и запуска специализированных приложений с функциями рисования.
  • Для обработки изображений, видео и 3D-моделей.
  • Для запуска трехмерных мобильных игр.

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

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

Как включить и отключить GPU-ускорение на смартфоне?

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

  1. Открыть настройки смартфона.
  2. Перейти в раздел «О телефоне», где содержится информация о модели.
  3. Найти строку «Номер сборки» и быстро нажать на нее 5-8 раз подряд.

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

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

  • Аппаратного ускорения отрисовки
  • Принудительная обработка GPU
  • Обработка графическим процессором
  • Ускорение работы GPU

GPU-ускорение

Для активации опции достаточно перевести ползунок в активное положение, а затем перезагрузить смартфон. Чтобы выключить GPU-ускорение, потребуется деактивировать ползунок или снять галочку.

Другие полезные функции режима разработчика разобраны в нашем специальном материале

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

  • Можно ли приложения в телефоне перенести на карту памяти?
  • Аппаратное ускорение в режиме модема — что это и зачем нужно?
  • Тормозит браузер в телефоне — почему и что делать?
  • Отладка по Wi-Fi в режиме разработчика — что это и зачем нужно?
  • Использование памяти приложениями — что есть полезного в этом разделе?

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *