Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript (http://www.flasher.ru/forum/forumdisplay.php?f=5)
-   -   Скорость Duplucate & Attach (http://www.flasher.ru/forum/showthread.php?t=29250)

Diomas 27.03.2002 15:22

Скорость Duplucate & Attach
 
Люди, не подскажите, что будет быстрее:

Заатачить один экземпляр и дублировать его 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

Еще вопросик на сч загузки в 1ом кадре
 
Цитата:

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


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

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