Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 07-01-2004, 08:18   #1 (permalink)
Banned
 
Benutzerbild von projecktx
 
Registriert seit: Sep 2003
Beiträge: 2.071
Wie Lange dauern unterschiedliche Befehle?

Hallo die frage stelle ich mir in letzter zeit öfters da ich im moment sehr script orientiert arbeite und auch bei meinem nächsten project kaum unter 1000 zeilen code bleiben werde....

in diversen Programmiersprachen gibt es ja tabellen wieviel schritte die cpu macht wen befehl oder funktion XYZ abgearbeitet wird...

gibt es dergleichen auch für AS oder zumindest eine tabelle die aussagt das zum beispiel eine IF abfrage 5 mal so lange dauert wie eine vergabe einer variable (var xyz="0"; ) oder ein create empty movieclip 2 mal so lange wie ein create textfield???????

sicher kann man sich erfahrungen beziehen aber eine solche tabelle wäre bei ziemlich scriptintensiven swf´s sehr hilfreich...


gruss Sascha

Geändert von projecktx (07-01-2004 um 08:51 Uhr)
projecktx ist offline   Mit Zitat antworten
Alt 07-01-2004, 08:36   #2 (permalink)
Neuer User
 
Registriert seit: Oct 2003
Beiträge: 124
Das würde mich auch mal interessieren.

Kann es denn sein, dass die Ausführung des Codes (150 Zeilen) längert dauert, als 1/25 Sekunde?
Denyo256 ist offline   Mit Zitat antworten
Alt 07-01-2004, 08:42   #3 (permalink)
=)
 
Benutzerbild von dante
 
Registriert seit: Jun 2003
Beiträge: 499
interessant wär so eine tabelle auf jeden!
__________________
x 600.6
y 123.3
dante ist offline   Mit Zitat antworten
Alt 07-01-2004, 08:57   #4 (permalink)
Level up
 
Benutzerbild von Alois
 
Registriert seit: Jun 2001
Ort: Bocholt
Beiträge: 4.155
nun es gibt schnellere und langsamere Befehle, meistens relativiert sich das aber gerade bei grossen Projekten, da der schnellere Befehl meist bei der Nutzung des Ergebnisses den Zeitgewinn wieder verliert (mir fällt da z.B. der Brotkasten ein)...es macht also maximal Sinn darüber nachzudenken, wenn wirklich viele Zwischenergebnisse für weitere Operationen gebraucht werden, wie z.B. bei 3D-Projekten....
Viel wichtiger ist es sauber zu scripten, die 1000 Zeilen script werden wohl in den seltensten Fällen wirklich alle auf einmal gebraucht, man muss auch überlegen welche Befehle ablaufen ohne wirklich was zu bewirken, ein gutes Beispiel:
ActionScript:
  1. MovieClip.prototype.fadeTo=function(zielX,zielY){
  2.     this.onEnterFrame=function(){
  3.         var deltaX=(zielX-this._x)/8;
  4.         var deltaY=(zielY-this._y)/8;
  5.         this._x+=deltaX;
  6.         this._y+=deltaY;
  7.     }
  8. }
  9. //Beispielaufruf:
  10. meinMC.fadeTo(200,200)
..funktioniert wunderbar, sieht gut aus, ist aber eine enorme performancebremse, weil die oEF's den ganzen Film über aktiv bleiben...besser:
ActionScript:
  1. MovieClip.prototype.fadeTo=function(zielX,zielY){
  2.     this.onEnterFrame=function(){
  3.         var deltaX=(zielX-this._x)/8;
  4.         var deltaY=(zielY-this._y)/8;
  5.         if(Math.abs(deltaX)<0.2&&Math.abs(deltaY)<0.2){
  6.         this._x=zielX;
  7.         this._y=zielY;
  8.         delete(this.onEnterFrame);
  9.         }else{
  10.         this._x+=deltaX;
  11.         this._y+=deltaY;
  12.         }
  13.     }
  14. }
...du siehst...mehr Zeilen Code aber bessere performance...

Gruß

Alois
__________________
-Spuckt mir auf den Stuhl, ich will im Grünen sitzen-
Alois ist offline   Mit Zitat antworten
Alt 07-01-2004, 09:19   #5 (permalink)
Banned
 
Benutzerbild von projecktx
 
Registriert seit: Sep 2003
Beiträge: 2.071
sicher gebe ich dir da recht Alois und die 1000 zeilen (1200 sind es insgesamt) sind bei meinem letzten projekt zustande gekommen weil ich nicht ständig die selben funktionen nutzen konnte sondern manche 3-4 mal wiederholen musste weil wenn auch nur 3-4 zeilen anders waren aber diese machten es eben aus...

was das ganze nachher so problematich machte war ein setInterval den ich nachher von 100 auf 500 setzen musste da er wegen ca 80 zeilen (viele berechnungen viele if abfragen) fast den film zum anhalten und den projektor zum internenen fehler gebracht hat.. deswegen wäre ich schonmal sehr hilfreich gewesen zu wissen wie ich evtl hätte anders an dieses setInterval das nur knapp 80 zeilen belief rangehen hätte können und mir auch evtl ausrechnen hätte können wann nun die grenze des machbaren erreicht ist.

und auch bei meinem nächsten projekt (ein chat über socket) werde ich ebenfalls viele zeilen brauchen die ständig wiederholt werden ...besonders gefragt sind dann create empty movieclip und load movie (es sollen auch animierte smilys angezeigt werden) sowie kommt dazu einiges an array rujmrechnerrei(da ich die zeilenumbrüche bei unterschiedlichen fonts berechnen muss links filtern und nit <a href=... versehen muss) daher wäre es echt schonmal schon zu sehen wie ich vielleicht das problem umgehe das sich der chat nachher in zeitlupen tempo abspielt obwohl er über ne socket also echtzeit läuft

Gruss Sascha

Geändert von projecktx (07-01-2004 um 09:21 Uhr)
projecktx ist offline   Mit Zitat antworten
Alt 07-01-2004, 10:35   #6 (permalink)
Level up
 
Benutzerbild von Alois
 
Registriert seit: Jun 2001
Ort: Bocholt
Beiträge: 4.155
Also erstmal erst nochmal ein paar Infos zur performance:
OOP sucks!

und dann, die Intension zum posten meines vorherigen Beitrages war tatsächlich die Annahme, daß es Dir um den in mehereren postings bereits erwähnten chat geht, um es einfach mal auf den punkt zu bringen, wenn Du sauber scriptest werden performanceprobleme in einem chat kein Thema sein.

Gruß

Alois
__________________
-Spuckt mir auf den Stuhl, ich will im Grünen sitzen-
Alois ist offline   Mit Zitat antworten
Alt 07-01-2004, 10:52   #7 (permalink)
Banned
 
Benutzerbild von projecktx
 
Registriert seit: Sep 2003
Beiträge: 2.071
danke für den link zum thread...

ging mir aber nicht nur um den chat sondern hat mich auch allegmein interessiert besonders nach der geschichte mit dem setinterval in dem mp3/streamplayer die mich fast richtig sauer gemacht hat...sorry wenn ich das forum inzwischen schon oft damit genervt aber ich hab eben was das betrifft bestimmte vorstellungen die es in der form wie ich es haben will so leider noch nicht gibt was bedeuted das einiges neuland ist und wo neuland ist werfen sich viele fragen auf..z.b. loadvars zu verwenden war noch nie meine intension.. da ich nun inzwischen einen (minmalistischen)socketserver gefunden habe der stabil läuft kann ich mich um die erweiterung der klassen(php) sowie ums flash(as) gleichzeitig kümmern was mich selber oft verwirrt da ich php nicht kann(was mich aber nicht davon abhält es trotzdem zu programmieren :P )!

sorry nochmal wenn ich damit schon oft genervt habe


und nochmal danke Alois


gruss sascha
projecktx 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 15:13 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele