Просмотр полной версии : Загрузка процессора Флэшем :( Мож кто знает как это избежать :(((
DarkChris
28.10.2004, 13:19
У меня есть пустой клип в который добавляются клипы при помощи
attachMovie(ClipName, "M" add i,Index); клипов всего 10000 при этом проц грузится на 100% после добавления (тоесть как они все добавились ) нагрузка на проц не спадает он все равно загружен на 100% что делать подскажите плиз ! :(
Оригинал написал(а) DarkChris
У меня есть пустой клип в который добавляются клипы при помощи
attachMovie(ClipName, "M" add i,Index); клипов всего 10000
Всего-то...
попробуй первый клип приаттачить, а потом ... duplicateMovieClip (ест меньше ресурсов)
но с твоим количеством клипов наврятли это тебе поможет
P.S.
выходишь ли ты из цикла по достижению 10000?
выполняется ти у тебя в аттачиных клипах какой-либо код?
DarkChris
28.10.2004, 17:41
каждый клип :
prototype.Texture = new MovieClip()
function Texture(){}
prototype.Texture.onPress = function(){...}
......
Object.rehisterClass(...)
и вот эти клипы я аттачу да цикл завершается
по моемому 10000 это слишком %))) чеб ты не делал тормозить будет все время. единственный вариант - уменьшить это число %)))) да и то если машина старенькая то тормоза остануться %((((
чесно сказать как ты добился того что у тя после добавления 10000 мувиков все работает я незнаю, у меня просто флеш виснет и все %((((
провел эксперемент
такой скрипт :
on (release) {
for (i=0;i<10000;i++)
_root.createEmptyMovieClip("s"+i,i);
}
при это проигрователь виснет минуты на 2 забирая 100% процессорного времени, потом раздупляеться и жрет гдето 45-50% времени,
машина не совсем дрова %)))(целерон 1400).
так что есть ли смысл столько мувиков грузить?
DarkChris
28.10.2004, 20:41
Смысл есть у меня этими мувиками динамически карта строится :(
Бесполезно, не спрашивай, никто не скажет.
Тебе могло бы помоч не размножение клипов, а отрисовка их на какой-то канвас(слой), шоб в результате получился один мувиклип, в котором на одном слое(одной глубине) отрисовано 10000 картинок.
Я столкнулся с похожей проблеммой, у себя в www.deepworld.us я отрисовываю сотни полигонов, но похоже, что это невозможно во флешке.
Против реальности не пропрешь. Могу только дать несколько советов по оптимизации.
1. Наверняка не вся карта видна за раз на экране. Работай только с видимыми частями -- на это нужно меньше объектов в сцене. Задача -- снизить их кол-во на пару порядков.
2. Если всё же требуется увидеть всю карту сразу -- делай LOD -- разные уровни детализации. Например, когда я писал карту города, при отдалении от нее сначала отключался показ домов, затем дорог низкой важности и т.п.
3. Убирай всяческие "onPress" из mc, или своди оные к минимуму. Если требуется, пиши обработчик определения нажатого объекта по координатом курсора мыши, например.
4. Если объектов всё равно много -- разделяй их обработку по группам, чтобы проигрыватель не зависал намертво и, ещё лучше, визуализирую загрузку, чтобы юзер всегда знал, что происходит.
5. Не слишком принимай всерьез занимаемое процессорное время.
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.