PDA

Просмотр полной версии : Загрузка процессора Флэшем :( Мож кто знает как это избежать :(((


DarkChris
28.10.2004, 13:19
У меня есть пустой клип в который добавляются клипы при помощи
attachMovie(ClipName, "M" add i,Index); клипов всего 10000 при этом проц грузится на 100% после добавления (тоесть как они все добавились ) нагрузка на проц не спадает он все равно загружен на 100% что делать подскажите плиз ! :(

Antares
28.10.2004, 14:55
Оригинал написал(а) DarkChris
У меня есть пустой клип в который добавляются клипы при помощи
attachMovie(ClipName, "M" add i,Index); клипов всего 10000
Всего-то...

netCat
28.10.2004, 17:00
попробуй первый клип приаттачить, а потом ... duplicateMovieClip (ест меньше ресурсов)

но с твоим количеством клипов наврятли это тебе поможет

P.S.

выходишь ли ты из цикла по достижению 10000?
выполняется ти у тебя в аттачиных клипах какой-либо код?

DarkChris
28.10.2004, 17:41
каждый клип :
prototype.Texture = new MovieClip()
function Texture(){}
prototype.Texture.onPress = function(){...}
......
Object.rehisterClass(...)

и вот эти клипы я аттачу да цикл завершается

__i
28.10.2004, 18:05
по моемому 10000 это слишком %))) чеб ты не делал тормозить будет все время. единственный вариант - уменьшить это число %)))) да и то если машина старенькая то тормоза остануться %((((

чесно сказать как ты добился того что у тя после добавления 10000 мувиков все работает я незнаю, у меня просто флеш виснет и все %((((

__i
28.10.2004, 18:14
провел эксперемент
такой скрипт :

on (release) {
for (i=0;i<10000;i++)
_root.createEmptyMovieClip("s"+i,i);
}

при это проигрователь виснет минуты на 2 забирая 100% процессорного времени, потом раздупляеться и жрет гдето 45-50% времени,
машина не совсем дрова %)))(целерон 1400).

так что есть ли смысл столько мувиков грузить?

DarkChris
28.10.2004, 20:41
Смысл есть у меня этими мувиками динамически карта строится :(

Skinner
28.10.2004, 23:16
Бесполезно, не спрашивай, никто не скажет.

Тебе могло бы помоч не размножение клипов, а отрисовка их на какой-то канвас(слой), шоб в результате получился один мувиклип, в котором на одном слое(одной глубине) отрисовано 10000 картинок.
Я столкнулся с похожей проблеммой, у себя в www.deepworld.us я отрисовываю сотни полигонов, но похоже, что это невозможно во флешке.

mort
29.10.2004, 00:45
Против реальности не пропрешь. Могу только дать несколько советов по оптимизации.

1. Наверняка не вся карта видна за раз на экране. Работай только с видимыми частями -- на это нужно меньше объектов в сцене. Задача -- снизить их кол-во на пару порядков.
2. Если всё же требуется увидеть всю карту сразу -- делай LOD -- разные уровни детализации. Например, когда я писал карту города, при отдалении от нее сначала отключался показ домов, затем дорог низкой важности и т.п.
3. Убирай всяческие "onPress" из mc, или своди оные к минимуму. Если требуется, пиши обработчик определения нажатого объекта по координатом курсора мыши, например.
4. Если объектов всё равно много -- разделяй их обработку по группам, чтобы проигрыватель не зависал намертво и, ещё лучше, визуализирую загрузку, чтобы юзер всегда знал, что происходит.
5. Не слишком принимай всерьез занимаемое процессорное время.