Показать сообщение отдельно
Старый 12.11.2009, 13:14
switcher! вне форума Посмотреть профиль Отправить личное сообщение для switcher! Найти все сообщения от switcher!
  № 7  
Ответить с цитированием
switcher!

Регистрация: May 2009
Сообщений: 220
Цитата:
Сообщение от bicubic_bublic Посмотреть сообщение
если имеется МувиКлип с анимацией или что-то перерисовываемое динамически, то visible = false не отменяет прорисовку каждого его кадра, однако если убрать из дерева отображения, то прорисовка просчитываться для этого объекта не будет.
на чем основана эта информация? есть ссылки на теорию или еще какие-то доказательства?
Тоже интересовал этот вопрос. Нашел комп послабже моего и сделал тест, в котором:
- динамически дабавил в дисплей лист 5000 спрайтов с приличными размерами.
- далее через Timer сделал fps равное примерно 1000 в секунду (по номиналу).
- на каждом "кадре" все спрайты меняли координаты.

Сперва для всех спрайтов visible поставил в false и потестил. Результат для 200-т "кадров" - 1300 милисекунд. Затем поставил visible = true... В общем для 1-го "кадра" результат - 8100 примерно.
Крайне сомнительно, что с visible = false отрисовка происходит.

Однако, тот же тест, но без добавления спрайтов в дисплей лист действительно показал незначительный, но стабильно более быстрый результат. Соответственно, я педположил, что "разница" вызвана самим фактом нахождения в дисплэй-листе нежели значением visible.

Тем не менее я основываюсь на результатах теста, а не на теории. И возможно где-то ошибаюсь в рассуждениях. Если так, то где

UPD:
Цитата:
Сообщение от bicubic_bublic Посмотреть сообщение
"show redraw regions" говорит об обратном
а у меня "show redraw regions" не показывает отрисовку спрайтов.


Последний раз редактировалось switcher!; 12.11.2009 в 13:31.