• beyond tellerrand – play. Register Now!
Zurück   Flashforum > Flash > ActionScript > ActionScript 3

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 02-09-2010, 13:28   #1 (permalink)
liebt Skorpionin
 
Benutzerbild von Skorpion
 
Registriert seit: Apr 2003
Beiträge: 1.258
Verständnisfrage AS3

Hallo

Ein .swf-File, welches lediglich folgenden Code enthält:

PHP-Code:
for (var i=0i<20i++)
    
trace ("Kleiner Test"); 
wird 410 Bytes lang.

Wenn der Code hingegen lautet:

PHP-Code:
for (var meinevariable=0meinevariable<20meinevariable++)
    
trace ("Kleiner Test"); 
dann wird das File 419 Bytes lang.

Wie kommt es zu diesem Unterschied? Ich ging davon aus, dass der Code in as3 kompiliert wird, die Länge der Variablennamen sollte dann aber keine Rolle mehr spielen - so jedenfalls kenne ich es aus C++.

Kann mich jemand schlau machen?
Skorpion ist offline   Mit Zitat antworten
Alt 02-09-2010, 13:59   #2 (permalink)
Neuer User
 
Registriert seit: Apr 2010
Ort: Düsseldorf (im ernst)
Beiträge: 1.682
der Code wird auch kompiliert.

lokale Variablen werden dabei auch gegen "Referenzen" ausgetauscht, bei Klasseneigenschaften hingegen scheint ein Index bestehen zu bleiben, mit deren Bezeichnung.

für MovieClips mit (und ohne) Zeitleistenscript wird eine Klasse erstellt, sofern nicht vorhanden. "globale" variablen, also solche die ausserhalb einer Funktion stehen vermute ich, werden hierbei als Eigenschaften dieses MovieClips angelegt.

Variablennamen innerhalb einer Funktion gehen auf jedenfall verloren!

nun bin ich kein Experte auf dem Gebiet, doch sind das meine Erfahrungen mit AS3 Bytecode.
__________________
greetz Thomas
in letzter Zeit frag ich mich immer ofter, soll ich den Leuten bei ihren Problemen helfen, oder einfach nur die gestellten Fragen beantworten?
Ich kann die FLA-Datei nicht öffnen, ich habe noch kein CS5 !!!
thomas_E ist offline   Mit Zitat antworten
Alt 02-09-2010, 14:15   #3 (permalink)
Perverted Hermit
 
Benutzerbild von Omega Psi
 
Registriert seit: Mar 2004
Ort: Delmenhorst
Beiträge: 11.856
Decompile das Ding doch mal, dann siehst du, was erhalten bleibt und was nicht.
Omega Psi ist offline   Mit Zitat antworten
Alt 02-09-2010, 14:37   #4 (permalink)
Flasher
 
Benutzerbild von Scanis
 
Registriert seit: Oct 2002
Ort: Berlin
Beiträge: 601
Ich hab da jetzt mal herumexperimentiert und es ist wirklich recht interessant.

Ich hatte zuerst das gleiche ergbnis wie Skorpion. Dann tat ich allerdings etwas ganz merkwürdiges. Ich änderte "i" zu "id" und dann wars plötzlich größer, als das mit dem extrem langen variablennamen.
Dann hab ich das gespeichert.
Dann flash geschlossen!
Und beim nächsten Öffnen der fla den code wieder auf plain "i" geändert. Das resultat war das die .swf dann NOCH GRÖßER wurde, als vorher mit dem "id"

Generell denke ich, dass flash alle langen variablen auf zwei bis drei zeichen reduziert.
Alle einstelligen Variablen aber so lässt > Einstellig halt.

Das könnte die paar Bytes unterschied erklären, aber das ist alles nichts weiter als Spekulation meinerseits.

Greets,
Scanis
Scanis ist offline   Mit Zitat antworten
Alt 06-09-2010, 10:37   #5 (permalink)
liebt Skorpionin
 
Benutzerbild von Skorpion
 
Registriert seit: Apr 2003
Beiträge: 1.258
hallo
danke für eure Antworten.
Habe auch nochmal etwas geforscht. Wie thomas_E schon sagte wird der Code compiliert, die Variablen-Namen werden genau 1x gespeichert (hallo braucht also 2 Bytes mehr als wow, unabhängig davon wie oft die Variable dann im Code verwendet wird).

Generell darf man somit wohl festhalten: man kann getrost lange aussagekräftige Namen wählen, der Speicherzuwachs hält sich in Grenzen. Diese Frage war für mich zentral bei diesem Thema.

Gruss - Skorpion
Skorpion 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


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Verständnisfrage zu H.264 gaspode Video 2 08-04-2010 18:16
Verständnisfrage ... hmp ActionScript 2 6 28-02-2008 10:12
Verständnisfrage Mischap Flash MX 2004 2 08-11-2005 19:40
Verständnisfrage Der Frager Flash MX 2004 3 15-07-2004 16:08
verständnisfrage nicksen ActionScript 1 3 30-10-2003 18:06


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:14 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele