|
|
|||||
Частичная перерисовка bitmapData
Привет!
Есть 10000 мувиков, часть из них статичны, остальные перемещаются. те, которые перемещаются с незаметной глазу скоростью назовём спящими. мувики - картинки 6х6 пикселей. размер видимой части 800х600 и все мувики находятся в ней. хочу распихать это дело по битмапам и перерисовывать только те мувики, которые изменили своё положение с момента последней отрисовки. как "дешевле" это сделать? есть мысль, что нужно переместившийся мувик вырезать и вставить на новую позицию в битмамдате, но не могу придумать, как оптимальнее это сделать с пятью тысячами мувиков. |
|
|||||
Нуб нубам
модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
|
1. зачем вообще "мувики", если они — "картинки" и на выходе — битмап?
2. да строго говоря, никак не вырезать. Под ним же может быть другой мувик отрисован, то есть вырезаемый будет не полностью на прозрачном фоне. Так что статичные сразу отрисовываем на битмапдату и храним ее, а всех беспокойных каждый шаг отрисовываем либо на новую прозрачную поверх фона, либо на новую копию фона.
__________________
Reality.getBounds(this); |
|
|||||
1. ну ведь наверняка показывать один битмап дешевле, чем десять тысяч.
2. тем мувиком, который "под ним" можно пренебречь, а можно перерисовать - на данном этапе это не важно. важнее разобраться, как картинку каждый раз перерисовывать без вызовов new bitmap, new bitmapdata, и похоже, без draw. просто соль в том, что все 10000 мувиков интегрируются по Верле и проц уже достаточно загружен а с помощью "умного рендера" хочется разгрузить его в отношении графики. |
|
|||||
Нуб нубам
модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
|
Цитата:
__________________
Reality.getBounds(this); |
|
|||||
буду краток
модератор форума
Регистрация: Sep 2003
Адрес: Ближайшее Замкадье
Сообщений: 3,110
Записей в блоге: 28
|
Тем более, что, наверняка, типов "мувиков" гораздо меньше чем 10000, а то и вовсе 1.
__________________
Отряд Котовскага |
|
|||||
13300 мувиков.
copyPixels отлично справился Добавлено через 45 часов 54 минуты вот результат http://www.flasher.ru/forum/showthread.php?t=198927 |
Часовой пояс GMT +4, время: 11:37. |
|
« Предыдущая тема | Следующая тема » |
Опции темы | |
Опции просмотра | |
|
|