Секреты Android: инженерные коды и режим разработчика. Аппаратное ускорение – что это и как можно повысить производительность ПК с его помощью

18.05.2019

2 D - a кс e л e р a т op - графический ускоритель для обработки двухмерных графических данных (2D), реализует аппаратное ускорение таких функций, как прорисовка графических примитивов, перенос блоков изображения, масштабирование, работа с окнами, мышью, преобразование цветового пространства. Первона­чально видеоадаптеры с аппаратным ускорением графических функций делились на две группы: видеоадаптеры с графическим ускорителем (акселератором) и видеоадаптеры с графическим сопроцессором.

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

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

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

З D -акселераторы предназначены для обеспечения возможнос­ти видеть на экране проекцию виртуального (не существующего реально) динамического трехмерного объекта, например, в ком­пьютерных играх. Такой объект необходимо сконструировать, смоделировать его объемное изображение, т.е. за­дать математическую модель объекта (каждую точку его поверх­ности) в трехмерной системе координат, аналитически рассчитать всевозможные зрительные эффекты (угол падения света, тени и т.п.), а затем спроецировать трехмерный объект на плос­кий экран. ЗD-акселератор необходим только в том случае, когда объемное изображение синтезируется компьютером, т. е. создает­ся программно.

Совокупность приложений и задач, в рамках которых реализу­ется эта схема построения трехмерного изображения на экране монитора PC, называется трехмерной графикой, или 3D (З- Dimentional - трехмерный).

Синтез трехмерного изображения. Зd-конвёйер

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

    оценка расстояния до предмета путем анализа информации о его размерах (чем меньше объект - тем он дальше);

    оценка последовательности наложения предметов один на другой (кто выше - тот ближе);

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

    анализ световых эффектов на предмете (теней, бликов и т. п.).

Для получения этих эффектов процесс синтеза трехмерного изоб­ражения объекта в виде его двухмерной проекции на экране мони­тора строится по модели, называемой З D -конвейером. Выделяют сле­дующие основные этапы ЗD-конвейера.

1.Построение геометрической модели поверхности объекта путем задания трехмерных координат его опорных точек и уравнений соеди­няющих их линий. Полученная геометричес-кая модель представляет собой так называемую каркасную мо­дель объекта (Wireframe). На рис. 4.14 изображена каркасная модель тора, заданного координатами центра 0 (х, у, z), внут-ренним радиусом R1 и радиусом сечения R2.

2.Разбиение поверхности получен­ного объекта на элементарные плос­кие элементы (прямоугольники или треугольники) - тесселяция (Tesselation), или триангуляция. Это приводит к тому, что поверхность объекта представляет собой совокуп­ность плоских граней - многоугольников, в частности треугольников, как показано на рис. 4.15. Поверхность объекта воспроиз­водится точнее при увеличении числа и уменьшении размеров многоугольников (ср. рис. 4.15, а, б).

3.Моделирование движения объекта: его перемещение, вращение и изменение размеров (формы) - трансформация (transormation) - сводится к стандартному преобразованию ко-ординат вершин отдельных граней в виде многоугольников и реализуется путем выполнения множества различных алгебраических опера-ший с использованием тригонометрических функций. На рис. 4.16 показана трансформация формы объекта путем изгиба и скручи­вания.

4.Расчет освещенности (Lighting) и затенения (Shading) объекта производится в два этапа. Сначала выполняется расчет освещенности каждого элементарного многоугольника с учетом его удаленности от источника света и угла падения светового луча. Чтобы поверх-ность объекта не выглядела со­стоящей из множества отдельных плоских граней, как это показано на рис. 4.17, а, применяют методы затенения, т.е. дополнительно про­изводят интер-поляцию значений ос­вещенности, позволяющую плавно изменять освещенность каждой гра­ни и скрыть резкие переходы меж­ду ними (рис. 4.17, б).

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

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

Удаление скрытых поверхностей - HSR (Hidden Surface Removal), т.е. исключение из проецирования тех элементов поверх­ности объекта, которые оказываются невидимыми с точки на­блюдения.

Закраска элементарных треугольников, или текстурирование, выполняется наложением текстур (Texture Mapping). Текстура (Texture) - это элемент обшивки объекта, т.е. изобра-жение участка его поверхности, которое хранится в виде квадратной растровой картинки, состоящей из текселов (Texel - Texture Element - элемент текстуры). После наложения текстуры (рис. 4.18, а) кар­касная модель как бы покрывается своеобразным покрытием - текстурой и становится похожей на реальный объект (рис. 4.18, б). В процессе текстурирования каждый многоугольник, составлявший каркасную модель, заменяется на элемент текстуры, а зна­чение каждого пиксела двухмерного изображения вычисляется по значению соответствующего тексела текстуры.

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

MIP -текстурирование, или мипмэппинг (MIP - Multum In Parvo - много в одном), применяется для устранения пикселизации при приближении к ЗD-объекту. MIP-текстурирование заключается в том, что в памяти акселератора хранятся несколько копий одной и той же текстуры, но с различным разрешением LOD (Level Of Detalization - уровень детализации). Каждая последующая копия текстуры содержит в четыре раза больше пикселов, чем предыду­щая. Совокупность всех копий одной и той же текстуры называют MIP-каскадом, пример которого дан на рис. 4.19. В процессе «прорисовки» ближних к наблюдателю поверхностей используют­ся более крупные текстуры, а при прорисовке дальних - более мелкие. Применение мипмэппинга требует значительных объемов памяти акселератора. Для хранения текстуры не в локальной па­мяти ЗD-акселератора, а в RAM PC и при необходимости быстро их подгружать используется локальная шина AGP с высокой про­пускной способностью.

9. Моделирование эффектов прозрачности и полупрозрачности заключается в том, что на основе информации о взаимной прозрачности объектов и среды выполняется коррек-ция цвета пикселов - так называемое альфа-смешение (Alpha - blending ) и затума-нивание (Fogging ).

10. Коррекция дефектов изображения путем сглаживания - ан тиалиасинг (Anti - aliasing ). Антиалиасинг применяется для устранения дефектов изображения типа «лестничного» эффекта на наклонных линиях, муара. Различают краевой (Edge Anti-aliasing) и пол-ный (Full-screen Anti-aliasing - FSAA) антиалиасинг. В первых моделях игровых уско-рителей использовался только краевой антиалиасинг, для современных ЗD-акселераторов обязательным является полный антиалиасинг.

Краевой антиалиасинг заключается в усреднении цвета пикселов на краях (реб-рах) грани на основе взвешенного сумми­рования цветов прилегающих граней. Техника взвешенного сум­мирования заключается в определении весовых коэффициентов, с которыми суммируются цвета при определении цвета краевого пиксела. При этом пола-гают, что каждая точка (линия) на краю грани имеет фиксированную, ненулевую пло-щадь, а значения весовых коэффициентов зависят от того, какую часть этой пло­щади перекрывают прилегающие грани. На рис. 4.20 дана иллюст­рация техники взвешенного суммирования.

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

Интерполяция недостающих цве тов - (Dithering ) используется в том случае, когда в текущем видеорежиме 3D-акселератора для кодирования цвета пиксела используется менее 24 бит (напри­ мер, в режиме High Color при 16-битном цвете).


Окончательное формирование кадро вого буфера (Frame Buffer ) - области памяти ЗD-акселератора, в которую помещается спроецированное двухмерное изображение. Кадровый буфер используется для формирования выходного, аналогового видеосигнала ЗD-ускорителя.

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

13. Постобработка (Post-processing) применяется в том случае, когда требуется реализовать какие-либо двухмерные эффекты над подготовленным кадром как единым целым.

Этапы 1-6 ЗD-конвейера образуют его геометрическую ста­дию, на которой выполняются интенсивные тригонометрические вычисления с помощью CPU. Однако существует тенденция обес­печения современных игровых ЗD-акселераторов специальным про­цессором, обеспечивающим аппаратное ускорение выполнения геометрической стадии ЗD-конвейера.

Этапы 7-13 ЗD-конвейера образуют стадию прорисовки объек­та, или стадию рендеринга (Rendering-изображение, рисова­ние, визуализация). На этой стадии все действия выполняются уже с растровыми объектами, состоящими из отдельных, дис­кретных элементов - пикселов и текселов. Выполняемые на ста­дии рендеринга операции не характерны для центрального про­цессора (как на геометрической стадии), поэтому именно на этом этапе конвейера необходимо аппаратное ускорение. Большин­ство современных ЗD-ускорителей предназначено для рендеринга на аппаратном уровне и различается лишь числом реализуемых функций.

Программным интерфейсом для ЗD-акселераторов служит так называемый интерфейс прикладного программирования (Application Program Interface - API). API занимает промежуточное положение между высокоуровневыми прикладными программами и низко­уровневыми командами различных ЗD-акселераторов и обеспечивает эффективное преобразование запросов прикладной програм­мы в оптимизированную последовательность низкоуровневых ко­манд. Благодаря API, разработчики прикладных программ избав­лены от необходимости работать с низкоуровневыми командами акселератора.

В настоящее время существуют несколько платформ API, отли­чающихся областями применения.

DirectX разработана фирмой Microsoft, используется в игровых приложениях, работающих под управлением операционной сис­темы Windows 95/98, и включает в себя несколько узконаправ­ленных API:

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

Direct3D отвечает за работу графической системы в режиме со­здания трехмерных изображений;

DirectInput обеспечивает аппаратно независимый ввод инфор­мации в ПК через клавиатуру, мышь и джойстик;

DirectPlay используется при совместной игре на нескольких ком­пьютерах, объединенных в сеть или соединенных непосредствен­но, через параллельный или последовательный порты;

DirectSound управляет использованием ресурсов звуковой сис­темы ПК.

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

DirectX является жестко регламентированным, закрытым стан­дартом, который не допускает изменений до выхода в свет своей новой версии.

OpenGL используется в основном в профессиональных прило­жениях (CAD, системы трехмерного моделирования, симуляторы и т.п.), работающих под управлением операционной системы Windows NT. Вместе с тем существуют и игры, ориентированные на OpenGL, например Quake.

API OpenGL построен на основе концепции открытого стан­дарта, имеющего небольшой базовый набор функций и множе­ство расширений, реализующих более сложные функции. Произ­водитель Chipset карты ЗD-акселератора обязан создать BIOS и драйверы, выполняющие базовые функции OpenGL, но не обя­зан обеспечивать поддержку всех расширений. В результате возни­кают проблемы, связанные с написанием производителями драй­веров для своих изделий, которые поставляются как в полном, так и в усеченном виде. К числу OpenGL-совместимых драйверов относятся следую­щие:

ICD (Installable Client Driver - драйвер приложения-клиента) обеспечивает максимальное быстродействие, поскольку содержит низкоуровневые коды, обеспечивающие поддержку не только ба­зового набора функций, но и его расширений.

MCD (Mini Client Driver) содержит оптимизированный код лишь для некоторых этапов ЗD-конвейера, поэтому акселератор под его управлением работает медленнее.

Мини-порт - группа специализированных OpenGL-совмеcтимых драйверов, каждый из которых специально разработан для работы с какой-либо одной программой или игрой. Такой мини-порт применяется, когда, например, возникает необходимость поиграть в QuakeGL или Quake II на ПК с Windows 95 и 3D-акселератором, не рассчитанным на использование OpenGL.

Раппер (Wrapper - устройство для оборачивания, завертыва­ния, окутывания) - мини-порт, который может работать как ICD за счет перевода инструкций OpenGL в инструкции Direct3D, эбеспечивая при этом самую низкую скорость работы по сравне­нию с драйверами других типов.

Game Engine - «игровой движок» - драйвер, разработанный Идя конкретной ЗD-платы и обеспечивающий максимальную про­изводительность за счет непосредственного использования низ­коуровневых команд акселератора, без использования API.

Принципиальным отличием API OpenGL от DirectX является Го, что OpenGL ориентирован на корректность создаваемых изоб­ражений, тогда как для DirectX важны скорость прорисовки и естественность изображения.

Кроме того существуют Native API, создаваемые производите­лями ЗD-акселераторов исключительно для своих Chipset с целью наиболее эффективного использования их возможностей.

Для настройки видеосистемы с целью обеспечения максималь­ной производительности при работе с трехмерной графикой пользователь ПК должен:

*при выборе ЗD-платы четко представить область ее будущего применения: игры или решение профессиональных задач;

*установить в систему требуемый API;

*проконтролировать настройку параметров драйвера и/или при­кладной программы, задействовав необходимые функции 3D-aK-:елерации;

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

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

Устройство и характеристики видеоадаптера

Первые ЗD-акселераторы выполнялись в виде самостоятельного устройства только для работы с трехмерной графикой, устанав­ливаемого в слот шины ввода/вывода и соединяемого с видео­адаптером специальным кабелем.

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

Современный видеоадаптер (видеокарта) включает следующие основные элементы :

Графический процессор;

Модули оперативной памяти;

RAMDAC - цифроаналоговый преобразователь, выполняю­щий преобразование цифровых сигналов ПК в сигналы, форми­рующие изображение на мониторе.

Интегральным показателем качества видеоадаптеров, сфера при­менения которых - в основном трехмерные игры, является час­тота смены кадров (frame per second - fps). В каждой трехмерной игре этот показатель будет различным.

Качество современного видеоадаптера можно считать удовлет­ворительным, если в игре Quake при разрешении 1600x1200 он обеспечивает 60 - 70 fps.

Другим показателем качества видеоадаптера является макси­мальное число обрабатываемых элементарных простых объектов (многоугольников, треугольников) в секунду. Эти значения для отдельных видеоадаптеров составляют 800-1200 млн/с.

Объем оперативной памяти видеоадаптеров достигает 128 Мбайт. Типы памяти, используемой в видеоадаптерах, аналогичны мо­дификациям обычной оперативной памяти. В недорогих моделях используется память SDRAM или ее более быстрая графическая модификация SGRAM со временем доступа 7 -8 не. Более совер­шенные модели оснащены памятью DDR SDRAM со временем доступа 5 -6 не.

Частота работы графического чипа и памяти видеоадаптера может быть одинаковой или разной. Например, базовая частота чипа самых популярных видеокарт 2004 г. составляла свыше 500 МГц, а частота памяти - более 1000 МГц.

Частота RAMDAC определяет качество видеоадаптера. Боль­шинство современных видеокарт имеют частоту RAMDAC в диа­пазоне 250 - 400 МГц.

Тип интерфейса с шиной ввода/вывода оказывает существенное влияние на быстродействие всей видеосистемы. Для эффективной работы с трехмерной графикой современные видеоадаптеры ком плектуются интерфейсом AGP. AGP4x - суперскоростной режим, обеспечивающий скорость обмена 1,06 Гбайт/с. На компьютерном рынке наиболее популярны видеокарты на чипсете собственной оригинальной разработки, предлагаемые фирмами ATI, Matrox и 3dfx, в то время как чипсеты фирмы Nvidia используются в составе видеокарт других производителей. Видео­карты ATI предпочтительнее в мультимедийных комплексах, про­изводства 3dfe - в игровых приложениях, а фирма Matrox специ­ализируется на двухмерной графике.

Для поддержки спецэффектов в игровых приложениях (анти-алиасинга, имитации тумана, пламени, ряби на водной глади) в процессор видеоадаптера все чаще встраивают специальный блок «трансформации и освещения» (Т&Т), который позволяет полу­чить высокое качество игрового изображения.

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

Внешние TV-тюнеры, подключаемые через порт USB, обеспечивают воспроизведение телепередач в «оконном» режиме на экране монитора.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Разработчик из 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)

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

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

  • с помощью АУ можно использовать звуковые карты, чтобы обеспечить высокое качество и запись звука;
  • графические карты можно использовать с помощью аппаратного ускорения графики для обеспечения более быстрого и качественного отображения мультимедиа.

Что такое аппаратное ускорение в браузере? Одним словом, это способность программы для просмотра интернет-страниц отображать их содержимое максимально быстро и качественно. Хотя аппаратное ускорение может быть определено как практически любая задача, которая выгружается на то, что не является ЦП, графические процессоры и звуковые карты , как правило, являются наиболее популярными примерами, используемыми в вашем программном обеспечении. Только ваш процессор технически способен на всё, что могут сделать эти устройства, особенно если он может похвастаться интегрированной графикой (как это многие делают в наши дни), но, как правило, лучший вариант – использование специализированного оборудования.

Использование мощности графического макета для отображения динамически изменяющегося веб-контента, т. е. так называемого аппаратного ускорения, несомненно, является одной из самых интересных новинок, появившихся в Firefox 4 и Internet Explorer 9. По словам разработчиков этих браузеров, использование графического процессора позволит добиться беспрецедентной до сих пор производительности, быстрой и плавной работы интернет-приложений с использованием современных технологий. В то же время это поможет снизить нагрузку на процессор, который в меньшей степени способен делать вычисления, связанные с обработкой графики. Это напрямую отразится на работе всей системы, а в случае портативных компьютеров – также на длительность работы без электропитания. Microsoft добавляет улучшения качества текста и изображений, отображаемых на экране и при печати на странице. Отдельной проблемой является использование графического макета для рендеринга 3D-графики с использованием API WebGL.

Использование графических процессоров в браузерах не возможно всегда, везде и на каждом компьютере. Основные ограничения связаны с операционной системой: на данный момент бета-версии обоих браузеров поддерживают только Windows Vista, 7 и 10. В случае с Internet Explorer 9 он не изменится даже в финальной версии, но Mozilla обещает внедрить решения, выполняемые на других платформах. Единственная система, пропущенная обоими производителями, – это Windows XP.

Почему может потребоваться отключить его

Вот случаи, когда вы, вероятно, должны отключить аппаратное ускорение:

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

Когда его нужно использовать

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

  1. Rогда у вас есть мощный, стабильный графический процессор, включение аппаратного ускорения позволит вам использовать его в полной мере во всех поддерживаемых приложениях, а не только в играх. В Chrome ускорение аппаратного обеспечения графического процессора обычно обеспечивает гораздо более плавный просмотр и потребление мультимедиа.
  2. В программах редактирования видео/рендеринга, таких как Sony Vegas (или потоковых программах, таких как OBS), включение аппаратного ускорения позволяет использовать специализированное оборудование, расположенное на поддерживаемых устройствах, как правило, на графическом процессоре или CPU. (Например, Intel QuickSync является дополнением к их современным процессорам, предназначенным для быстрого рендеринга и кодирования видео).

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

На рабочем столе правой кнопкой мыши – Разрешение экрана – Дополнительные параметры – Диагностика – Изменить параметры. Если кнопка неактивна – аппаратное ускорение включено.

Для Windows 10 использование аппаратного ускорения: Win+R – dxdiag – Экран – Ускорение DirectDraw, Ускорение Direct3D, Ускорение текстур AGP – все 3 параметра должны быть в состоянии ВКЛ. В противном случае аппаратное ускорение отключено.

Процедура активации аппаратного ускорения

Как включить аппаратное ускорение на Windows 7? По какой-то причине вам может потребоваться включить аппаратное ускорение, например, для запуска эмулятора Android в Visual Studio. Просто войдите на компьютере в свой BIOS (Настройки – Обновление и безопасность – Восстановление). В разделе «Расширенный запуск» нажмите «Перезагрузить сейчас», и ваш компьютер перезапустится. Это также работает и на Windows 10.

После перезагрузки нажмите «Устранение неполадок» – «Дополнительные параметры» – «Настройки встроенного ПО UEFI» – «Перезагрузка».

Вам будет представлен пользовательский интерфейс BIOS, перейдите к разделу «Конфигурация». Просто проверьте, что технология виртуализации, например, ускоритель видеокарты «Виртуальная технология Intel» или «Виртуализация AMD-V» включена. Затем перейдите к заключительному разделу «Выход», и нажмите «Выйти и сохранить изменения». Теперь у вас есть аппаратное ускорение.

Аппаратное ускорение в Chrome. Что даёт и как его включить?

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

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

Первым шагом является включение опции ускоренной компоновки с использованием графического процессора (Override software rendering list). Непосредственно ниже – другое – 2D-процессор ускоряется с использованием графического процессора (Accelerated 2D canvas), который также должен быть включён. Пользователи Chrome 11 не смогут использовать первый вариант – в этой версии браузера он включен по умолчанию .

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

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

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

На первом этапе для рендеринга содержимого страницы используются библиотеки Direct2D и DirectWrite, благодаря чему достигаются более гладкие края текста и векторной графики. Также улучшена производительность рендеринга обычных элементов страницы, таких как изображения, границы и фоновые блоки. Кроме того, если на страницу встроено видео с использованием кодека H.264, также можно обработать видеокарту. На этом этапе ускорение работает как в Internet Explorer 9, так и в Firefox 4.

На этом этапе браузер Microsoft использует новый механизм декодирования для сжатых графических файлов, который также поддерживает формат TIFF и созданный Microsoft JPEG XR. Последний должен быть преемником формата JPEG, обеспечивая лучшее соотношение «изображение в файл». Более сложный алгоритм требует большей вычислительной мощности, поэтому использование GPU для этой цели является идеальным решением.

Составление страницы или объединение её элементов выполняется с использованием Direct3D-библиотек. Компонентные изображения (созданные на предыдущем этапе) сохраняются в памяти графической карты, поэтому их можно быстро собрать в единое целое. Пока что только в Internet Explorer, в будущем также в Firefox 4.

Создание полученного изображения, то есть всего рабочего стола с окном браузера и его содержимым, выполняется с использованием системного компонента Windows Vista и 7-Desktop Window Manager (DWM). Благодаря тому, что он использует библиотеки DirectX, он может напрямую использовать уже имеющуюся память изображений, которая представляет содержимое страницы и интегрирует его в рабочий стол без необходимости нагружать ОЗУ (что происходит, если браузер не использует графические библиотеки).

В Internet Explorer 9 также есть новый механизм обработки страниц для печати – XPS. Это не только позволяет быстро применять все слои и создавать из них одно изображение, но и повышает его качество. Например, все виды диаграмм будут выглядеть лучше.

Как отключить аппаратное ускорение в Windows 7? Несмотря на то, что Windows изначально не использует эту возможность, её довольно легко отключить самостоятельно. Деактивация Hardware Acceleration приведёт к запуску ПО в формате рендеринга программ — вся графика отображается программами, а работа по графическому рендерингу будет передаваться на GPU.

Как отключить аппаратное ускорение в Яндекс.Браузер? Необходимо зайти в настройки, опуститься в самый низ страницы, включить дополнительные параметры. Затем найти раздел Система и снять галочку с «Использовать аппаратное ускорение, если это возможно». После перезагрузки браузера изменения вступят в силу.

Чтобы отключить аппаратное ускорение в Chrome, используйте инструкцию для браузера Яндекс – в них идентичные настройки. Если после перезагрузки браузера проблемы не исчезнут, попробуйте следующее:

  • в адресной строке введите «chrome://flags» и нажмите Enter;
  • в списке настроек отключите «Аппаратное ускорение для декодирования видео» и перезапустите программу.

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

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

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

Дальше мы объясним, как отключить аппаратное ускорение в браузере Mozilla Firefox. Это может быть эффективным, например, если у вас возникли проблемы с графическим контроллером, что заставляет браузер работать нестабильно или медленно, при чём неправильно отображаются элементы страниц, которые вы посещаете.

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


Если проблема решена, это означает, что именно аппаратная проблема привела к неисправности браузера.

В 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. Выводить окно «Приложение не отвечает» для фоновых процессов.