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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 13.01.2015, 16:09
nubideus вне форума Посмотреть профиль Отправить личное сообщение для nubideus Найти все сообщения от nubideus
  № 21  
Ответить с цитированием
nubideus

Регистрация: Jan 2013
Сообщений: 322
mikhailk, и че прям не лагает?

Старый 13.01.2015, 18:40
mikhailk вне форума Посмотреть профиль Отправить личное сообщение для mikhailk Найти все сообщения от mikhailk
  № 22  
Ответить с цитированием
mikhailk
 
Аватар для mikhailk

Регистрация: Nov 2009
Адрес: СПб
Сообщений: 2,236
На слабых машинах подтормаживает, как я и говорил выше.
Но изменился характер подтормаживания.
Разница как бы между "медленно работает" и "хаотично дергается".

Старый 13.01.2015, 22:32
elder_Nosferatu вне форума Посмотреть профиль Отправить личное сообщение для elder_Nosferatu Найти все сообщения от elder_Nosferatu
  № 23  
Ответить с цитированием
elder_Nosferatu
 
Аватар для elder_Nosferatu

Регистрация: Nov 2010
Адрес: 48° 55'N 24° 42'E GMT +2:00
Сообщений: 399
Записей в блоге: 1
Если трансформация заключается в обычном myDisplayObject.rotation = newAngleValue, то никакие твинеры не спасут ибо как не крути а они сложнее обычной подписки на Event.ENTER_FRAME. А значит и производительности эти твинеры не прибавят.

Если на древнем железе есть визуальные лаги, то спасти может только пререндеринг, но такой подход скушает много памяти (картинка то габаритная). Но если колесо изображено схематически и может быть поделено на несколько визуально идентичных секторов, то можно сократить расход памяти, отрисовав несколько положений колеса не в диапазоне 0..360 градусов, а в 0..360/n градусов, где n - количество секторов.

Старый 13.01.2015, 22:40
Zebestov вне форума Посмотреть профиль Отправить личное сообщение для Zebestov Посетить домашнюю страницу Zebestov Найти все сообщения от Zebestov
  № 24  
Ответить с цитированием
Zebestov
Lorem ipsum
 
Аватар для Zebestov

модератор форума
Регистрация: May 2001
Адрес: Одесса
Сообщений: 4,869
Записей в блоге: 4
elder_Nosferatu, и это все не принесет нам ни грамма выигрыша. Если кусков не 4 (по 90 градусов), то мы просто превратим отрисовку двух треугольников в отрисовку два-по-360/n треугольников. Говоря другими словами, мы сделаем пререндер сектора, потратим память (а колесо вращается мееедленно, памяти уйдет мнооого), намучаемся со стыковкой швов и в конечном счете проиграем даже в скорости.

В данном случае смещение баланса в сторону избыточной информации не принесет прироста производительности.
__________________
Поймай яблоко 2!

Старый 14.01.2015, 00:45
in4core вне форума Посмотреть профиль Отправить личное сообщение для in4core Найти все сообщения от in4core
  № 25  
Ответить с цитированием
in4core
[+4 06.05.14]
 
Аватар для in4core

Регистрация: Mar 2009
Сообщений: 4,219
Записей в блоге: 14
Цитата:
Если трансформация заключается в обычном myDisplayObject.rotation = newAngleValue, то никакие твинеры не спасут ибо как не крути а они сложнее обычной подписки на Event.ENTER_FRAME. А значит и производительности эти твинеры не прибавят.
Проверно на личном опыте - твинМакс + блитМаск дает прирост чуть ли не в 200% против интер_фрейм при работе с битмапами больших размеров. Или большими спрайтами с частями битмап, причем самой простейшей анимацией х++, y++
__________________
Марк Tween

Старый 14.01.2015, 02:21
elder_Nosferatu вне форума Посмотреть профиль Отправить личное сообщение для elder_Nosferatu Найти все сообщения от elder_Nosferatu
  № 26  
Ответить с цитированием
elder_Nosferatu
 
Аватар для elder_Nosferatu

Регистрация: Nov 2010
Адрес: 48° 55'N 24° 42'E GMT +2:00
Сообщений: 399
Записей в блоге: 1
@Zebestov
Я писал об отрисовке всего колеса, а не его сектора. А значит и склеивать ничего не прийдется. О секторах я завел разговор только потому, что если, к примеру, колесо разделено спицами на 5 72-градусных идентичных секторов, то поворот на 72 градуса будет выглядеть также, как и на 144 и на 216 и на 360 градусов, а поворот на 5 градусов такой же, как и на 77 и на 149... градусов. А это значит, что нет смысла рисовать вид колеса в положениях от 0 до 360, достаточно будет от 0 до 72

Старый 14.01.2015, 03:57
Zebestov вне форума Посмотреть профиль Отправить личное сообщение для Zebestov Посетить домашнюю страницу Zebestov Найти все сообщения от Zebestov
  № 27  
Ответить с цитированием
Zebestov
Lorem ipsum
 
Аватар для Zebestov

модератор форума
Регистрация: May 2001
Адрес: Одесса
Сообщений: 4,869
Записей в блоге: 4
elder_Nosferatu, понял. Но тогда памяти действительно уйдет многовато — все колесо хранить.
__________________
Поймай яблоко 2!

Старый 14.01.2015, 09:32
nubideus вне форума Посмотреть профиль Отправить личное сообщение для nubideus Найти все сообщения от nubideus
  № 28  
Ответить с цитированием
nubideus

Регистрация: Jan 2013
Сообщений: 322
elder_Nosferatu, а чем это поможет если и там и там нужно рисовать картинку с поворотом?

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

Регистрация: Nov 2009
Адрес: СПб
Сообщений: 2,236
Цитата:
Проверно на личном опыте - твинМакс + блитМаск дает прирост чуть ли не в 200% против интер_фрейм при работе с битмапами больших размеров. Или большими спрайтами с частями битмап, причем самой простейшей анимацией х++, y++
При анимации смещения, наверняка, так и есть.
При анимации вращения вариант с трианглами оказался визуально производительнее.


Цитата:
Если на древнем железе есть визуальные лаги, то спасти может только пререндеринг, но такой подход скушает много памяти (картинка то габаритная).
Да, естественно.
Но в силу ряда причин пререндеринг может быть невозможен.

Например, на колесо наносятся дополнительные маркеры, перекрашиваются сектора и все такое прямо во время вращения. Модифицировать одну битмапдату на лету проблем нет. Пересобрать все 360 битмапдат - это уже затратная операция.

Старый 15.01.2015, 02:01
elder_Nosferatu вне форума Посмотреть профиль Отправить личное сообщение для elder_Nosferatu Найти все сообщения от elder_Nosferatu
  № 30  
Ответить с цитированием
elder_Nosferatu
 
Аватар для elder_Nosferatu

Регистрация: Nov 2010
Адрес: 48° 55'N 24° 42'E GMT +2:00
Сообщений: 399
Записей в блоге: 1
@nubideus
Погуглите значение слова "пререндеринг"
Если перед анимированием закешировать разные состряния, то вместо их отрисовки по нужде можно использовать готовые состояния из кеша.

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

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

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


 


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


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