Корректная подготовка растровой графики для игр
Имеется такое понятие как облако. Даже много облаков! Разных! Нарисованных заботливо дизайнером. Отрендерённых заботливо в PNG. В игре летают! В 24 бита с прозрачностью. И вот конечно проблема: пускаем пачку (много!) облаков, оне друг на друга наезжают по-всякому, и у нас конкретно падает рендер-производительность! Облака большие. Края, которые прозрачные, аж до 50% от всей площади облака. И главное, что само облако не только по краям, но и само по себе полупрозрачное!!
Вопросы: 1) Если сделать альфу только по краям облаков, а середину оставить solid, но возрастёт ли производительность рендера ? 2) Просто прозрачный слой, импортированный из Фотошопа, жрёт ли производительность? Имеет ли смысл подрезать (Trim) такие бесхозные большие прозрачные края? Thanks |
Цитата:
Цитата:
|
Попробуйте метод отрисовки в одну BitmapData.
|
Нужно каждое облако аккуратно вырезать и поместить в один символ. А не двигать несколько гигантских PNG по всей сцене.
Облачка должны быть только в зоне видимости. (За краями сцены их быть не должно, по сути там вообще ничего не должно быть.) или да, вариантом zuxul, будет намного лучше. |
2zuxul :: В одну БитмапДату отрисовать затруднительно, т.к. облака ходят десинхронизированно. И потом, разницы все равно никакой, будет одна большая Битмапа с разными участками прозрачности.
2Tails :: Цитата:
Цитата:
|
маска - это маска, которая не имеет отношения к дисплейлисту и мувикам в нем.
Цитата:
по поводу "десинхронизированно". я так понимаю речь идет о движении облаков и изменении координат. если так, то можно битмапдатам сделать легкую обертку, дополнив нужными свойствами и работать с ними. п.с. как-то с утра у меня слог и рифма не та)). не знаю, поймете что-нибудь из моей писанины или нет. |
Цитата:
Цитата:
|
Ariel
Держите весь ваш левал в отдельном контейнере, не добавленном в список отображения. Затем отрисовываете его в битмапу, размер которой равен ширине высоте окна флешки. Битмапу добавляете в списке отображения. Я правда таким способом ещё не попользовался, но в теорий должно убить все лаги связанные с графическим отображением больших уровней. пс Маска ни на милиметр не облегчает производительность. Объекты под ней всё равно перерисовываються. |
2Tails :: Хороший метод, попробую. Спасибо. Но пока облака не занимают много места на экране - проблем нет! Пока они плавают за маской - проблем с производительностью не наблюдается. Рендер не рендерит. Как только их много приплывает, вот тогда они друг на друге и начинают притормаживать. Но все равно попробую слепливать такую Битмапу. И, соответственно, делать такой снимок надо на ЕнтерФрейме каждый раз, да?
Также, имеет ли смысл просить дизайнеров переделать сами облака, чтоб уменьшить общее количество альфы? |
если не жалко - дайте пару ваших адских облачков - пощупать)
|
Часовой пояс GMT +4, время: 14:43. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.