Вход

Просмотр полной версии : 3D-bitmap-текстуры: Оптимизация


mr.smart
29.04.2010, 16:19
Добрый вечер, проблема в следующем:

Есть спрайт, который вращается в пространстве. Нужно наложить на него bitMap-текстуру. Соответственно, как мне видится, нужно перерисовывать bitMap-изображение чтобы создать видимость перспективы.

Сделал я эту "перерисовку" следующим алгоритмом:

qua = //кол-во прямоугольников, на которые разбивается изображение по горизонтали
w = //ширина этих прямоугольников
pic_h = //высота изображения

for (i = 0; i <= qua-1; i++) { //Проходимся по каждому прямоугольнику
v = //высчитывается во сколько раз нужно стянуть прямоугольник по высоте;
for (j = 0; j <= pic_h; j+=v) { //Сжимаем прямоугольник
myBitmapData.copyPixels(myBitmapData2, new Rectangle(i*w, j, w+1, 2), new Point(i*w, j/v));
}
}


Все более-или-менее работает (swf-ку прикрепляю), проблема в том что ТОР-МО-ЗИТ ! Если подумать, то это и не удивительно, ведь БитМапка перерисовывается около 500 раз за кадр...

Вот собственно и вопрос: как это можно оптимизировать/переделать, чтобы не тормозило ?

etc
29.04.2010, 19:52
У меня не тормозит.

mr.smart
29.04.2010, 20:08
Там качество искажения зависит от степени сжатия по горизонтали. Легкие подтормаживания (по крайней мере у меня) заметны когда картинка находится ближе к краям экрана.
Это если с одной картинкой некритично, но когда их будет 10, плюс спецэффекты на фоне... Вот что меня смущает.