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

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

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

Регистрация: Jun 2011
Сообщений: 18
Question Вопрос производительности графики, Аппаратное ускорение.

Доброго времени суток=)
Собственно говоря очень хотелось бы понять как быстрее производить отрисовку чего либо на экран. На сколько я знаю флеш сейчас ускоряет только видео, вот и хотелось бы понять как правильней отрисовывать графику в игрушке.
1) Быстрее ли один раз отрисовать битмап дату на каждый спрайт а потом двигать их накладывая друг на друга? (то есть сверху рамка интерфейса, которая отрисовывается в самом начале и далее не меняется, совсем снизу фон, огромная картинка на весь спрайт, опять таки не изменяющийся, а между прозрачный битмап который перерисовывается, собственно игровое поле)
2)Или каждый раз формировать битмап дату размером с экран, draw-ом на неё рисуя игровые объекты, интерфейс и после выводя.
Может что-то гибридное стоит сделать?
Или вообще может стоит промежуточный слой сделать спрайтом-контейнером и на него помещать bitmap-ы игровых объектов, и флеш сам позаботится о неотрисовке объектов не попавших в кадр?

Заранее спасибо за ответы, и\или ссылки на то где можно про это почитать. Можно и на английском.

Старый 17.06.2011, 17:50
S-ed вне форума Посмотреть профиль Отправить личное сообщение для S-ed Найти все сообщения от S-ed
  № 2  
Ответить с цитированием
S-ed
 
Аватар для S-ed

Регистрация: Jul 2001
Адрес: SPb.RU
Сообщений: 148
Отправить сообщение для S-ed с помощью ICQ
Флеш отрисовывает регионы.
В вашем случае, перерисовываться будет средний слой. (посмотрите в плеере View - Show Redraw Regions - Ctrl+E)
__________________
RTFM

Старый 17.06.2011, 18:54
Seagull вне форума Посмотреть профиль Отправить личное сообщение для Seagull Найти все сообщения от Seagull
  № 3  
Ответить с цитированием
Seagull

Регистрация: Jun 2011
Сообщений: 18
Итак я ещё немного поэкспериментировал.
1)При смещении даже неизменного битмапа он всё равно перерисовывается, но это должно быть быстрее чем рисовать что либо его битмап дате... (чисто из логики)
2)Проверял будет ли изменение в быстродействии при создании 10000 колеблющихся битмапов, которые вначале будут колебаться в видимой области, а потом вне. К сожалению просадить быстродействие не удалось, фпс как было 30 так 30 и осталось, видимо виновато хорошее железо=). Посему судить о наличии\отсутствии\эффективности встроенного отсечения не могу.
3)Так как средний слой есть прозрачная битмап дата, и она изменяется вся, даже если был изменён лишь один пиксел.

Я может что-то делаю неправильно, или чего-то не понимаю. Прошу всё таки ответить на вопрос чуть полнее=)


Последний раз редактировалось Seagull; 17.06.2011 в 18:59.
Старый 17.06.2011, 19:06
-De- вне форума Посмотреть профиль Отправить личное сообщение для -De- Найти все сообщения от -De-
  № 4  
Ответить с цитированием
-De-
 
Аватар для -De-

блогер
Регистрация: Oct 2005
Адрес: Днепродзержинск - город Брежнева и других логопедов
Сообщений: 1,421
Записей в блоге: 4
Отправить сообщение для -De- с помощью ICQ Отправить сообщение для -De- с помощью Skype™
Гуглить flash, render, speed, fastest, faster и в таком духе.
И тестить Ваш случай. Ставить 120 фпс (может упереться во фреймрейт монитора, у меня 60), увеличить перерисовываемую область, мерять время на кадр.
__________________
Бобры отвечают на вопросы не потому, что знают на них ответы; они отвечают потому, что их спрашивают.

Старый 17.06.2011, 19:08
gloomyBrain вне форума Посмотреть профиль Отправить личное сообщение для gloomyBrain Найти все сообщения от gloomyBrain
  № 5  
Ответить с цитированием
gloomyBrain
 
Аватар для gloomyBrain

блогер
Регистрация: Mar 2008
Адрес: РФ, Санкт-Петербург
Сообщений: 2,272
Записей в блоге: 5
Отправить сообщение для gloomyBrain с помощью ICQ Отправить сообщение для gloomyBrain с помощью Skype™
Я бы еще добавил слово blitting (вот пример)
__________________
...вселенская грусть

Старый 17.06.2011, 19:11
S-ed вне форума Посмотреть профиль Отправить личное сообщение для S-ed Найти все сообщения от S-ed
  № 6  
Ответить с цитированием
S-ed
 
Аватар для S-ed

Регистрация: Jul 2001
Адрес: SPb.RU
Сообщений: 148
Отправить сообщение для S-ed с помощью ICQ
Альфа транзишены сильно процессор грузят.
Например 50 перекрывающих друг друга спрайтов с накинутым эффектом блюра.
__________________
RTFM

Старый 17.06.2011, 19:19
Seagull вне форума Посмотреть профиль Отправить личное сообщение для Seagull Найти все сообщения от Seagull
  № 7  
Ответить с цитированием
Seagull

Регистрация: Jun 2011
Сообщений: 18
Цитата:
Сообщение от gloomyBrain Посмотреть сообщение
Я бы еще добавил слово blitting (вот пример)
Ох, как я вам благодарен!

Про 50 спрайтов тут даже на форуме была страничка, где кто-то делал патиклы. Однако альфы можно полностью избежать, если работать с единственной битмап датой на которую слоями выводить фон->спрайты->рамку...

Ушёл копать. Когда найду достоверную и полную информацию, о результате доложусь=) Ну или чего-нибудь типа статьи сам наваяю... Если надо, конечно.

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

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

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


 


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


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