PDA

Просмотр полной версии : Оптимизация рисованных фонов - как быть?


galinja
13.03.2009, 01:18
Рисую фоны для онлайн игры. По тех заданию во флеше....Столкнулись с проблемой тормозов. Программеры просят уменьшить кол-во деталей (объектов) Воспользовалась функцией оптимайз - наже на минимальном значении корежит рисунок так, что плакать хочется... Сами картинки должны выглядеть в духе http://www.clubpenguin.com/ Рисовано там точно в векторе, но нигде ничего не тормозит, хотя объектов куча!!!... Делаю вывод - либо это как-то жмется(оптимайзится) либо есть определенная технология рисования...Хелп! Может кто знает решение этой проблемы???

mr_Sax
13.03.2009, 15:48
Вашу графику в студию!

А вообще, то что там, да, там вектор, причем без градиентов - которые сильно жрут ресурсы, да и анимация вся почти покадровая и вдиэжется 20% экрана... Там реально нечему тормозить.

galinja
14.03.2009, 00:18
Спасибо за ответ, возможно наведет на некоторые мысли...
Хотя насчет градиентов вы не правы - я детально анализировала их фоны - там градиентов Очень много!!!! Сейчас моя команда пришла к выводу, что там картинка кэшируется и подгружается уже в виде битмапа...
Пытаемся сделать тоже самое...Смотрим что получается....Тормозить стало меньше, но все равно до аналога не дотягиваем.
На счет графики в студию - я здесь совсем свежее лицо и до конца не разобралась как что сюда подгружать... Если подскажите как - выложу.
А когда наш сайт заработает в нормальном виде, обязательно выложу ссылку.Сейчас там баг на баге и багом погоняет.

mr_Sax
14.03.2009, 02:08
чтобы выложить картинку, залейте ее на любой ресурс, а потом в окне сообщений есть иконка для вставки картинок, туда ее забейте.

Как бы то ни было, заставить тормозить флешь нужно уметьь, заставить его не тормозить, задача еще более сложная. Может быть вам просто растр залить? там где эт овозможно. Это ктстаи частенько сказывается на производительнсоти.

Вообще, на производительность влияют: градиенты, фильтры, прозрачности всех типов, движущийся растр, чрезмерное количество векторных элементов. И все это прямо пропорционально конечному размеру движущегося объекта (статичные не сильн онагружают) Возьмите идеальную по производительнсоти картинку, сделайте ее 1000 на 600 и сделайте анимацию 2-ух одинаковых символа, внутри которых объект с градиентной растяжкой от белого да прозрачного - эффект гарантирую. Символы толкь она веь экран сделайте )

Вобщем, покажите картинку :)

galinja
14.03.2009, 02:34
Простите за идиотский вопрос (ну не сильна я в том как и чтооо) - в качестве ресурса вконтакте сгодится? Или еще куда слить посоветуете. А то сайта у меня нет... Сайтовник ходит без сайтов:)
По существу дела:
из всего перечитленного имеется много персонажей (гостей на сайте) и около 5 мелких анимаций на каждой локации типа звездочки и стрелочки... Так что ни прозрачностей ни эффектов ни фильтров не имеем, а от вектра ушли путем кэша. Я собственно не аниматор, хотя для себя пару роликов сделала, но это не серьезно...Возможно тормозит именно анимация, так как наш аниматор работает пока только в анима-про и конвертит это потом во флеш и эсвееф. Возможно при конвертации все это сильно тяжелеет...Вот будем сейчас аниматора на флеш пересаживать - посмотрим что будет.

pelipas
14.03.2009, 03:21
вконтакте?)) дожились)) выкладывайте картинки на picamatic.com например.. для других файлов есть куча сервисов.. да тот же яндекс диск

galinja
14.03.2009, 20:44
Ну вот, мне разрешили выложить ссылку, хотя всю графику кроме площади скорее всего придется корректировать, а интерфейс дико сырой и тоже частично будет переделан. Все очень ОЧЕНЬ сырое, так что кроме графики самих локаций очень прошу ничего не замечать...
http://www.webiki.ru/
Если будут соображения по поводу тормозов - буду очень благодарна любым советам - анализировать их буду скорее всего не я, но для меня это тоже очень, очень важно.

Wolsh
15.03.2009, 14:38
Ммм.. Симпатичненько!
Не сказал бы что у меня тормозит, скорее ощущение неровной анимации, например в фонтане.. Но у меня комп выше среднего.. Так что все же советы))
Фон безусловно надо делать растром. Именно растром, а не кешированным вектором.
Если фон будет картинкой, то реально векторных движущихся объектов будет всего пять-шесть, тормозить тут вообще нечему. Я бы наверно даже фонтан сделал как секвенцию битмапов - он реально жрет ресурсы, больше всех объектов.
Анимация у Вас простейшая и сама по себе тормозить не должна. По крайней мере, выглядит как простейшая, что там внутри происходит, я не могу знать. На персонажах таки видны градиенты, настолько слабые что их можно смело убрать и сделать однородные заливки. (к слову персонажу надо бегать, он очень долго марширует)
Кое что говорит также область перерисовки - у Вас в левом верхнем углу спрятано чтото движущееся но невидимое. Оно перерисовывается постоянно))) И еще какие-то невидимые объекты вокруг фонтана. А должны - только стрелки, звездочки, фонтан и перс.

galinja
15.03.2009, 15:46
Спасибо! Я думаю ваши советы нам реально пригодятся! В верхнем левом сейчас зарыто окно, которым пользуются программеры и в финальной версии его не будет, а вот что там вокруг фонтана...я даже и не знаю...надо будет полюбопытствовать...
Вообще все что есть, сделано с нуля за два месяца так что мы пока находимся в стадии поиска разных технических и др. решений. Будем постепенно расширять и список игр и кол-во локаций...

Stargazer
15.03.2009, 16:38
Pentium-4 2,4 МГц, 512 ОЗУ.

Я, честно говоря, подумал, что мой зайчик должен бегать. А раз он ползает - то это от тормозов флешки. Но если ему так и предназначено ползать - то в остальном анимация плавная - да. Так что может быть, у меня тоже не тормозит. Но ощущение сильной тормознутости имеется.

Wolsh
15.03.2009, 19:15
А не проще ли не ломать голову и посмотреть реальный фпс и сравнить с установленным.

Stargazer
15.03.2009, 19:54
А не проще ли не ломать голову и посмотреть реальный фпс и сравнить с установленным.

Если это ко мне - то, кстати, интересно узнать, как это можно просто сделать. Пока не приходилось, но вообще такая информация - вещь полезная.

Wolsh
15.03.2009, 21:07
Я не знаю, может это к вашим программистам
//// FPS COUNTER
var fps:TextField = _root.createTextField("fps",_root.getNextHighestDepth(),10,10,30,20);
fps.border = fps.background = true;
function viewFPS() {
(t == true) ? time=getTimer() : timer=int(1000/(getTimer()-time));
t = !t;
fps.text = " "+timer;
};
_root.onEnterFrame = function() {
viewFPS();
};
////Wolsh, тебе привет от тестера!


Добавлено через 4 минуты
Это было для galinja конечно))

Vortis
16.03.2009, 19:33
Если говорить про webiki, то там debug окно вызывается ctrl+left mouse. В нем есть показ FPS.

А насчет битмапов. О5 же в пингвинах все нормально масштабируется без потери качества.
То есть там либо очень большой битмап, либо таки вектор.
Но грузится всё это быстро, так что наводит на мысли что это всё-таки вектор...

Вобщем с оптимизацией надо очень серьезно думать.

Мы используем связку SmartFoxServerPro + OpenSpace. (http://www.smartfoxserver.com/ и http://www.openspace-engine.com/)
Пока, лично я немного грешу на OpenSpace, так как код там закрытый, и естественно, что-то
мы можем ему давать в неоптимальном виде.

rovaniemi
29.03.2009, 10:17
Здравствуйте. Про те же вебики. У фонтана убраны градиенты, прозрачность хотелось бы оставить. Цикл - 36. Вес файла 1,1мб. Оптимизация ничего не дает ( Что тут можно ещё сделать? Спасибо

Crash512
04.04.2009, 11:07
Пусть "программисты" используют параметр cacheAsBitmap, или программный перевод в растр... Если они действительно программисты, то это не вызовет у них проблем=) Кстати, галочку "use runtime bitmap caching" можно ставить прям во Flash IDE...