![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Регистрация: Apr 2010
Сообщений: 170
|
Всем доброго дня!
Работаю в FlashDevelop и использую Flex SDK. Есть необходимость вывести огромное количество объектов на экране (скажем 1000-10000). Если использовать для этого дела MovieClip'ы или Sprite, то этим мы не добъёмся максимальной производительности. Я решил попробовать другой вариант. В качестве экрана использую Bitmap. А вывожу всё на его BitmapData (правда я сделал два BitmapData и переключался между ними - пародия на двойную буферизацию). В общем-то это оказалось заметно быстрее чем на Sprite'ах/MovieClip'ах. Но тут есть один недостаток: быстро если не использовать трансформации. Стоит только повернуть изображение, как производительность становится равная использование Sprite'ов/MovieClip'ов. Поэтому остаётся только не поворачивать изображения программным способом, а заранее подготовить повёрнутые картинки - геморройно, зато работает быстро. Есть ли ещё какие-то способы добиться максимальной производительности? Например как включить аппаратное ускорение? Подскажите способы, как можно рисовать огромное количество изображений на экране. Спасибо за внимание! |
|
|||||
|
блогер
Регистрация: Feb 2008
Адрес: Россия, Новосибирск, Академгородок
Сообщений: 2,113
Записей в блоге: 1
|
Starling вам как-раз то, что нужно.
Добавлено через 3 минуты http://www.adobe.com/devnet/flashpla..._Starling.html И вот еще перевод (надеюсь оплатят хостинг). Если что — ищите сохраненную копию в гугле.
__________________
hauts.ru |
|
|||||
|
Регистрация: Apr 2010
Сообщений: 170
|
Hauts
Хорошо, спасибо! Это я почитаю. Но и этот движок сам-то как-то реализован. Что он использует? То есть как мне добиться самому максимальной производительности? Что использовать из функционала (без стороннего кода)? |
|
|||||
|
[+1 22.04.13]
[+1 06.03.13] Регистрация: Apr 2012
Сообщений: 239
|
setPixels, copyPixels ... быстрее только магия.... выложите код, возможно подскажу, где можно оптимизировать
Добавлено через 1 минуту на GPU ускорение я бы надеяться не стал, оно работает не на всех платформах |
|
|||||
|
блогер
Регистрация: Feb 2008
Адрес: Россия, Новосибирск, Академгородок
Сообщений: 2,113
Записей в блоге: 1
|
Tails, насколько мне известно, старлинг не поддерживает фильтры именно для дисплэйобджектов старлинга. Но так как для клипов используются текстуры из битмапдат, то не составит большого труда накладывать фильтр на картинку, а ее, в свою очередь, использовать как текстуру.
__________________
hauts.ru |
|
|||||
|
Регистрация: Apr 2010
Сообщений: 170
|
Спасибо всем за ответы! Поэкспериментирую и если что, напишу ещё.
|
|
|||||
|
Регистрация: Feb 2009
Сообщений: 141
|
Присоединяюсь к вопросу автора. Я бы тоже почитал про самостоятельную оптимизацию большого количества экранных объектов, ибо у меня тоже есть десятки тысяч спрайтов, при этом приложение офисное и использовать игровой движок для этого как бы не тот случай. Может кто-нибудь имеет линки или информацию по этому случаю.
|
|
|||||
|
Vreden,
Если объекты не двигаются внутри своего пространства (содержимое контейнера/мувиклипа) можно использовать кеширование. Прирост может быть ощутимым. В Flas ide галочка - caching bitmap
__________________
Дети не должны знать о своих родителях |
![]() |
![]() |
Часовой пояс GMT +4, время: 18:53. |
|
|
« Предыдущая тема | Следующая тема » |
|
|