Форум 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)
-   -   можно ли как то побороть расточение ресурсов при использовании glowfilters? (http://www.flasher.ru/forum/showthread.php?t=114471)

darksranger 30.07.2008 10:02

можно ли как то побороть расточение ресурсов при использовании glowfilters?
 
план действий:
рисуем квадрат
накладываем на него glow ( получается светящийся квадрат )
далее tween классом делаем анимацию ( elastic.easeOut )
и вот тут чудеса, без glow все отлично, с glow тормозит анимация!

Пока вышел из положение, благодаря photoshop's ( нарисовал там квадрат, наложил glow и експортировал в flash )
анимация не тормозит

Как сделать чтобы glow не тормозил ?
Анимация была полностью программная ( аналог фрэймовый тормозит так же )


Код, мало ли я где то, что то не удаляю
Код:

import flash.filters.GlowFilter;
import mx.transitions.Tween;
import mx.transitions.easing.*;
_global.createRectGlow = function(nameMc, filter, w, h, x_, y_, bgc, color, b, s, q, iner, visibl) {
        var w:Number = w;
        var h:Number = h;
        var bgColor:Number = bgc;
        var rect:MovieClip = _root.createEmptyMovieClip(nameMc, _root.getNextHighestDepth());
        rect.beginFill(bgColor);
        rect.lineTo(w, 0);
        rect.lineTo(w, h);
        rect.lineTo(0, h);
        rect.lineTo(0, 0);
        rect._x = x_;
        rect._y = y_;
        rect._visible = visibl;
        if (filter == "yes") {
                var filter:GlowFilter = new GlowFilter(color, .8, b, b, s, q, iner, iner);
                var filterArray:Array = new Array();
                filterArray.push(filter);
                rect.filters = filterArray;
        }
};
nameMc = "_mc";
filter = "yes";
w = 492.5;
h = 374.1;
x_ = 155.4;
y_ = 161.2;
bgc = 0xFFFFFF;
color = 0xFFFFFF;
b = 11;
s = 2;
q = 3;
iner = false;
visibl = false;
_global.createRectGlow(nameMc, filter, w, h, x_, y_, bgc, color, b, s, q, iner, visibl);
nameMc = "_mc2"
filter = "yes"
w = 531.1
h = 428.5
x_ = 131.7
y_ = 140.2
bgc = 0xFFFFFF
color = 0xFFFFFF
b = 5
s = 2
q = 3
iner = true
_global.createRectGlow (nameMc,filter,w,h,x_,y_,bgc,color,b,s,q,iner,false)

_mc._visible = false



function tweening() {
        clearInterval(videoInterval);
        _mc._visible = true;
        time = 0.8;
        var pageTween1:Tween = new Tween(_mc, "_height", Elastic.easeOut, _mc._height, 430, time, true);
        var pageTween2:Tween = new Tween(_mc, "_width", Elastic.easeOut, _mc._width, 530, time, true);
        var pageTween3:Tween = new Tween(_mc, "_x", Elastic.easeOut, _mc._x, 131, time, true);
        var pageTween4:Tween = new Tween(_mc, "_y", Elastic.easeOut, _mc._y, 141.0, time, true);
}
var videoInterval:Number = setInterval(tweening, 730);


function tweening_echo () {
        clearInterval (echoInterval)
        trace("4e")
        _mc2._visible = true
        time = 1.4
        var echoTween1:Tween = new Tween(_mc2, "_height", Strong.easeOut, _mc2._height, 465.1, time, true);
        var echoTween2:Tween = new Tween(_mc2, "_width", Strong.easeOut, _mc2._width, 573.8, time, true);
        var echoTween3:Tween = new Tween(_mc2, "_x", Strong.easeOut, _mc2._x, 110.5, time, true);
        var echoTween4:Tween = new Tween(_mc2, "_y", Strong.easeOut, _mc2._y, 121.9, time, true);
        var echoTween5:Tween = new Tween(_mc2, "_alpha", Strong.easeOut, _mc2._alpha, 50, time, true);
        var echoTween5:Tween = new Tween(_mc2, "_alpha", Strong.easeOut, _mc2._alpha, 0, time, true);
       
}


var echoInterval:Number = setInterval(tweening_echo,800)


Xотелось бы, сделать все програмно...

iNils 30.07.2008 10:30

Ни каких тормозов не вижу. У вас какой процессор?

darksranger 30.07.2008 10:58

атлон 2100 mg
И реально притармаживает, та же анимация, сделанная по принципу photoshopa ( импорт квадрата с glow ) не тормозит.

Сравнил сейчас две анимации ( одна программно созданный glow, тот что выше ) и второй, тот что с импортом, разница колосальная.
Видимо у меня процессор слабенький :( вобщем придется остатся с импортом, так как, если накинуть еще браузерную тормознутость, ( у меня например ролики проигрываются не много медленнее в браузере, чем просто в плеере ) то вобще будет, полный тормоз (((

PS. я просто спрашивал к тому, может я чтото не удаляю или не выгружаю и поэтому идет торможение.

Crash512 30.07.2008 17:29

А какая видюха?.. Старые видюхи, плохо себя ведут с этими эффектами. Но я рекомендую на объект наложить функцию "cacheAsBitmap()". Тогда получится то же самое, что у тебя с фотошопом... Квадрат с фильтром должен преобразоваться в битмап.

darksranger 30.07.2008 20:45

да видео старое !!!
хм нада попробовать, я принцепи уже начал не много другим заниматся :) но всегда найдется время, чтобы переписать, на программную анимацию кусочек проэкта ;)
вечерком попробую ! спасиб:)

UPD
Попробовал, в коде сразу после фильтра
Код:

rect.filters = filterArray;
                                                              rect.cacheAsBitmap = true

так же притормаживает, аналог более динамично выглядит, наверно все таки видяха моя ведро .... вобщем ладно :) будем ити путем photoshopa (((((

Crash512 31.07.2008 04:15

ноу-ноу-ноу... .cacheAsBitmap(); и всё... помоему так..

darksranger 31.07.2008 08:19

хм, я просто в яндексе вбил там примеры были именно с true оО

etc 31.07.2008 13:36

Цитата:

Сообщение от Crash512 (Сообщение 755365)
А какая видюха?.. Старые видюхи, плохо себя ведут с этими эффектами. Но я рекомендую на объект наложить функцию "cacheAsBitmap()". Тогда получится то же самое, что у тебя с фотошопом... Квадрат с фильтром должен преобразоваться в битмап.

Flash Player не работает с видеокартой.

darksranger 31.07.2008 14:18

__etc ты тоже считаешь, что у меня процессор тормоз ?

PS впринцепи, я думаю сеня проверю, вроде как мама собралась новый ноут брать, токо жаль что не мак ((((((((

С другой стороны то что ты видеш на экране отображает видео карта. Хотя и прощеты были проведены на ЦП >_<

Crash512 31.07.2008 18:20

__etc... Очень странно...=)


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

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