Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Общие вопросы о Flash (не затрагивающие ActionScript) (http://www.flasher.ru/forum/forumdisplay.php?f=60)
-   -   Тормоза и глюки во флешке (http://www.flasher.ru/forum/showthread.php?t=78016)

d0cent 07.04.2006 06:51

Тормоза и глюки во флешке
 
Делаю флешку, и чем больше делаю, тем больше она начинает тормозить. При отладке вроде шустро бежит, а в браузере лаги начинаются. Причем по ходу сам комп тормозить начинает (2000МГЦ, 1536 Мб оперативки). флешка тут http://v-studio.ru/artemid/movie.html И еще в левой части (там где кусок дороги), происходит какое-то "ритмичное" смазывание.
Пришлось fps до 30 снизить, так хотя бы получше, а то при 50 совсем никуда не годится. Чего посоветуете?

CyberPulsar 07.04.2006 08:59

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

AlexSol 07.04.2006 11:23

/не в тему/
солдается ощущение, что колеса в другую сторону крютятся...
...с остальным вроде нормально

MIX-er 07.04.2006 15:21

http://prigorod-rt.ru/boris/

так устроит?

MIX-er 07.04.2006 15:46

и ещё чем двигаем дорогу и город?

если простым твином ну ручками нарисованным тормозить будет да и поддёргиваться 100%

нужно программным tween ом таскать

d0cent 07.04.2006 19:06

Цитата:

Сообщение от MIX-er
и ещё чем двигаем дорогу и город?

если простым твином ну ручками нарисованным тормозить будет да и поддёргиваться 100%

нужно программным tween ом таскать

Так там все программно и сделано. И тормозит.

d0cent 07.04.2006 19:13

Цитата:

Сообщение от MIX-er
http://prigorod-rt.ru/boris/

так устроит?

Хочу немного покритиковать. Можно? :)
1. дорога у вас подергивается время от времени, у меня в моей флехе похожий глюк с задним планом был, потом поправил.
2. машина какая-то слишком крупная по сравнению с дорогой и всем остальным.
3. чисто мультяшный и, в какой-то степени, психологический недочет: дивжение с права на лево как у вас обычно ассоциируется с возвращением в прошлое, движением назад, я бы сделал наоборот с лева на право, и подправил бы композицию что бы основной объект кадра (автомобиль), был ближе к краю, в вашем случае к правому, то есть, мы как бы видим то что перед автомобилем, куда он движется.

KUZEN 07.04.2006 20:11

Цитата:

Сообщение от MIX-er
http://prigorod-rt.ru/boris/

так устроит?

Город у тебя слишком быстро передвигается ...

d0cent 07.04.2006 23:19

ну так чего кто может посоветовать по поводу тормозов?

KUZEN 07.04.2006 23:21

Ну а что ты хотел у тебя там сплошные растры ... ухудшай качество растров ...

d0cent 07.04.2006 23:45

Цитата:

Сообщение от KUZEN
Ну а что ты хотел у тебя там сплошные растры ... ухудшай качество растров ...

А как что бы не очень уж в ущерб качеству?

aksios 08.04.2006 00:05

Во первых, что есть тормоза? Загрузка моего проца для твоей флехи 40%, для моего оптимизированного варианта - менее 30%. И то и другое для таких размеров флехи абсолютно нормальные - все что за приделами флехи двигается типа города тормозит однако.
Че я делал: всю графику оптимизить - линии в заливку, кэш как битмап, ну и все такое. FPS - по моему скромному разумению, делать больше 23 просто бесмыслено.
Че я не делал, но надо: события надо разнести - шоб не все кучей и лучше по таймеру.
p.s. чета мне сильно знаком этот пейзаж - ты шоль автор?

d0cent 08.04.2006 00:59

Цитата:

Сообщение от aksyos
Че я делал: всю графику оптимизить - линии в заливку, кэш как битмап, ну и все такое. FPS - по моему скромному разумению, делать больше 23 просто бесмыслено.

Это как? Что есть кэш, как понять "линии в заливку"?
Если 23 fps, тогда все движется не так плавно как хотелось бы.

Цитата:

Сообщение от aksyos
Че я не делал, но надо: события надо разнести - шоб не все кучей и лучше по таймеру.
p.s. чета мне сильно знаком этот пейзаж - ты шоль автор?

Как понять "разнести события"? Там вся анимация программная.
Ну конечно же автор я, не чужое же я обсуждать буду. :)

aksios 08.04.2006 01:44

А ну если у тебя 2004 с этим наверно сложней. В 8ке все это до кучи, ваще надо convert lines to fill или breakappart.
Все шо движется по видимому лучше не как графику, а как мувиклипы прописать.
Насчет fps: чел воспринимает 23 кадра в сек - это кинопленка. Флеш работает не равномерно, по этому некоторые пытаются компенсить это более высоким fps - типа проскочит, на самом деле надо не весь код привязывать к одному onClipEvent( EnterFrame ). Если писать события по таймеру, достаточно 1 FPS. Насчет анимации: шо ты хотел выразить дробными значениями dx, типа 0.5 - пол пикселя??? Вот тебе флеш и дает доп тормоза. Координаты надо на 1 пиксель менять. А шоб машинки с разной скоростью ехали делать это надо через разный интервал.

d0cent 08.04.2006 02:45

Цитата:

Сообщение от aksyos
А ну если у тебя 2004 с этим наверно сложней. В 8ке все это до кучи, ваще надо convert lines to fill или breakappart.
Все шо движется по видимому лучше не как графику, а как мувиклипы прописать.
Насчет fps: чел воспринимает 23 кадра в сек - это кинопленка. Флеш работает не равномерно, по этому некоторые пытаются компенсить это более высоким fps - типа проскочит, на самом деле надо не весь код привязывать к одному onClipEvent( EnterFrame ). Если писать события по таймеру, достаточно 1 FPS. Насчет анимации: шо ты хотел выразить дробными значениями dx, типа 0.5 - пол пикселя??? Вот тебе флеш и дает доп тормоза. Координаты надо на 1 пиксель менять. А шоб машинки с разной скоростью ехали делать это надо через разный интервал.

А как оно все будет двигаться если оно не мувиклип? convert lines to fill или breakappart это тут причем?
а fps если поставить 23, то все становится как в старом немом кино, которое еще за ручку надо было крутить что бы оно показывалось. :)
А что за события по таймеру?
А вот насчет дробных значений, ты прав оказался, это немного улучшило ситуацию, но тоже не совсем идеально конечно.

aksios 08.04.2006 04:01

Все мувиклипы, просто отдельных вложений в них по меньше - какая необходимость внутри еще прописывать какие то символы?
Fps 23 если сделать все правильно, более чем достаточно - это скорость современного кино - при чем тут немое...
Дробные значения флеш не понимает - не могет такого быть, чтобы при переходе к целым была потеря качества.
Юзай setInterval - получишь ваще идеальный вариант (я енто событиями по тайму обозвал). Через разные промежутки вызывай изменение координат для разных клипов. Причем, можно и реже чем 23 раза в секунду - если перемещение на малое расстояние.
Реально я скомпелил в 8м флеше под 8 плеер и получил загруз проца почти в 2 раза меньше - есть о чем подумать.

d0cent 08.04.2006 04:09

Цитата:

Сообщение от aksyos
Юзай setInterval - получишь ваще идеальный вариант (я енто событиями по тайму обозвал). Через разные промежутки вызывай изменение координат для разных клипов. Причем, можно и реже чем 23 раза в секунду - если перемещение на малое расстояние.
Реально я скомпелил в 8м флеше под 8 плеер и получил загруз проца почти в 2 раза меньше - есть о чем подумать.

Про сет интервал пожалуйста подробней если можно, так что бы глупый дизайнер понял, как его использовать :))). Что такое сет интервал я знаю, теперь, как его применить в данном случае? А если компоновать в 8м флеше, то обламываются всякие посетители-ламеры, для которых флеш - это герой старого фантастического фильма, и уж тем более не знают какая у него может быть версия и как его обновлять. Да да, таких и правда хватает в сети. Я пробовал сохранять под 8й и показывать некоторым знакомым, у которых оказался более старый.

KUZEN 08.04.2006 04:30

Не факт что используя setInterval уберуться тормоза, мне кажется их станет ещё больше ...

iNils 08.04.2006 13:04

Цитата:

Сообщение от KUZEN
Ну а что ты хотел у тебя там сплошные растры ... ухудшай качество растров ...

Использование битмапов наоборот не тормозит. А если в клипе нет вектора, а только битмап, то ставим качество low и тормозов будет еще меньше.

В кино используется 24 кадра, а не 23.

iNils 08.04.2006 13:24

Посмотрел исходник:
1. У города добавь небо в саму картинку, а не делай его полупрозрачным.
4. Колеса не стоит вращать программно. Более того их вообще не стоит вращать. В фотошопе делается пара картинок с одной фазой вращения. Это значит, что если у тебя колпак на колесе 5-ти звездночный, то фаза это 360/5=72 градуса, соотвестенно потом идет повтор. Зная количество кадров для одного оборота, сможешь вычислить количество картинок для одной фазы. Потом просто вставь покадрово в клип и забудь о колесах.
3. Картинку с дорогой и фонарями разбей на две: фонарь и дорога. Таким образом уменьшишь вес и опять избавишься от полузпрозрачности. Здесь тоже вспомни о фазах.
4. Картинка-рамка, опять полупрозраность...
5. Используй один onEnterFrame для всех перемещения, но об этом уже говорилось.

d0cent 08.04.2006 19:13

Цитата:

Сообщение от iNils
Посмотрел исходник:
1. У города добавь небо в саму картинку, а не делай его полупрозрачным.
4. Колеса не стоит вращать программно. Более того их вообще не стоит вращать. В фотошопе делается пара картинок с одной фазой вращения. Это значит, что если у тебя колпак на колесе 5-ти звездночный, то фаза это 360/5=72 градуса, соотвестенно потом идет повтор. Зная количество кадров для одного оборота, сможешь вычислить количество картинок для одной фазы. Потом просто вставь покадрово в клип и забудь о колесах.
3. Картинку с дорогой и фонарями разбей на две: фонарь и дорога. Таким образом уменьшишь вес и опять избавишься от полузпрозрачности. Здесь тоже вспомни о фазах.
4. Картинка-рамка, опять полупрозраность...
5. Используй один onEnterFrame для всех перемещения, но об этом уже говорилось.

1. прозрачность мне нужна для того что на заднем плане за зданиями потом тоже возможно будут какие-то объеты, такие как самолеты, облака и т.д.
2. насчет колеса понял, но а что если понадобиться сделать что бы при увеличении скорости колеса начинали крутиться быстрей? Сорри у меня с математикой туго.
5й пункт, это как сделать?

iNils 08.04.2006 22:17

1. Ну раз так... :)
2. На больших скоростях это не так важно. Вот если бы машина совсем останавливалась, тогда да.
3. Зайти в хелп и почитать чем onClipEvent(enterFrame) отличается от MovieClip.onEnterFrame

Nidl 08.04.2006 23:26

Вижу свой форд )))

Я думаю с городом ты погорячился задовать его одним громадным куском верно )
разбей его на несколько небольших кучочков и манипулируй ими , гдето вот так :
Код:

_root.attachMovie("Flamingo","Flamingo",1);
_root.Flamingo._x=300;
_root.Flamingo._y=130;
_root.Flamingo.onEnterFrame = function() {
this._x-=1;
if(this._x==-100){
this.unloadMovie();
}
}
_root.attachMovie("BMIStand","BMIStand",2);
_root.BMIStand._x=480;
_root.BMIStand._y=130;
_root.BMIStand.onEnterFrame = function() {
this._x-=1;
if(this._x==-100){
this.unloadMovie();
}
}
_root.attachMovie("Pink","Pink",3);
_root.Pink._x=700;
_root.Pink._y=130;
_root.Pink.onEnterFrame = function() {
this._x-=1;
if(this._x==-100){
this.unloadMovie();
}
}
//-------------------------------------------------------------
_root.onEnterFrame = function() {
counter += 1;
if(counter ==90){
_root.attachMovie("Flamingo","Flamingos",4);
_root.Flamingos._x=920;
_root.Flamingos._y=130;
_root.Flamingos.onEnterFrame = function() {
this._x-=1;
if(this._x==-100){
this.unloadMovie();
}
}
}
if(counter ==348){
_root.attachMovie("Pink","Pinks",5);
_root.Pinks._x=920;
_root.Pinks._y=130;
_root.Pinks.onEnterFrame = function() {
this._x-=1;
if(this._x==-100){
this.unloadMovie();
counter = 0;
}
}
}
}

P.S. Под свой случай я думаю переделаешь сам )))

P.S.2. И запомни , так на будущее так сказать основной принцип скролинга : В нужно время в нужном месте ... остальное хм... ерунда )

P.S.3. Удачи )))

d0cent 12.04.2006 20:11

Цитата:

Сообщение от Nidl
Вижу свой форд )))

Я думаю с городом ты погорячился задовать его одним громадным куском верно )
разбей его на несколько небольших кучочков и манипулируй ими , гдето

P.S. Под свой случай я думаю переделаешь сам )))

P.S.2. И запомни , так на будущее так сказать основной принцип скролинга : В нужно время в нужном месте ... остальное хм... ерунда )

P.S.3. Удачи )))

Вот если бы с комментариями, тогда разобрался бы. Тугой я в программинге и в математике.

Nidl 12.04.2006 23:04

Вложений: 1
Посмотри пример , все просто ,я думаю разберешься )


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

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