![]() |
|
||||||||||
|
|||||
|
Лично я отказываюсь разбираться с вашим кодом. Вам не хочется "городить чёта с этими переменными", и в итоге вы мучитесь, пытаясь что-то налепить, не задев ваши локальные переменные. Ну если вам так дорог секс с кодом, я не возражаю, но в этой оргии участия принимать не буду.
|
|
|||||
|
Регистрация: Apr 2008
Сообщений: 82
|
Неожиданно
Что я могу сказать. Мучиться особо не пришлось. Локальные переменные и переменные класса прозрачны для подфункций. Единственное, что мне пришлось сделать - это создать делегатов для других методов класса, использовавшихся внутри подфункции. На этом секс закончился. Кроме того, последний приведённый кусок кода по своей логике не имеет к этому отношения вообще. |
|
|||||
|
Мучиться не пришлось, но прийдется, если работать с этим кодом дальше.
И да, мне кажется, что у вас проблема с InstanceManager.getNextDepth(), который, скорее всего, не предназначен для огромного числа мувиклипов. А может и еще где-нибудь. Копайтесь в вашем коде, вычисляйте, какой кусок занимает много времени. |
|
|||||
|
Помоему правильно не getNextDepth(), а getNextHighestDepth();
__________________
Убейте меня! |
|
|||||
|
Регистрация: Apr 2008
Сообщений: 82
|
2джонатан: там вообще метод getFreeDepth, это статический метод спец. класса.
Код метода из InstanceManager: Как будто бы не очень подходит для тысячи клипов, проверок с каждым разом всё больше. Но тест с getTimer мне показал, что на эти проверки тратится время в десятки раз меньшее, чем на создание объектов MyClip. |
|
|||||
|
Так на что у вас тратится больше всего времени? именно на createEmptyMovieClip?
Как кто-нибудь может вам помочь, если вы не показываете, как и что у вас создается? И да, это конечно же может быть банальная нехватка ресурсов у флешплеера. Они у него ограничены, насколько я знаю. |
|
|||||
|
Регистрация: Apr 2008
Сообщений: 82
|
Когда я судил по выводу getTimer, я думал, что больше всего времени занимает MyClip.create(...). Очень сранным было то, что чем дальше, тем медленнее они выводились.
Но я решил по вашему совету попробовать сменить постоянные вызовы depth = InstanceManager.getFreeDepth(this) на простое depth = depth + 1. Тут конечно не всё так просто, но не суть. После этого положение вещей поправилось. Теперь картина с вложением чуть более 2000 MyClip рисуется за 5 секунд. И, по крайней мере, как я наблюдал, все эти клипы прорисовываются с одинаковой скоростью. Думаю, что с этой темой можно закончить. Большое спасибо. |
![]() |
![]() |
Часовой пояс GMT +4, время: 03:03. |
|
|
« Предыдущая тема | Следующая тема » |
|
|