Разница между аппаратным и программным обеспечением в Android

Может ли кто-нибудь сказать мне, что такое аппаратное рендеринг и что такое рендеринг программного обеспечения в Android?

Также как они связаны с обычным представлением вида и представления?

Отображение HW и SW связано с 2D-графикой (представлениями).

Когда вы используете рендеринг HW:

  • Операции рисования (линии, круги, тексты, растровые изображения, преобразования и т. Д.), Выполненные на объекте Canvas, будут выполняться «графической картой» устройства.
  • Эта операция записывается до фактического рисования.

Напротив, когда вы используете рендеринг программного обеспечения:

  • Операции рисования выполняются процессором, который намного медленнее.
  • Операции выполняются немедленно. Никакой записи не происходит.

Обратите внимание, что поддержка аппаратного ускорения была добавлена ​​на уровне API 11 (3.0, Honeycomb). Он включен по умолчанию на уровне API 14 (ICS) и выше.

Изменить: То есть, на версиях ICS и более высоких версий Android, каждое представление (включая кнопки и т. Д.) Рисуется графическим оборудованием по умолчанию. Однако вы можете отключить ускорение HW. Ниже уровня API 14 вы должны включить его в явном виде. Хотя ускорение HW может казаться ненужным для простых представлений, его эффект становится очень заметным, когда вы делаете анимацию.

Аппаратное ускорение можно контролировать на уровне приложений, активности, окна и просмотра. Таким образом, вы можете отключить его для всего приложения или включить / выключить определенные виды и т. Д.

Также вы можете проверить, включено ли ускорение HW:

View.isHardwareAccelerated() Canvas.isHardwareAccelerated() 

3D-графика использует OpenGL, что, конечно же, нуждается в соответствующей аппаратной поддержке.

Вы можете найти более подробную информацию по этой теме: http://developer.android.com/guide/topics/graphics/hardware-accel.html