Включить аппаратное графическое ускорение в приложении AIR можно путем добавления значения
<renderMode>gpu</renderMode>
в дескриптор приложения. Изменение режима визуализации при выполнении невозможно. На настольных системах параметр
renderMode
игнорируется. В настоящее время ускорение графического процессора не поддерживается.
Ограничения режима визуализации с помощью графического процессора
При использовании режима визуализации с помощью графического процессора в AIR 2.5 действуют следующие ограничения.
-
Если графический процессор не может выполнить визуализацию объекта, он не отображается совсем. Альтернативы визуализации с помощью графического процессора нет.
-
Не поддерживаются следующие режимы наложения: слой, альфа, стереть, перекрытие, жесткий свет, замена светлым и замена темным.
-
Фильтры не поддерживаются.
-
PixelBender не поддерживается.
-
Многие графические процессоры устанавливают для текстуры максимальный размер 1024 x 1024. В ActionScript это значение определяет максимальный конечный размер при визуализации отображаемого объекта после всех преобразований.
-
Компания Adobe не рекомендует использовать режим визуализации с помощью графического процессора в приложениях AIR для воспроизведения видео.
-
При визуализации с помощью графического процессора текстовые поля не всегда перемещаются в видимую область, если открыта виртуальная клавиатура. Чтобы текстовое поле было видимым, когда пользователь вводит текст, выполните одно из следующих действий. Поместите текстовое поле в верхнюю половину экрана или перемещайте его в верхнюю половину экрана, когда экран получает фокус.
-
Режим визуализации с помощью графического процессора отключен для некоторых устройств, на которых этот режим работает ненадежно. Актуальные сведения можно найти в заметках о выпуске AIR для разработчика.
Оптимальные методы использования режима визуализации с помощью графического процессора
Следующие методы позволят повысить скорость при визуализации с помощью графического процессора.
-
Ограничьте число видимых объектов в рабочей области. На визуализацию каждого элемента требуется время, как и на его совмещение с окружающими объектами. Если больше не требуется отображать объект, установите для его свойств
visible
значение
false
. Не следует просто перемещать его за границы рабочей области, скрывать за другими объектами и устанавливать для свойства
alpha
значение 0. Если отображаемый объект больше не требуется, удалите его из рабочей области с помощью команды
removeChild()
.
-
Используйте объекты повторно вместо того, чтобы создавать и уничтожать их.
-
Используйте растровые изображения, размеры которых приближены, но меньше 2
n
х 2
m
бит. Размеры не должны быть точно равны степени числа 2, но должны быть приближены к этому значению, не превышая его. Например, изображение с размером 31 х 15 пикселов визуализируется быстрее, чем с размером 33 х 17 пикселов. (31 и 15 чуть меньше степеней числа 2: 32 и 16.)
-
По возможности, задайте параметру repeat значение false при вызове метода
Graphic.beginBitmapFill()
.
-
Не применяйте перерисовку. Используйте для заднего плана цвет фона. Не накладывайте друг на друга большие фигуры. На отрисовку каждого пиксела требуются системные ресурсы.
-
Старайтесь не использовать такие фигуры, как тонкие длинные зубцы, пересекающиеся сами с собой края или много мелких деталей по краям. На визуализацию таких фигур требуется больше времени, чем на визуализацию экранных объектов с ровными краями.
-
Ограничьте размер экранных объектов.
-
Включите параметры cacheAsBitMap и cacheAsBitmapMatrix, чтобы отображать объекты, графика которых редко обновляется.
-
Не используйте API-интерфейс рисования ActionScript (класс Graphics) для создания графики. По возможности вместо этого создавайте такие объекты статически во время разработки.
-
Применяйте масштабирование для активов растровых изображений, чтобы установить конечный размер перед выполнением импорта.
Режим визуализации с помощью графического процессора в приложении AIR 2.0.3 для мобильных устройств
Визуализация с помощью графического процессора в приложениях AIR для мобильных устройств, созданных с помощью Packager for iPhone, имеет больше ограничений. Графический процессор эффективно работает только для растровых изображений, фигур с непрерывной заливкой и экранных изображений, для которых задано свойство
cacheAsBitmap
. Если для объекта задано и свойство
cacheAsBitmap
, и свойство
cacheAsBitmapMatrix
, с помощью графического процессора можно эффективно выполнить визуализацию даже для вращаемых и масштабируемых объектов. Графический процессор используется одновременно для других отображаемых объектов, что обычно приводит к снижению производительности визуализации.
|
|
|