Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 22.03.2011, 02:42
Ariel вне форума Посмотреть профиль Отправить личное сообщение для Ariel Найти все сообщения от Ariel
  № 1  
Ответить с цитированием
Ariel
 
Аватар для Ariel

Регистрация: Dec 2006
Сообщений: 230
Question Корректная подготовка растровой графики для игр

Имеется такое понятие как облако. Даже много облаков! Разных! Нарисованных заботливо дизайнером. Отрендерённых заботливо в PNG. В игре летают! В 24 бита с прозрачностью. И вот конечно проблема: пускаем пачку (много!) облаков, оне друг на друга наезжают по-всякому, и у нас конкретно падает рендер-производительность! Облака большие. Края, которые прозрачные, аж до 50% от всей площади облака. И главное, что само облако не только по краям, но и само по себе полупрозрачное!!

Вопросы:
1) Если сделать альфу только по краям облаков, а середину оставить solid, но возрастёт ли производительность рендера ?
2) Просто прозрачный слой, импортированный из Фотошопа, жрёт ли производительность? Имеет ли смысл подрезать (Trim) такие бесхозные большие прозрачные края?

Thanks

Старый 22.03.2011, 07:25
goodguy вне форума Посмотреть профиль Найти все сообщения от goodguy
  № 2  
Ответить с цитированием
goodguy
Banned
[+1 05.11.11]
[+1 09.08.11]

Регистрация: Jan 2010
Адрес: РФ. Кемеровская область
Сообщений: 3,243
Цитата:
Имеет ли смысл подрезать (Trim) такие бесхозные большие прозрачные края?
Конечно имеет

Цитата:
Просто прозрачный слой, импортированный из Фотошопа, жрёт ли производительность?
Естественно. Все, что просчитывается - жрет производительность.

Старый 22.03.2011, 09:41
zuxul вне форума Посмотреть профиль Отправить личное сообщение для zuxul Найти все сообщения от zuxul
  № 3  
Ответить с цитированием
zuxul

Регистрация: Dec 2009
Адрес: 59°13′N, 39°54′E
Сообщений: 445
Записей в блоге: 1
Попробуйте метод отрисовки в одну BitmapData.

Старый 22.03.2011, 09:57
Tails вне форума Посмотреть профиль Отправить личное сообщение для Tails Найти все сообщения от Tails
  № 4  
Ответить с цитированием
Tails
 
Аватар для Tails

блогер
Регистрация: Dec 2008
Адрес: г. Чебоксары
Сообщений: 2,259
Записей в блоге: 6
Нужно каждое облако аккуратно вырезать и поместить в один символ. А не двигать несколько гигантских PNG по всей сцене.
Облачка должны быть только в зоне видимости. (За краями сцены их быть не должно, по сути там вообще ничего не должно быть.)

или да, вариантом zuxul, будет намного лучше.
__________________
Дети не должны знать о своих родителях


Последний раз редактировалось Tails; 22.03.2011 в 09:59.
Старый 22.03.2011, 10:24
Ariel вне форума Посмотреть профиль Отправить личное сообщение для Ariel Найти все сообщения от Ariel
  № 5  
Ответить с цитированием
Ariel
 
Аватар для Ariel

Регистрация: Dec 2006
Сообщений: 230
2zuxul :: В одну БитмапДату отрисовать затруднительно, т.к. облака ходят десинхронизированно. И потом, разницы все равно никакой, будет одна большая Битмапа с разными участками прозрачности.

2Tails ::
Цитата:
Нужно каждое облако аккуратно вырезать и поместить в один символ.
Оно щас так и сделано.
Цитата:
Облачка должны быть только в зоне видимости. (За краями сцены их быть не должно, по сути там вообще ничего не должно быть.)
Оно и так. Маска на сцене...

Старый 22.03.2011, 10:41
cleptoman вне форума Посмотреть профиль Отправить личное сообщение для cleptoman Найти все сообщения от cleptoman
  № 6  
Ответить с цитированием
cleptoman
 
Аватар для cleptoman

блогер
Регистрация: Mar 2007
Сообщений: 1,291
Записей в блоге: 5
Отправить сообщение для cleptoman с помощью ICQ
маска - это маска, которая не имеет отношения к дисплейлисту и мувикам в нем.
Цитата:
В одну БитмапДату отрисовать затруднительно, т.к. облака ходят десинхронизированно. И потом, разницы все равно никакой, будет одна большая Битмапа с разными участками прозрачности.
а если попробовать уйти от прозрачности в итоге? например взять статичную битмапдату - фон. взять массив с облаками и рисовать через setPixels в одну итоговую битмапдату.
по поводу "десинхронизированно". я так понимаю речь идет о движении облаков и изменении координат.
если так, то можно битмапдатам сделать легкую обертку, дополнив нужными свойствами и работать с ними.

п.с. как-то с утра у меня слог и рифма не та)). не знаю, поймете что-нибудь из моей писанины или нет.
__________________
http://cleptoman.free-lance.ru
achivements: дважды благословлен на воровство. осеяный благодатью

Старый 22.03.2011, 10:48
Ariel вне форума Посмотреть профиль Отправить личное сообщение для Ariel Найти все сообщения от Ariel
  № 7  
Ответить с цитированием
Ariel
 
Аватар для Ariel

Регистрация: Dec 2006
Сообщений: 230
Цитата:
например взять статичную битмапдату - фон.
Это так и есть сейчас.
Цитата:
взять массив с облаками и рисовать через setPixels в одну итоговую битмапдату.
Я не уверен, что так будет быстрее, чем просто двигать Битмапы. setPixels придется весь экран перерисовывать. А по верху еще и Гаррипоттеры летают. И все тормозит! В общем, я смотрю, нафильтрованные транспарентные облака не есть путь для Флаша. Не тянет!

Старый 22.03.2011, 10:48
Tails вне форума Посмотреть профиль Отправить личное сообщение для Tails Найти все сообщения от Tails
  № 8  
Ответить с цитированием
Tails
 
Аватар для Tails

блогер
Регистрация: Dec 2008
Адрес: г. Чебоксары
Сообщений: 2,259
Записей в блоге: 6
Ariel
Держите весь ваш левал в отдельном контейнере, не добавленном в список отображения.
Затем отрисовываете его в битмапу, размер которой равен ширине высоте окна флешки.
Битмапу добавляете в списке отображения.

Я правда таким способом ещё не попользовался, но в теорий должно убить все лаги связанные с графическим отображением больших уровней.

пс Маска ни на милиметр не облегчает производительность. Объекты под ней всё равно перерисовываються.
__________________
Дети не должны знать о своих родителях

Старый 22.03.2011, 11:00
Ariel вне форума Посмотреть профиль Отправить личное сообщение для Ariel Найти все сообщения от Ariel
  № 9  
Ответить с цитированием
Ariel
 
Аватар для Ariel

Регистрация: Dec 2006
Сообщений: 230
2Tails :: Хороший метод, попробую. Спасибо. Но пока облака не занимают много места на экране - проблем нет! Пока они плавают за маской - проблем с производительностью не наблюдается. Рендер не рендерит. Как только их много приплывает, вот тогда они друг на друге и начинают притормаживать. Но все равно попробую слепливать такую Битмапу. И, соответственно, делать такой снимок надо на ЕнтерФрейме каждый раз, да?

Также, имеет ли смысл просить дизайнеров переделать сами облака, чтоб уменьшить общее количество альфы?


Последний раз редактировалось Ariel; 22.03.2011 в 11:02.
Старый 22.03.2011, 11:01
cleptoman вне форума Посмотреть профиль Отправить личное сообщение для cleptoman Найти все сообщения от cleptoman
  № 10  
Ответить с цитированием
cleptoman
 
Аватар для cleptoman

блогер
Регистрация: Mar 2007
Сообщений: 1,291
Записей в блоге: 5
Отправить сообщение для cleptoman с помощью ICQ
если не жалко - дайте пару ваших адских облачков - пощупать)
__________________
http://cleptoman.free-lance.ru
achivements: дважды благословлен на воровство. осеяный благодатью

Создать новую тему Ответ Часовой пояс GMT +4, время: 16:53.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 16:53.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.