Adobe - Flash - платформа за кеширане на дисплея обекти
Тъй като размерът на проекти Flash трябва да се помисли производителност и оптимизация, независимо от това дали желаете да създадете приложение или комплекс сценарист анимации. Ако съдържанието е статичен (като например на Shape правоъгълен обект), Flash Player Player и AIR не го оптимизира. Ето защо, когато промените позицията на правоъгълника Flash Player и AIR прави цялата форма инстанция отново.
Можете да поставите в кеш посочено дисплей обекти да се подобри работата на вашия SWF-файл. обекта на дисплея е субстрат. Това обикновено е растерна графика версия на потребителския модел на векторни данни, които не се планира да се промени много в рамките на SWF-файл. Поради това, случаи с кеширане скрипт не са преначертани непрекъснато като възпроизвеждане на SWF-файл, който ви позволява бързо да се визуализира на файла.
Забележка. векторни данни могат да бъдат актуализирани. Когато субстратът е пресъздадена. Съответно, векторните данни кеширани в основата не трябва да остават същите за целия SWF-файл.
Задачата на cacheAsBitmap собственост на обекта на дисплея, за да е вярно причинява кешира обект притежават растерни представителство. Flash Player или Adobe AIR, и да се създаде инстанция на обект субстрат, който е кеширано растерна графика, вместо на векторни данни. При промяна на обект за показване гранични извършени отдих на подложката, а не промяна на размера. Субстратите могат да бъдат вградени в други субстрати. Даден филиал субстрат копия му растерни върху основата родител. За допълнителна информация. Вижте "Активиране на растерна графика кеширане".
OpaqueBackground собственост и scrollRect DisplayObject клас да се включат растерни кеширане помощта на cacheAsBitmap имота. Въпреки че три от тези свойства са независими едно от друго, свойства и функция opaqueBackground scrollRect най-добре, когато обектът се кешира като растерна графика. Печалбата в производителност, използвайки свойствата и opaqueBackground scrollRect видим само когато cacheAsBitmap е настроен да е вярно. За повече информация за превъртане на съдържание обект за показване, вижте. В "Промиване и превъртане на дисплея обекти". За повече информация относно създаването непрозрачен фон, вижте. В "Настройка непрозрачен цвят на фона".
За информация относно алфа канал маскиране, което изисква определяне на cacheAsBitmap свойството да вярно. см., вижте "маскиране на дисплея обекти".
Кога да се използва за кеширане
Когато кеша е създаден, за да поддържа обект на дисплей, който има няколко предимства (например, позволява визуализация на комплекс вектор анимация бързо). Има няколко сценария, които изискват кеширане активирана. Може да изглежда, че включва кеширане, винаги, когато искате да се подобри ефективността на вашите SWF-файлове. Все пак, има ситуации, при които включването на кеша не подобрят представянето или дори да причинят нейното намаляване. Този раздел описва сценарии, при които трябва да се използват за кеширане, както и използване на конвенционалните дисплеи обекти.
Цялостно представяне на кеширани данни зависи от сложността на векторните данни в два екземпляра, от размера на променените данни и дали имотът opaqueBackground е включена. При смяна на малките региони, разликата между основата и с помощта на векторни данни може да бъде малка. Преди стартираното приложение може да бъде полезно да се тества двата сценария с работата си.
Случаи на употреба на растерна графика кеширане
По-долу са типични сценарии, при кеширането на растерна графика може да бъде много изгодна.
С комплекс фоново изображение: приложение, което съдържа векторно изображение с сложна и подробна рамка на фона (може би един образ, към който се прилага следа растерна графика, или произведения, създадени в Adobe Illustrator®). Можете да анимирате фон героите. Това ще забави анимацията, защото на фона е необходимо постоянно да пресъздадете векторни данни. За да се подобри ефективността, можете да зададете opaqueBackground собственост на обекта на фона на дисплея, за да е истина. Фонът е постановено като растерна графика и може да бъде преобразена бързо, увеличаване на скоростта на възпроизвеждане на анимацията.
движещ се текст поле A: приложение, което показва голямо количество текст в полето за превъртане на текст. Текст кутия може да бъде поставен в обект дисплей, който е настроен да превъртате с граници за прелистване (в scrollRect имот). Това ви позволява бързо да преминете през пикселите в определен случай. Когато превъртате обект за показване инстанция не се формира всички текстовото поле наново. Вместо това, превъртат пикселите се измести нагоре и след това се оформят нова област.
Прозоречна система: Приложение с една сложна система от припокриващи се прозорци. Всеки прозорец може да бъде отворен или затворен (например, прозорци уеб браузър). Ако маркирате всеки прозорец като повърхност (чрез задаване на cacheAsBitmap имота да е вярно), всеки прозорец е изолиран и кеширани. Потребителите могат да се проточат прозорците, така че те се припокриват помежду си, съдържанието на вектора не е необходимо във всеки прозорец, генерирани отново.
Маскиране алфа: използване маскиране алфа канал трябва да бъде зададен cacheAsBitmap стойност собственост на вярно. За допълнителна информация. Вижте "маскиране на дисплея обекти".
Разрешаването на растерна графика кеширане във всички тези сценарии подобрява способността за реакция и интерактивността на заявлението чрез оптимизиране на векторна графика.
Освен това, всеки път, когато приложите филтър към обект дисплей, cacheAsBitmap автоматично се настройва така, дори ако изрично решите да лъжа. Ако премахнете всички филтри от обект дисплей, на cacheAsBitmap имотът ще бъде даден на последното от определените стойности.
Кога да се избягва използването на растерна графика кеширане
Използването на тази функция при грешни обстоятелства не може да се отрази негативно на работата на SWF-файлове. При използване на растерна графика кеширане, запомнете следните препоръки.
Да не прекалявайте с повърхности (показване на обекти с кеширане скрипт), отколкото е необходимо. Всеки субстрат изисква повече памет, отколкото обикновен обект за показване. Това означава, че Основата трябва да се използва само, когато е необходимо да се подобри ефективността на изобразяването.
Кеширана растерна графика може да използва значително повече памет, отколкото обикновен обект за показване. Например, ако размер Sprite място в работната зона е 250x250 пиксела, тогава кеширане може да изисква 250k вместо 1KB в случай на конвенционална (не е поставен в кеш) инстанция Sprite.
Избегне повишаването на кеширани повърхности. Ако растерни кеширане се използва прекалено активен, той консумира голямо количество памет (вж. Предишната точка), особено когато приближите.
Субстратите, които се използват за тези случаи на дисплея обекти, които по принцип са статични (не анимация). Такъв например може да се проточи или преместен, но съдържанието му не трябва да бъде анимирано или значително променени. Анимация или променящо се съдържание е по-вероятно, в случай MovieClip инстанция с анимация или копиране на видео. Например, ако модел се завърта или трансформирани, субстратът използват взаимозаменяемо и векторни данни, което го прави труден за обработка и негативно влияе на работата на ДИФ файлове.
Ако подложката се използва смесен с векторни данни, това увеличава количеството на изчисление извършва чрез приложения Flash Player и AIR (а понякога и на компютъра). Група на субстрата, където е възможно (например, за създаване на приложения с прозорци).
Да не се кеш обекти, чиято графика се променя често. Всеки път, когато увеличавате, въртене на заснета обекта, собственост променя алфа, трансформиране цвят дъщерно движи показани предмети и изготвяне помощта на графични свойства преначертани кеширана растерна графика. Ако това се случи на всеки кадър, при изпълнение трябва да добавите обект към растерни и след това да копирате, че растерна графика в работното пространство, което води до увеличаване на обема на работа в сравнение с рисуване без кеширана обект в зоната на работа. Връзката между оптимизация на производителността кеширане и честота на опресняване, зависи от сложността и големината на обекта на дисплея и може да се определи само чрез тестване на специално съдържание.
Разрешаването на растерна графика кеширане
За да се даде възможност на растерна графика кеширане за обект дисплей, на cacheAsBitmap имота трябва да се настрои вярно.
След възлагане на cacheAsBitmap имота да е вярно, може да забележите, че обектът на дисплея автоматично се свързва с кръгчето за целочислени стойности на координатите. По време на изпитването SWF-файл показва, че сложните анимирани векторни изображения, стават много по-бързо.
Основа (кеширана растерна графика) не се генерира дори и в случаите, когато cacheAsBitmap настроен да е вярно. в присъствието на един или повече от следните условия.
размер на растерна графика, надвишава 2880 в ширина или височина.
Не може да се намери на растерна графика (грешка "Няма памет").
Трансформация матрица кеширани растерни изображения
Във въздуха приложения за мобилни устройства, трябва да бъде инсталиран cacheAsBitmapMatrix имот във всички случаи, когато дадена от имота cacheAsBitmap. Поставянето на този имот ще даде възможност на по-широк набор от промени за показаните предмети без повторното представяне.
Ако е собственост на матрицата на изобразен обект може да се приложи допълнително преобразуване без повторно кеш обекта.
Преместване и транспорт без позоваване на пиксела
Промяна на стойността на алфа (0 до 100% прозрачност)