PDA

Просмотр полной версии : тормоза при скроллинге


MainD
03.09.2002, 19:16
есть некий скриптец, который аттачит клипы из библитеки в _root.
есть скроллер, который при наведении, циклом перебирает все зааттаченные клипы и изменяет им координату на единицу.

соль в том, что когда клипов становится прилично ( скажем, штук сорок) такой вариант начинает тормозить.

а предполагается ещё большее количество клипов.
как избавиться от торможения?

Nox Noctis
03.09.2002, 19:45
убрать цикл и поставить сдвиг в ентерФрейм клипов...
по крайней мере это начнет тормозить только при значительно большем количестве клипов :)
то есть в каждый клип положить на онЕнтерФрейм что-нить вроде "иф (где_то_там.флажок) {координата++}"

несмотря на то, что вместо одного ифа получится туева хуча ифов - при большом количестве мувов работать будет быстрее, т.к. цикл стопорит плеер по определению

...ну или оптимизировать саму систему: складывать все клипы внутрь одного общего, и сдвигать этот общий...

MainD
03.09.2002, 19:57
...ну или оптимизировать саму систему: складывать все клипы внутрь одного общего, и сдвигать этот общий...

делал вот что:
передвигал рут (но это глупо), передвигал _level - ненамного быстрее.
с циклом щаз попробую што нить сделать, но есть мысль:

а можно ли все клипы сводить (что-то типа break apart) в одну картинку (или один мувик) с помощью скрипта?
это должно дико увеличивать скорость.
как разница, если двигать не 40 клипов, а один , но чуть больше....

Nox Noctis
03.09.2002, 20:02
динамического брейк апарта нету :)

...но я все равно не понимаю, что тебе мешает сделать один пустой мувик, в него, а не в рут, зааттачить всю эту груду клипов и его уже сдвигать относительно рута ?

MainD
03.09.2002, 20:06
кроме того, как динамически зааттачиваемым клипам задать onEnterFrame?

ёпт. прошу прощения - туплю....

Nox Noctis
03.09.2002, 20:14
если в пятерке -

сделай пустой клип, на нем напиши
onClipEvent (enterFrame) {
tellTarget (_parent) {
/*
а дальше пишешь как если бы
это были события внешнего клипа
*/
}
}

...и положи этот клип с кодом внутрь приаттачиваемого

для МХ и того проще - присваиваешь onEnterFrame и все :)

зы: не успел заметить последней фразы предыдущего сообщения :)

MainD
03.09.2002, 21:10
одним словом результат есть, но он неутешительный:

-- вариант с динамическим присваиванием onEnterFrame каждому клипу - ещё медленнее, чем двигать _level.
(надо полагать, что все эти клипы как птенцы просят у мамки, какой у неё флаг и причём одновременно....
представляешь какой там внутри гомон ;)) ??


-- вариант с createEmptyMovieClip и засовывание туда всего барахла и присваивание onEnterMovieClip этому пустому клипу и двигать его - тоже самое, что и двигать _level.

вот это действо: http://forum.barboze.spb.ru/test/index2.html


одним словом раскрою карты : это flash клиент к моему форуму. сервак мной написан на php.
пока дышит - но надо было на java...
http://forum.barboze.spb.ru - это тоже клиент но на php.
обсчаюцца сокетами.
если интересно и есть желание помочь решить эту проблему - говори вышлю сурс. твоё имя будет на почётном месте ;))