Как включить skia с бэкэндом GPU на JB

Я слышал, что Skia GPU был добавлен в Android 3.0, но, похоже, он отключен по умолчанию, поскольку Android 4.0, вероятно, из-за перехода на HWUI (реализация OpenGL в Canvas). Как я мог включить это снова только для цели теста.

1 ответ

Я не знаю ни о каком другом методе аппаратного ускорения Skia. Хотя для HWUI документация для разработчиков описывает это здесь: http://developer.android.com/guide/topics/graphics/hardware-accel.html

Извинения, если вы уже знаете о реализации HWUI.

Вам доступно четыре уровня контроля:

Уровень приложения, Уровень активности, Уровень окна и Уровень просмотра.

Уровень применения

В своем манифесте добавьте следующий атрибут в ваше приложение:

 <application android:hardwareAccelerated="true" ...>`

Уровень активности

В своем манифесте добавьте следующий атрибут к вашей активности:

<application...>
   <activity android:hardwareAccelerated="true" />
</application>

Вы также можете смешивать и сопоставлять приложение и уровень активности, чтобы включить HWUI только для некоторых действий, например:

<application android:hardwareAccelerated="true">
   <activity ... />
   <activity android:hardwareAccelerated="false" />
</application>

Уровень окна

Примечание. Вы можете включить HWUI только на уровне окна, но не отключить.

В вашем источнике:

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

Посмотреть уровень

Примечание: Вы не можете включить HWUI только для просмотра. В вашем источнике:

myView.setLayerType(View.LAYER_TYPE_SOFTWARE, null);

Также вы правы насчет HWUI:

В Android Honeycomb (3.0) добавлен HWUI (аппаратное ускорение) в качестве опции для всех приложений без дополнительного кода отрисовки. Система автоматически запустит предопределенные функции OpenGL ES для всех совместимых методов рендеринга вместо SKIA.

В Android Ice Cream Sandwich (4.0) HWUI используется по умолчанию. В связи с этим все устройства 4.0+ должны иметь графический процессор с поддержкой OpenGL ES 2.0.

Другие вопросы по тегам