PDA

Просмотр полной версии : Скорость Duplucate & Attach


Diomas
27.03.2002, 15:22
Люди, не подскажите, что будет быстрее:

Заатачить один экземпляр и дублировать его n-1 раз или заатачить n экземпляров?

Может кто уже проверял или знает?

DeliMIter
28.03.2002, 14:21
А проверить самому лень было?!! Пять минут пожалел?!!

При эксперементе с сотней клипов получается что attachMovie работает в среднем 39 мс,
а алгоритм с duplicateMovieClip в среднем 43 мс. Причем похоже, что результат не зависит от сложности графики в клипе.
Но, может быть это результат дополнительных операций, необходимых в цикле с дупликейтом.

Diomas
01.04.2002, 18:40
Я просто не в курсе как это проверить программно. А на глаз кажись без разницы (вообщем как ты и сказал).
Просто я смотрю, все делают аттач и потом дублируют или вообще вешают на кадре экземпряр, а потом после дублирования этот экземпляр грохают. А вариант нескольких аттачей без дублирования используется редко, хотя это, на мой взгляд, удобнее. Вот вобщем-то и возник вопрос.
Еще раз спасибо, что не поленился ответить.

[subway]design
01.04.2002, 19:33
проверить так можно:

d=new Date(); // суешь где-нибудь в начале всего кода, в руте.

Потом перед циклом копирования суешь:

t=_root.d.getTime(); // кол-во сек. с начала эпохи (1970 год)

for(......){

.......duplicate.......

}

t=_root.d.getTime()-t; // сколько миллисекунд прошло.
trace(t); // вывод в Output

DeliMIter
02.04.2002, 16:10
2[subway]design

Опять первое что пришло в голову?

_starttime = getTimer();
. . .
_your_code();
. . .
trace(getTimer() - _starttime);


Получаешь время в миллисекундах. А дату парсить... :mad:

[subway]design
02.04.2002, 19:52
date_obj.getTime()

Метод; Возвращает количество миллисекунд, прошедших с 1 января 1970, для указанного объекта Date; глобальное время. Используйте этот метод для представления определенного момента времени в различных часовых поясах.


Ничего не надо парсировать, то же самое, что и getTimer(), только цифры побольше используются, а результат один :)


А зачем красные смайлы вешать? Я кого-то заспамил или дезинформировал? 8-(

sdv
03.04.2002, 00:02
По моим наблюдениям оба метода работают примерно одинаково быстро. Но лично я предпочитаю Duplicate. При использовании Attach клип с объявленным Export в Linkage грузится в первом кадре фильма. Прелоадер приходится делать отдельным файлом и грузить основной клип через LoadMovie. Надеюсь ты готов к этому.

DeliMIter
03.04.2002, 16:21
2sdv

Ну конечно, примерно одинаково! 10% разницы! Про линкованые объекты ты говоришь правильно, то

2[subway]design

Во-первых для твоего способа надо создавать доп. объект. Во вторых разница в скоростях Date.getTime() и getTimer() весьма ощутимая. 10000 операций заняли 410 и 310 мс времени соответственно. Т.е. getTimer() на одну четверть быстрее :)

А смайл красный потому что я когда-то с датой работал, и она мне не очень понравилась :)))

DeliMIter
03.04.2002, 17:48
2sdv

лько на это и есть умелые руки, чтобы обходить расставленные макромедией ловушки :))

Diomas
03.04.2002, 18:31
Оригинал написал(а) sdv
По моим наблюдениям оба метода работают примерно одинаково быстро. Но лично я предпочитаю Duplicate. При использовании Attach клип с объявленным Export в Linkage грузится в первом кадре фильма. Прелоадер приходится делать отдельным файлом и грузить основной клип через LoadMovie. Надеюсь ты готов к этому.

Diomas
03.04.2002, 18:37
Оригинал написал(а) sdv
По моим наблюдениям оба метода работают примерно одинаково быстро. Но лично я предпочитаю Duplicate. При использовании Attach клип с объявленным Export в Linkage грузится в первом кадре фильма. Прелоадер приходится делать отдельным файлом и грузить основной клип через LoadMovie. Надеюсь ты готов к этому.

Пардон за пустое сообщение, рука сорвалась на "Отправить".

Вопрос вот в чем:
Можно ли шрифт грузить не в первом кадре?
То есть зааттачить его где-н в середине мува?

DeliMIter
04.04.2002, 14:11
В шестом есть такая настройка в окошке Linkage - Export in first frame.