Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 29-07-2004, 14:17   #1 (permalink)
Self-proclaimed Genius
 
Benutzerbild von genesys
 
Registriert seit: Jul 2002
Ort: schweiz
Beiträge: 282
Question exakte Performance überwachung??

Hallo . . . Ich bastel an einem Spiel, welches relativ CPU aufwändig ist . . .
Nun möchte ich es mal anfangen ein wenig zu optimieren - doch kann ich nicht erkennen, welche effekte oder welche überprüfungen wieviel cpu auslastung zur folge haben (ich kanns nur in etwa einschätzen indem ich z.b. Partikeleffekte aus und anschalte oder andere grafiken verwende)

Ich möchte den Film in etwa so analysiert haben, dass ich sehen kann, wieviel der systemleistung z.b. rein für das ActionScript draufgeht - oder noch besser, welcher Movieclip wieviel CPU leistung braucht . . .
und Dann z.b. bei der Grafik, welche Movieclips von der Darstellung am Aufwändigsten sind etc . . .

Kann man das irgendwie in Flash machen? oder gibt es vielleicht sogar ein Zusatzprogramm dafür??
__________________
Phantasie ist wichtiger als Wissen, denn Wissen ist begrenzt - Albert Einstein
genesys ist offline   Mit Zitat antworten
Alt 29-07-2004, 17:13   #2 (permalink)
muh
 
Benutzerbild von Janoscharlipp
 
Registriert seit: Apr 2002
Ort: Freiburg / Stuttgart
Beiträge: 4.338
Das interessierte mich auch, aber ich glaube nicht, dass es sowas gibt.

Hier ein paar algemeine Hinweise:

* alles was in ner Schleife steht, also oft ausgeführt werden muss ist wichtig zu optimieren

* Transparenz ist ein Performance-Killer, irgendwie versuchen drauf zu verzichten.

* Besser gifs statt Vektorgrafiken nehmen

* so oft wie möglich mit var arbeiten, und nicht mit globalen oder sonstwie zentralen Variablen arbeiten.
Janoscharlipp ist offline   Mit Zitat antworten
Alt 29-07-2004, 17:33   #3 (permalink)
Self-proclaimed Genius
 
Benutzerbild von genesys
 
Registriert seit: Jul 2002
Ort: schweiz
Beiträge: 282
super danke!
das mit dem var wusste ich nicht . . . wieso ist das denn so?

was die Transparenz angeht - gilt das nur für das _alpha oder git das gleiche auch für PNG's mit maske??

wieso genau gifs? kommt doch nicht draufan, ob nun bmp, png oder was auch immer - wird schlussendlich doch eh als jpg gespeichert (ausser man gibt was anderes an in den eigenschaften...)
__________________
Phantasie ist wichtiger als Wissen, denn Wissen ist begrenzt - Albert Einstein
genesys ist offline   Mit Zitat antworten
Alt 29-07-2004, 17:40   #4 (permalink)
muh
 
Benutzerbild von Janoscharlipp
 
Registriert seit: Apr 2002
Ort: Freiburg / Stuttgart
Beiträge: 4.338
weil ich immer gifs nehm, hab ganz vergessen, dass es ncoh andere Formate gibt .png ist noch besser ...
Hauptsache pixel, und keine Vektoren.
Janoscharlipp ist offline   Mit Zitat antworten
Alt 29-07-2004, 18:03   #5 (permalink)
Wetmaster
 
Benutzerbild von Nicmare
 
Registriert seit: Aug 2001
Ort: BERLIN
Beiträge: 3.075
und was ist mit bmp? muss man zwar auf transparenz verzichten aber soll von flash wohl ganz gut komprimiert werden. da frage ich mich was für ne gute performance besser ist. gif/png oder bmp? merkt man da überhaupt nen unterschied?
__________________
Dropbox 250MB mehr für dich/mich
Nicmare ist offline   Mit Zitat antworten
Alt 29-07-2004, 18:11   #6 (permalink)
hmmmmm...
 
Benutzerbild von kenichi
 
Registriert seit: Feb 2004
Ort: deutschland
Beiträge: 112
hi,

was performance angeht, kann ich aus eigener erfahrung sagen, dass "setInterval()" ein killer ist, wenn er mehrmals zeitgleich angewendet wird...
oder wenn man ihn fuer tweens und das mehrmals benutzt...

zu bildern wuerde ich immer sagen, .png ist die beste wahl.
verlustfrei, klein und hat nen alpha-kanal. die kompression kann man eh noch in flash drueber kloppen.
.bmp ist natuerlich auch ok, wenn man keine tranzparenz braucht.
ansonsten alle verlustfreien formate wie zum beispiel .tif oder so.

was dabei auch noch zu empfehlen ist, immer abspeichern und dann importieren, so kann man das bild ggf. nachtraeglich noch aendern und muss dann nur auf aktualisieren klicken...

gruss,
kenichi
__________________
Visit Amakiir.net - WoW Community and more!
kenichi ist offline   Mit Zitat antworten
Alt 29-07-2004, 18:33   #7 (permalink)
Wetmaster
 
Benutzerbild von Nicmare
 
Registriert seit: Aug 2001
Ort: BERLIN
Beiträge: 3.075
schade dass setintervall nen killer ist. dabei isses so komfortabel

edit:
gibs noch ne sinnvolle alternative zu setintervall? eine die nich so performancelastig ist?
__________________
Dropbox 250MB mehr für dich/mich

Geändert von Nicmare (29-07-2004 um 18:45 Uhr)
Nicmare ist offline   Mit Zitat antworten
Alt 29-07-2004, 18:52   #8 (permalink)
-
 
Benutzerbild von pape
 
Registriert seit: Jan 2004
Beiträge: 3.002
alternative zu setInterval ist onEnterFrame.. aber ich bin mir da nicht so sicher ob das dann auch Perfomance entlastend ist, wenn du das statt setInterval benutzt....
pape ist offline   Mit Zitat antworten
Alt 29-07-2004, 19:33   #9 (permalink)
Neuer User
 
Registriert seit: Jul 2004
Beiträge: 6
Question setInterval ein Killer?

Hallo

Zitat:
was performance angeht, kann ich aus eigener erfahrung sagen, dass "setInterval()" ein killer ist, wenn er mehrmals zeitgleich angewendet wird...
also ich benutze eigentlich immer setInterval und nie onEnterframe und habe bisher eigentlich keine schlechten erfahrungen gemacht. Ganz im Gegenteil! setInterval hat den großen Vorteil, dass man die Framerate auf 12(oder so) Frames lassen /setzen kann und nur die flüssigen Animationen mit setinterval schneller abspielen lässt. Denn je höher die Framerate, desto höher die cpu-last!

ganz wichtig ist dabei allerdings, dass man bei setInterval das interval nicht zu klein setzt. Auch wenn man eine "besonders flüssige" animation macht es keinen sinn, das interval auf 3 ms zu setzen. nach meiner Erfahrung würde ich sagen, dass ein kleineres interval als 30 ms (das sind etwas über 30 Frames pro sekunde) nicht notwendig ist.

was meint ihr dazu?

grüße

Mickey
Mickey0815 ist offline   Mit Zitat antworten
Alt 29-07-2004, 19:47   #10 (permalink)
Neuer User
 
Registriert seit: Jul 2004
Beiträge: 6
Smile zum Thema....

hier gibts eine seite auf der verschiedene Performancetests durchgeführt wurden und viele dinge erklärt werden:

http://www.oddhammer.com/actionscrip...et2/index.html



ausserdem hab ich vor 1-2 tagen eine klasse gesehen, die genau das macht, was du suchst. wenn ich mich recht erinnere, gibt sie für jede funktion etc. aus, wie lange sie gedauert hat... leider weiss ich nicht mehr, wo ich es gesehen habe.. aber ich werde mal suchen....


Mickey
Mickey0815 ist offline   Mit Zitat antworten
Alt 29-07-2004, 20:14   #11 (permalink)
funkdisziplin
 
Registriert seit: Jul 2003
Beiträge: 2.790
hey, vielen dank für den link


aber das, jetzt wirds spooky:

Zitat:
theClip._visible = false;
theClip.gotoAndStop("park");
lest euch mal den text durch. meinen die das ernst

Zitat:
This is a fairly straightforward optimization method. Basically movieclips that are "running" will consume resources and slow the performance of your ActionScript even if they are off the stage or hidden (by setting theClip._visible=false).

The best way to deal with this is to have a frame within each of the clips where you can "park" them.. label the frame "park" and then you can stop it by using:

theClip._visible = false;
theClip.gotoAndStop("park");

then when you need to show the clip again use:

theClip._visible = true;
theClip.gotoAndPlay(1);


You could reference the frame by number.. like theClip.gotoAndStop(45); but then you would need to keep track of which frame you need to go to in each clip in order to stop it. By using a frame label you can always use the same identifier in all movieclips.
derdiedas ist offline   Mit Zitat antworten
Alt 29-07-2004, 20:28   #12 (permalink)
Neuer User
 
Registriert seit: Jul 2004
Beiträge: 6
Exclamation jupp

Hallo!

ich denke schon, dass sie es ernst meinen!

folgendes: solange ein Movieclip nicht mit stop(); angehalten wurde, läuft er weiter. egal, ob er ausserhalb der stage ist, oder unsichtbar oder was auch immer. Und solange er läuft, verbraucht er (abhängig davon was in den Frames passiert und wie hoch die framerate ist) cpu-zeit. ich gehe schwer davon aus, dass flash die tweens etc in einem movieclip nicht rendert, wenn _visible == false ist. aber alles andere (insbesondere Actionscript) muss weiterlaufen, damit der MC an der "richtigen " stelle ist, wenn _visible wieder auf true gesetzt wird.

Mickey
Mickey0815 ist offline   Mit Zitat antworten
Alt 29-07-2004, 20:41   #13 (permalink)
funkdisziplin
 
Registriert seit: Jul 2003
Beiträge: 2.790
mc that are "running".

muss ich wohl überlesen haben , dann ist das schon klar.
derdiedas ist offline   Mit Zitat antworten
Alt 29-07-2004, 22:42   #14 (permalink)
hmmmmm...
 
Benutzerbild von kenichi
 
Registriert seit: Feb 2004
Ort: deutschland
Beiträge: 112
@Mickey0815

ich meine ja nicht generell, dass setInterval() ein killer ist. ich finde die funktion auch ne super sache, vor allem da ich ein fan von one-frame-swfs bin...
es ist nur so, dass unter extremeren bedingungen, sprich setInterval() haeufungen es zu performance einbussen kommen kann.

ein beispiel dafuer ist eine spielerei, die mit meiner 3d-engine entstanden ist.
dieser zoom-tween ist mit setInterval() gemacht. einzeln klappt das ding ganz gut und sauber, aber wenn dann 3 oder 4 cubes auf einmal "zoomen", dann lastet das schon den rechner aus. und das liegt nicht ausschliesslich daran, dass die cubes gerendert werden muessen...
die werden auch gerrendert, ohne dass man sie bewegt. und das ist die prozessor auslastung nicht so hoch.

"setInterval() in action"

gruss,
kenichi
__________________
Visit Amakiir.net - WoW Community and more!
kenichi ist offline   Mit Zitat antworten
Alt 29-07-2004, 22:52   #15 (permalink)
Wetmaster
 
Benutzerbild von Nicmare
 
Registriert seit: Aug 2001
Ort: BERLIN
Beiträge: 3.075
hübsch - sehr
__________________
Dropbox 250MB mehr für dich/mich
Nicmare 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 08:36 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele