Выполнение множественного отображения

Flash Player 9 и более поздних версий, Adobe AIR 1.0 и более поздних версий

Множественные отображения (mipmaps) — это растровые изображения, сгруппированные и связанные с текстурой для повышения качества визуализации и быстродействия. Каждое растровое изображение карты MIP представляет собой версию основного растрового изображения, но со сниженным уровнем детализации.

Например, можно использовать карту MIP, содержащую основное изображение размером 64 × 64 пикселов при самом высоком качестве. Изображения карты MIP с более низким качеством будут иметь размер 32 × 32, 16 × 16, 8 × 8, 4 × 4, 2 × 2 и 1 × 1 пиксел.

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

Проигрыватель Flash Player версии 9.115.0 и более поздних и среда AIR поддерживают технологию множественного отображения через создание оптимизированных версий каждого растрового изображения различных масштабов (начиная с 50 %).

Проигрыватель Flash Player 11.3 и среда AIR 3.3 поддерживают потоковую передачу текстур с помощью параметра streamingLevels методов Context3D.createCubeTexture() и Context3D.createTexture().

Благодаря сжатию текстур можно хранить изображения текстур в сжатом формате непосредственно в графическом процессоре, тем самым экономя память графического процессора и пропускную способность памяти. Как правило, сжатие текстур выполняется автономно, и сжатые текстуры загружаются в графический процессор в сжатом формате. Однако Flash Player 11.4 и AIR 3.4 поддерживают сжатие текстур во время выполнения, что бывает полезно в некоторых случаях, например при рендеринге динамических текстур из векторного содержимого. Для использования сжатия текстур во время выполнения необходимо выполнить следующее.

  • Создайте объект текстуры. Для этого вызовите метод Context3D.createTexture(), передав flash.display3D.Context3DTextureFormat.COMPRESSED или flash.display3D.Context3DTextureFormat.COMPRESSED_ALPHA в третьем параметре.

  • С использованием экземпляра flash.display3D.textures.Texture, возвращенного createTexture(), вызовите flash.display3D.textures.Texture.uploadFromBitmapData() или flash.display3D.textures.Texture.uploadFromByteArray(). Эти методы загружают и сжимают текстуру за одно действие.

Множественные отображения создаются для следующих типов растровых изображений:

  • изображение (файлы JPEG, GIF и PNG), отображаемое классом Loader ActionScript 3.0

  • изображение, находящееся в библиотеке документа Flash Professional

  • объект BitmapData

  • изображение, отображаемое при помощи функции loadMovie() ActionScript 2.0

Множественное отображение нельзя применить к объектам, к которым уже применен фильтр, или к роликам, к которым применено растровое кэширование. Тем не менее, множественное отображение можно применять к измененным растровым изображениям внутри экранного объекта с фильтром, даже если растровое изображение лежит внутри маскируемой области.

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

  • Для воспроизведения видео установите для свойства smoothing объекта Video значение true (см. класс Video).

  • В случае растровых изображений необязательно задавать свойству smoothing значение true, но со сглаживанием улучшение качества более заметно.

  • Используйте для двухмерных растровых изображений размеры, кратные 4 или 8 (например, размер 640 x 128, который можно уменьшить следующим образом: 320 x 64 > 160 x 32 > 80 x 16 > 40 x 8 > 20 x 4 > 10 x 2 > 5 x 1).

    Для трехмерных текстур используйте карты MIP, в которых каждое изображение имеет разрешение, кратное 2 (то есть 2^n). Например, основное изображение имеет разрешение 1024 x 1024 пикселов. В этом случае изображения более низкого качества в карте MIP должны иметь размер 512 x 512, 256 x 256, 128 x 128 и так далее до 1 x 1 пиксела, чтобы в итоге карта MIP содержала 11 изображений.

    Обратите внимание, что множественное отображение не создается для содержимого растрового изображения с избыточной шириной или высотой.