|
|
« Предыдущая тема | Следующая тема » |
Опции темы | Опции просмотра |
|
|
|||||
[+1 09.03.11]
Регистрация: Mar 2010
Сообщений: 128
|
Почему тормозят картинки с альфа каналом?
Перемещаются и вращаются по экрану 100-200 картинок(Bitmap) если не использовать альфа канал то все нормально, а если у картинок сделать фон полностью прозрачным начинаются тормоза.
Все картинки на отдельном спрайте он тоже двигается. Пробовал способ: отрисовывать все картинки в одну Bitmap а потом её очищать, в раза 1,5 стало быстрее(что есть очень странно), но все равно тормозить, надо добиться хотя бы 50fps. |
|
|||||
Регистрация: Jun 2006
Адрес: Москва
Сообщений: 461
|
С отрисовкой графики у флеша всегда были проблемы, и самые большие они как раз при использовании прозрачности (любой, в битмапах, спрайтах и т.д.)... Ваш метод отрисовки все в битмапу как раз один из методов оптимизации. Возможно, вам стоит попробовать сократить число объектов. Либо отрисовывать картинки в BitmapData через setPixel, setPixel32 или setPixels а не через draw (надеюсь, так и делаете), не забывая блокировать и разблокировать битмапу от досрочной прорисовки (lock|unlock)... Ну и не лишним будет гугление на тему оптимизации работы с графикой.
|
|
|||||
[+1 09.03.11]
Регистрация: Mar 2010
Сообщений: 128
|
сделал так, почему то еще медленней стало
mBitmapData.lock(); mBitmapData.fillRect(new Rectangle(0,0,2880,2880),0); for each (var o:Monster in Monster.monsters) { if((Math.abs(int(Hero.X)-o.x-o.size)<900/2)&&(Math.abs(int(Hero.Y)-o.y-o.size)<700/2)) { var tmpMonster:BitmapData=o.graphicMonster.getChildAt(0).bitmapData; for(xForB=0;xForB<tmpMonster.width;xForB++) for(yForB=0;yForB<tmpMonster.height;yForB++) { cForB=tmpMonster.getPixel32(xForB,yForB); mBitmapData.setPixel(xForB,yForB,cForB);//setPixel32* } } } mBitmapData.unlock(); Последний раз редактировалось medvedya2; 22.09.2010 в 20:53. |
|
|||||
Регистрация: Apr 2010
Адрес: Earth
Сообщений: 1,897
|
getPixels() / setPixels() видать несудьба все же..
а еще быстрее будет через copyPixels()
__________________
Загружаем картинки, минуя ошибки безопасности |
|
|||||
[+1 09.03.11]
Регистрация: Mar 2010
Сообщений: 128
|
с copyPixels() нельзя делать трансформацию, а мне надо еще вращать, хранение всех вариантов повернутой картинки съест всю память.
а там у меня еще анимация где каждый кадр отдельная Bitmap |
|
|||||
Регистрация: Apr 2010
Адрес: Earth
Сообщений: 1,897
|
тогда только draw()
__________________
Загружаем картинки, минуя ошибки безопасности |
Часовой пояс GMT +4, время: 14:14. |
|
« Предыдущая тема | Следующая тема » |
Теги |
bitmap , производительность , тормоза |
Опции темы | |
Опции просмотра | |
|
|