Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   Прозрачный растр грузит процессор на 100%, оптимизация (http://www.flasher.ru/forum/showthread.php?t=123940)

Acrossfy 16.04.2009 13:55

Прозрачный растр грузит процессор на 100%, оптимизация
 
Флешку можно глянуть по этой ссылке.
Как видно она вся до верху набита прозрачным растром. Это 10 png картинок(в том числе кнопки меню). Процессор грузится под 100%. Сначала грешил на эффект reeple, который на других флешках совсем не грузит систему, отключил - все осталось по прежнему.
После того, как убрал всю графику, загрузка спустилась до 30%, это тоже косяк, но уже в коде.
Куда больше вопрос теперь встал о том, что же делать с графикой, ибо прозрачность нужна, в вектор это перевести(кроме кнопочек) нереально.
Буду признателен за любой совет и помощь. Заранее спасибо.

ОльгаЮрьевна 16.04.2009 13:59

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

iNils 16.04.2009 14:07

Фпс больше 31 не нужен, а у вас там 60.

Acrossfy 16.04.2009 14:51

ОльгаЮрьевна, забив на качество, перевел все картинки в гиф, максимально пожал каждую. Во флеше, в свойствах каждой поставил компрессию jpeg. Ролик сохранил с 20% качеством, загрузка проца стала плавать от 80 до 100.
iNils, если ниже 60-ти, твинлайт начинает тормозить. На всякий, поменял. С гифом твинлайт уже немного быстрее работает. В целом загрузка проца стала начинаться уже от 50%, но при движении растра поднималась до 80%.

Волгоградец 16.04.2009 15:31

Круги на воде - это анимация или программный скрипт?
Похоже на convolution + displacement. Если так, то тормоза из-за этого спецэффекта.

Acrossfy 16.04.2009 19:19

Круги, это программный фильтр. При его отсутствии тормоза остаются, как и были.

Psycho Tiger 16.04.2009 22:43

Заставлять процессор делать 31 просчет в секунду вызывает тормоза, когда 60 точно таких же - не вызывает. Да, вполне логично и закономерно.

Acrossfy 16.04.2009 23:03

Без графики флешка способна пожрать от 30 до 40% производительности проца. Поскольку с графикой особо вариантов нет, я был бы признателен совету по оптимизации программной части.
Код AS1/AS2:

//кнопка Продукция
prod.onRollOver = function() {
        _root.prod.stop();
        p1.onEnterFrame = function() {
                clear();
                lineStyle(0.2, 0x869dbc);
                moveTo(((prod.pal._x)/2.4+prod._x)+32, ((prod.pal._y)/2.4+prod._y)+10);
                lineTo(((prod.pal._x)/2.4+prod._x)-32, ((prod.pal._y)/2.4+prod._y)+10);
                moveTo(((prod.pal._x)/2.4+prod._x)+32, ((prod.pal._y)/2.4+prod._y)+10);
                lineTo(p2._x, p2._y);
        };
        prod.onPress = function(){
        getURL("http://aquatics.su/products/");
        drag();
        };
        TweenLite.to(test.circle, 1, {_rotation:-20, ease:Back.easeOut});
        TweenLite.to(test.bub1, 1.75, {_rotation:-20, ease:Back.easeOut});
        TweenLite.to(test.bub2, 2.25, {_rotation:-20, ease:Back.easeOut});
        TweenLite.to(test.bub3, 2.50, {_rotation:-20, ease:Back.easeOut});
        TweenLite.to(test.bub4, 1.50, {_rotation:-20, ease:Back.easeOut});
        TweenLite.to(test.bub5, 1.85, {_rotation:-20, ease:Back.easeOut});
};
bg_pd.onEnterFrame = function(){
                if (_xmouse >this._x && _xmouse < this._x+this._width && _ymouse > this._y && _ymouse < this._y+this._height)  {
                _root.prod._x -= (_root.prod._x-_xmouse)/40;
                _root.prod._y -= (_root.prod._y-_ymouse)/40;
        };
};
prod.onRollOut = function() {
        _root.prod.play();
        delete p1.onEnterFrame;
        clear();
        TweenLite.to(test.circle, 1, {_rotation:0, ease:Back.easeOut});
        TweenLite.to(test.bub1, 1.80, {_rotation:0, ease:Back.easeOut});
        TweenLite.to(test.bub2, 2.15, {_rotation:0, ease:Back.easeOut});
        TweenLite.to(test.bub3, 2.00, {_rotation:0, ease:Back.easeOut});
        TweenLite.to(test.bub4, 1.90, {_rotation:0, ease:Back.easeOut});
        TweenLite.to(test.bub5, 1.85, {_rotation:0, ease:Back.easeOut});
        TweenLite.to(prod, 0.75, {_x:105, _y:62, ease:Back.easeIn});
};
//кнопка Продукция

Поскольку кнопок 4, код в в 4 раза больше, разница лишь в названиях муви клипов.

cleptoman 17.04.2009 01:52

онЭнетрФрэймов куча + на чем работет твин лайт?

undefined 17.04.2009 13:37

можно попробовать пихнуть весь растр в BitmapData и рисовать в мувик с помощью beginBitmapFill, параметр smooth выставить в false.


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

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