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

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

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

блогер
Регистрация: Jun 2005
Адрес: Toronto
Сообщений: 6,599
Записей в блоге: 17
Суть такая: происходит выполнение кода -> происходит обновление вьюпорта, т.е. окна флешки.
В случае обновления одной битмапы (метод с copyPixels) - обновление окна флешки произойдёт почти мгновенно. Обновить одну битмапу не сложно. Вся нагрузка - это вот есть copyPixels.

В случае с спрайтами - внутри кода меняется 2 координаты - это не долго. А вот перерисовать окно флешки с новыми координатами - это уже проблема, надо обновить позицию 10 тысяч клипов.
Так вот в обоих случаях замеряется только выполнение кода. Чтобы замерить сколько времени уйдёт на отрисовку - нужно как-то хитро поиграться с stage#Event.RENDER и stage#Event.ENTER_FRAME. Или ещё лучше - сделать реальный тест, в котором 10к клипов будут гонятся за мышкой. А потом повторить его, но гонятся будут пиксели через copyPixels. В первом случае FPS будет критично малым.

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

Регистрация: Feb 2012
Сообщений: 212
Psycho Tiger
Тестировать не буду, поверю на слово. Я, по правде сказать, даже не могу представить себе ситуацию, в которой выбор стоял бы между copyPixels() и обновлением позиции 10к спрайтов!
Но в конкретно в моем случае побеждает все таки обновлением позиции так как в таких масштабах (1 bitmap vs 4 DO) copyPixels() дает мизерный выигрыш в скорости обновления окна флешки, но зато в 400 медленнее обрабатывается в коде.

Старый 19.04.2012, 14:53
Psycho Tiger вне форума Посмотреть профиль Отправить личное сообщение для Psycho Tiger Найти все сообщения от Psycho Tiger
  № 23  
Ответить с цитированием
Psycho Tiger
 
Аватар для Psycho Tiger

блогер
Регистрация: Jun 2005
Адрес: Toronto
Сообщений: 6,599
Записей в блоге: 17
Если речь идёт всего о 4-х объектах, то я чисто принципиально бы не стал заморачиваться с copyPixels - метод не так удобен в разработке, как просто менять x/y у DO.

Старый 19.04.2012, 15:43
wvxvw вне форума Посмотреть профиль Отправить личное сообщение для wvxvw Найти все сообщения от wvxvw
  № 24  
Ответить с цитированием
wvxvw
Modus ponens
 
Аватар для wvxvw

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
Вы серьезно расчитываете с такой скоростью экран обновлять? Он просто физически так быстро не может 50 кадров в секунду - это 1000 / 50 миллисекунд на кадр = 20 миллисекунд на отрисовку одного кадра. Если вы собираетесь рисовать со скоростью 3 миллисекунды на кадр - это 1000 / 3 кадров в секунду = 333 fps. Такое, наверное, только в Матрице возможно
Флешевый таймер даже с такой точностью не работает.

По поводу того, как сркорллить - если есть возможность использовать scroll() - это оптимальный вариант. Следующий за ним - отрисовывать части битмапдаты в один объект Graphics с применением матрицы трансформации, чтобы сдвинуть картинку относительно точки привязки. Манипулировать экранными объектами будет медленнее т.как от отрисовки никто не избавит, а вот накладные расходы на пересчет из одной системы координат в другую усложнят задачу.
__________________
Hell is the possibility of sanity

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

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

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


 


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


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