Using gpu on android

Как заставить рендеринг GPU на Android —

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

Со временем, особенно после появления Android 4.0, графический процессор стал более надежным и постепенно стал стандартным для большинства приложений. В настоящее время большинство обновленных приложений имеют встроенный графический рендеринг.

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

Что такое рендеринг на GPU?

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

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

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

Когда форсировать рендеринг на GPU

Включение этого параметра приведет к разгрузке таких компонентов окна, как текст, кнопки и расчеты 2D-графики, в графический процессор. Это позволит вашему устройству лучше отображать анимацию пользовательского интерфейса и чувствовать себя менее запаздывающим. Хотя вы, безусловно, достигнете более плавного восприятия и лучшей частоты кадров в 2-мерных приложениях, ваше устройство может в итоге использовать больше батареи. Известно, что графические процессоры потребляют больше энергии, чем процессоры, поэтому ожидайте, что время автономной работы уменьшится на 10-15%, если оставить его включенным постоянно.

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

Но имейте в виду, что рендеринг с помощью графического процессора эффективен только для двумерных приложений. Большие игры с использованием 3D-графики могут иметь худшую частоту кадров при Force GPU Rendering включен. Хорошо то, что большинство версий Android не будут мешать 3D-приложениям и будут вызывать рендеринг с помощью графического процессора только в тех приложениях, которые не используют его по умолчанию.

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

Суть в том, что вам решать, хотите ли вы обменять срок службы батареи на повышенную текучесть и некоторые дополнительные частоты кадров. Имея это в виду, вот как включить Force GPU Rendering.

Источник

Эффективное использование GPU

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

Настроить параметры GPU визуализации

Если ваше приложение тормозит, значит часть или все кадры обновления экрана обновляются больше чем 16 миллисекунд. Чтобы визуально увидеть обновления кадров на экране, можно на устройстве включить специальную опцию Настроить параметры GPU визуализации (Profile GPU Rendering).

Читайте также:  What is parse error on android

У вас появится возможность быстро увидеть, сколько времени занимает отрисовка кадров. Напомню, что нужно укладываться в 16 миллисекунд.

Опция доступна на устройствах, начиная с Android 4.1. На устройстве следует активировать режим разработчика. На устройствах с версией 4.2 и выше режим по умолчанию скрыт. Для активации идёт в Настройки | О телефоне и семь раз щёлкаем по строке Номер сборки.

После активации заходим в Опции разработчика и находим пункт Настроить параметры GPU визуализации (Profile GPU rendering), который следует включить. В всплывающим окне выберите опцию На экране в виде столбиков (On screen as bars). В этом случае график будет выводиться поверх запущенного приложения.

Вы можете протестировать не только своё приложение, но и другие. Запустите любое приложение и начинайте работать с ним. Во время работы в нижней части экрана вы увидите обновляемый график. Горизонтальная ось отвечает за прошедшее время. Вертикальная ось показывает время для каждого кадра в миллисекундах. При взаимодействии с приложением, вертикальные полосы рисуются на экране, появляясь слева направо, показывая производительность кадров в течение какого-то времени. Каждый такой столбец представляет собой один кадр для отрисовки экрана. Чем выше высота столбика, тем больше времени уходит на отрисовку. Тонкая зелёная линия является ориентиром и соответствует 16 миллисекундам за кадр. Таким образом, вам нужно стремиться к тому, чтобы при изучении вашего приложения график не выбивался за эту линию.

Рассмотрим увеличенную версию графика.

Зелёная линия отвечает за 16 миллисекунд. Чтобы уложиться в 60 кадров в секунду, каждый столбец графика должен рисоваться ниже этой линии. В каких-то моментах столбец окажется слишком большим и будет гораздо выше зелёной линии. Это означает торможение программы. Каждый столбец имеет голубой, фиолетовый (Lollipop и выше), красный и оранжевый цвета.

Голубой цвет отвечает за время, используемое на создание и обновление View.

Фиолетовая часть представляет собой время, затраченное на передачу ресурсов рендеринга потока.

Красный цвет представляет собой время для отрисовки.

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

Существуют специальные методики для уменьшения нагрузки на графический процессор.

Отладить показатель GPU overdraw

Другая настройка позволяет узнать, как часто перерисовывается один и тот же участок экрана (т.е. выполняется лишняя работа). Опять идём в Опции разработчика и находим пункт Отладить показатель GPU overdraw (Debug GPU Overdraw), который следует включить. В всплывающим окне выберите опцию Показывать зоны наложения (Show overdraw areas). Не пугайтесь! Нкоторые элементы на экране изменят свой цвет.

Вернитесь в любое приложение и понаблюдайте за его работой. Цвет подскажет проблемные участки вашего приложения.

Если цвет в приложении не изменился, значит всё отлично. Нет наложения одного цвета поверх другого.

Голубой цвет показывает, что один слой рисуется поверх нижнего слоя. Хорошо.

Зелёный цвет — перерисовывается дважды. Нужно задуматься об оптимизации.

Розовый цвет — перерисовывается трижды. Всё очень плохо.

Красный цвет — перерисовывается много раз. Что-то пошло не так.

Вы можете самостоятельно проверить своё приложение для поиска проблемных мест. Создайте активность и поместите на неё компонент TextView. Присвойте корневому элементу и текстовой метке какой-нибудь фон в атрибуте android:background. У вас получится следующее: сначала вы закрасили одним цветом самый нижний слой активности. Затем поверх неё рисуется новый слой от TextView. Кстати, на самом TextView рисуется ещё и текст.

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

Маленький совет. Поместите после метода setContentView() вызов метода, который уберёт перирисовку экрана цветом темы. Это поможет убрать одно лишнее наложение цвета:

Источник

GPU-ускорение на платформе Android: что это и как его использовать

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

Читайте также:  Экран блокировки с камерой android

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

Что такое GPU ускорение на Android

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

Эффект ускорения достигается за счёт переноса части обрабатываемой информации на графический процессор, чтобы разгрузить основной. Благодаря такому подходу быстрее работают игры, приложения для коррекции фото, видеоредакторы и т. д. Происходящее полностью контролируется силами самого смартфона и не наносит ему вреда. Есть только один минус – некоторое ПО не желает работать совсем. Не волнуйтесь, как только вы деактивируете GPU-ускорение, приложения снова начнут функционировать.

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

Стоит ли включать

Итак, когда же можно и стоит ли вообще включать GPU-ускорение:

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

Помните, что это абсолютно безопасно для телефона.

Включение и отключение

Теперь, наконец, разберём, как же включить GPU-ускорение на Android:

  1. В «Настройках» нужно найти пункт «О телефоне».
  2. Далее нажмите «Сведения о ПО».
  3. Выберите какой-нибудь информационный пункт, где не действуют функции корректировки текста и не разворачивается выбор опций. Понажимайте на него несколько раз (к примеру, можно выбрать «Версию прошивки»).
  4. Продолжайте частые касания к экрану, пока на нём не появится уведомление о том, что отныне вы разработчик.
  5. Выйдите в главное меню настроек – там появился новый раздел для разработчиков.
  6. В нём вы увидите пункт «Аппаратное ускорение визуализации» и подпункт «GPU-ускорение» — включите его, поставив галочку.
  7. Перезагрузите смартфон.

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

Обратите внимание, что в зависимости от ОС и качества её русификации, нужная опция может называться не GPU-ускорение, а Forced rendering. Также в некоторых смартфонах совсем отсутствует возможность выхода в режим разработчика – в этом случае перенести обработку информации на графический процессор не получится, такое просто не предусмотрено.

Источник

gpu ускорение андроид стоит ли включать

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

Что такое GPU-ускорение на Android

Сама аббревиатура GPU на смартфонах расшифровывается точно так же, как и на других устройствах, включая компьютеры, и означает «Графический процессор». Поэтому при активации ускорения вся нагрузка телефона переходит с ЦПУ на видеокарту, едва ли задействованную в повседневных задачах.

Примечание: Во время работы описываемого режима может значительно повыситься нагрев телефона, но, как правило, без вреда для компонентов.

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

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

Читайте также:  Как подключить флешку для андроид смартфон

Включение и отключение

GPU-ускорение можно контролировать в определенном разделе с настройками. Однако для доступа к данной странице потребуется выполнить ряд действий. Более подробно процедура была нами разобрана в отдельной статье на сайте по следующей ссылке.

После перехода к странице «Для разработчиков» в системном приложении «Настройки» воспользуйтесь свайпом вверх и найдите пункт «GPU-ускорение» в блоке «Аппаратное ускорение визуализации». В некоторых случаях функция может иметь другое название, например, «Рендеринг принудительно», но практически всегда остается неизменным описание. Ориентируйтесь именно по нему, обратив внимание на представленный ниже скриншот.

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

Как видно из представленной в статье информации, GPU-ускорение на Andro >

Отблагодарите автора, поделитесь статьей в социальных сетях.

А мы продолжаем рассматривать различные пункты меню, которые встречаются в смартфонах на базе Andro >

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

Найти этот пункт можно в разделе «Для разработчиков». Откройте настройки.

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

Здесь вы можете увидеть строку «GPU-ускорение» в подразделе «Аппаратное ускорение визуализации».

Включите при необходимости. Или отключите.

Другие записи:

2 комментария

Сайт очень классный, случайно на вас набрёл, и теперь не сожалею об этом. Сам я уже как 2-ой год хожу с Android(ом), но до сих пор не мог знать элементарных вещей, таких, как GPU-ускорение и т.д. то есть я пользовался ими, но так и не знал, что они означают (да, так бывает)). Ну да не суть.

От себя мне хотелось бы пожелать вам развивать свой сайт, ну и ещё хотелось бы, что бы вы выкладывали также решение некоторых проблем с Play market.

но он нагружает батарею и телефон будет работать на 10-15% меньше(((

Обновите прошивку смартфона

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

Чтобы узнать, нет ли новых версий, достаточно в этом же разделе зайти в подменю Обновление ПО.

Сбросьте устройство на заводские настройки

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

Зайдите в Настройки — > Резервное копирование и сброс, и выберите там Общий сброс. Помните, что у вас удалятся все настройки, данные системы и приложений, загруженные программы, а также контакты, сохранённые смс и письма. Если вы не хотите терять какие-то данные, то сначала сделайте резервные копии.

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

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

Источник

Оцените статью