Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 23-01-2007, 19:25   #1 (permalink)
Betaflasher
 
Registriert seit: Aug 2004
Beiträge: 141
onEnterFrame und Tween Class Performance???

Moinsen!

ich habe gerade folgendes Problem.
Ich hab mir 'n kleines Filmchen gebastelt, in dem eine unbestimmte Anzahl von Instanzen eines MC's erzeugt werden. Diese werden beim erscheinen mit hilfe der der Tween Klasse von Flash 8 auf der _y Achse bewegt. In jedem einzelnen dieser MC's befinden sich dann wiederum eine unbestimmt Anzahl von Dynamischen Textfeldern und eine Scrollbar, welche ein onEnterFrame enthält.

Hoffe, man kann soweit folgen.

Mein Problem ist jetzt, dass um so mehr instanzen erzeugt werden, desto langsamer wird der ganze Film. Und das wird schon bei ca 3 Instanzen sichtbar. Das kann man wunderbar an den Bewegungen der Tween Klasse sehen.

Die onEnterFrames beinhalten schon eine Abfrage, so dass eigentlich immer nur ein MC onEnterFrame wirklich etwas berechnet, die anderen laufen sozusagen halt leer.

Hat einer von Euch eine Idee, wie ich das ganze performanter gestalten könnte, bzw. oder eine Idee, wo genau die Ursache liegt?

Liegt es an den Dynamischen Textfeldern mit Anti-Alialsing für Lesbarkeit?
Ist die Flash-Tweenklasse nicht so dolle?
Zieht onEnterFrame auch Performance, wenn er garnix tut?
oder ist es einfach die Mischung???

Fragen über Fragen!

Ich hoffe, Ihr könnt mir ein wenig helfen.


Greets!

page6
__________________
Web, Apps, Air & more
page6 ist offline   Mit Zitat antworten
Alt 23-01-2007, 19:48   #2 (permalink)
Der Wunderhund
 
Benutzerbild von gaspode
 
Registriert seit: Jun 2002
Ort: Hattingen
Beiträge: 10.515
>Liegt es an den Dynamischen Textfeldern mit Anti-Alialsing für Lesbarkeit?

Ja! Vor der Animation auf »Anti-Aliasing für Animation« umstellen.

>Zieht onEnterFrame auch Performance, wenn er garnix tut?

Ja. Mach doch nur einen onEnterFrame in dem alle Tweens gesteuert werden.

gruß, gaspode
gaspode ist offline   Mit Zitat antworten
Alt 23-01-2007, 20:57   #3 (permalink)
nerdig working
 
Benutzerbild von michael
 
Registriert seit: Jul 2001
Ort: Hamburg
Beiträge: 5.832
Zitat:
Zitat von page6 Beitrag anzeigen
Ist die Flash-Tweenklasse nicht so dolle?
welche meinst du? es gibt zwei.
die mx.transitions.Tween ist in der tat nicht sehr performant.
die mx.effects.Tween ist _wesentlich_ performanter,
aber etwas komplizierter im handling.
michael ist offline   Mit Zitat antworten
Alt 23-01-2007, 21:32   #4 (permalink)
Betaflasher
 
Registriert seit: Aug 2004
Beiträge: 141
Also das Anti-Aliasing hab ich jetzt schonmal umgestellt, aber wirklich etwas gebracht hat es scheinbar nicht.

Ich hatte die mx.transitions benutzt.
Von der anderen habe ich noch nie was gehört. In der Flash Hilfe habe ich dazu auch nix gefunden.

Kannst Du mir vielleicht 'n Tip geben, wo man Infos darüber findet??? Hab bis jetzt nix verwertbares gefunden.

Gibt es da auch die eventhandler wie onMotionFinished???
gerade der ist mir z.B. ziemlich wichtig, und gehört zu den Gründen, warum ich das überhaupt mit der klasse mache.
__________________
Web, Apps, Air & more
page6 ist offline   Mit Zitat antworten
Alt 23-01-2007, 22:05   #5 (permalink)
nerdig working
 
Benutzerbild von michael
 
Registriert seit: Jul 2001
Ort: Hamburg
Beiträge: 5.832
ja gibt es, man muss nur auf ein paar dinge achten.
  • der wert des tweenings wird erst in einer selbst definierten
    updatefunktion der eigentlichen eigenschaft zugewiesen
  • die endposition ist ungenau, was grade bei pixelfonts zu problemen führen kann,
    deshalb in der endfunktion am beste nochmal den gewünschen endwert händisch setzen.
  • wenn man einen array übergibt, kann man auch mehrer werte auf einmal tweenen

hier mal ein code-beispiel
PHP-Code:
import mx.effects.Tween;
import mx.transitions.easing.*;

mc.updateHandler = function(value) {
    
this._x value;
};
mc.endHandler = function() {
    
trace("fertig, achtung, endpositionen ungenau");
    
trace(this._x);
};
                        
//(listener, anfang, ende, millisekunden)                    
var t:Tween = new Tween(mc1005002000);
t.setTweenHandlers("updateHandler""endHandler");
t.easingEquation Bounce.easeOut
und mehrere eigenschaften als array:
PHP-Code:
import mx.effects.Tween;
import mx.transitions.easing.*;

mc.updateHandler = function(value) {
    
this._x value[0];
    
this._y value[1];

};
mc.endHandler = function() {
    
trace("fertig, achtung, endpositionen ungenau");
    
trace(this._x+" / "+this._y);
};
                        
//(listener, anfangsarray, endarray, millisekunden)        
var t:Tween = new Tween(mc, [100100], [500200], 2000);
t.setTweenHandlers("updateHandler""endHandler");
t.easingEquation Elastic.easeOut
michael ist offline   Mit Zitat antworten
Alt 23-01-2007, 22:40   #6 (permalink)
Betaflasher
 
Registriert seit: Aug 2004
Beiträge: 141
Hm, ist auf jeden Fall mal eine interessante Alternative.
Dank Dir erstmal dafür!

Aber wirklich was gebracht hat das leider auch nicht.
Denke ich werde jetzt mal versuchen, die onEnterFrames zu partiell zu löschen.

So'n schei....! Hatte gehofft, ich finde 'ne faulere Lösung.
__________________
Web, Apps, Air & more
page6 ist offline   Mit Zitat antworten
Alt 23-01-2007, 22:45   #7 (permalink)
Der Wunderhund
 
Benutzerbild von gaspode
 
Registriert seit: Jun 2002
Ort: Hattingen
Beiträge: 10.515
Alternativ kannst Du Dir ja auch noch »MC Tween« angucken:

http://hosted.zeh.com.br/mctween/

gruß, gaspode
gaspode ist offline   Mit Zitat antworten
Alt 24-01-2007, 00:02   #8 (permalink)
Betaflasher
 
Registriert seit: Aug 2004
Beiträge: 141
Hm, das ist ja auch mal 'ne feine Sache!
Das scheint mir momentan sogar noch am besten zu laufen!
Ich hasse es zwar, mich an irgendwelche Extensions zu gewöhnen , weil sie meist nicht überall installiert sind, und ab und zu mal verloren gehen, aber das Ding funzt echt gut, und ist schnell und einfach zu benutzen!

Danke auch für dafür!
__________________
Web, Apps, Air & more
page6 ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an



Alle Zeitangaben in WEZ +1. Es ist jetzt 23:21 Uhr.

Domains, Webhosting & Vserver von Host Europe
Unterstützt das Flashforum!
Adobe User Group


Copyright ©1999 – 2012 Marc Thiele