Форум 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 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 для всех перемещения, но об этом уже говорилось.


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

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