Flashhilfe.de - Flash Community

Bug in getBytesTotal() und getBytesLoaded() [Flash 6]

 


AntwortenRegistrieren Seite1  

dietrich#1
Benutzerbild von dietrich
Beiträge: 1372
Wohnort: dortmund
Registriert: Jan 2003

31.10.2003, 16:03

Hi,

in den bei Preloadern benutzten Funktionen getBytesTotal() und getBytesLoaded() steckt ein kleiner Fehler.

Diese liefern nicht die Werte der existierenden swf-Datei, sondern die Werte der unkomprimierten swf-Datei die
je nach Inhalt um mehr als das Doppelte größer sein kann.

Dies kann zu erheblichen Abweichungen führen, wenn man im Preloader die Anzahl der zu ladenden Bytes und die
Anzahl der geladenen Bytes anzeigt. (In meinem Fall wurde mehr als das Doppelte der tatsächlich zu ladenden
Bytes angezeigt.)

Eine Auswirkung auf die Prozentwerte hat dieser Fehler jedoch nicht, da er sich bei der Berechnung des
Prozentwertes aus getBytesTotal() und getBytesLoaded() wieder aufhebt.

Das bedeutet, dass sowohl die zahlenmäßige Prozentangabe als auch ein daraus resultierender Ladebalken richtig
angezeigt werden.

Lediglich sollte eine Angabe der zu ladenden Bytes überprüft werden in wie weit Abweichungen gegenüber der tatsächlich zu ladenden Byte-Anzahl auftreten; wenn man nicht ganz auf diese Angabe verzichten will.
(In meinem Fall wurden fast 400kB anstelle von 180kB angezeigt, was einen Modembenutzer schon mal abschrecken
könnte die Datei überhaupt zu laden)

Eine weitere Konsequenz aus diesem Fehler ist, dass sich stark komprimierte swf-Dateien nicht zur
Bandbreitenbestimmung benutzen lassen, da eine erheblich höhere Übertragungsrate vorgetäuscht werden kann.

Ein Workaround zu diesem Fehler ist mir nicht bekannt. Eine Lösung könnte jedoch sein, dass man bei bekannter
realer Dateigröße diese als zu ladende Bytes einsetzt und mit der richtig berechneten Prozentangabe die
aktuell geladenen Bytes berechnet.




;-) 
-----------------------------
http://www.jdsolutions.de
dietrich#2
Benutzerbild von dietrich
Beiträge: 1372
Wohnort: dortmund
Registriert: Jan 2003

Themenautor/in

02.11.2003, 09:48



Hi,

hab mal ein paar Links zusammengestellt, die sich ebenfalls mit dem Problem beschäftigen:

http://www.flashforum.de/archiv/topic/75435-1.html
http://www.flashforum.de/archiv/topic/82626-1.html
http://www.flashguru.co.uk/000079.php
http://www.moock.org/pipermail/moock-updates/2003-April/000024.html
http://www.chinesefightingmuffin.net/guides/cfm-guides-intros-streaming.html



;-) 
-----------------------------
http://www.jdsolutions.de
hockeystardg#88#3
Benutzerbild von hockeystardg#88
Beiträge: 284
Wohnort: Hanau
Registriert: Feb 2003

03.11.2003, 16:02

Gut das du darauf hingewiesen hast! Ist mir auch schonmal aufgefallen, hab mir aber nix dabei gedacht! Als du das hier geschrieben hast habe ich mal ein bischen darüber nachgedacht und dann was ausprobiert! Und mein verdacht hat sich bestätigt! Die Zahl, die der Preloader anzeigt ist doch richtig! Ihr müsst mal bei Einstellungen für Veröffentlichen das Häkchen bei Fil komprimieren rausnehmen. Wenn ihr es dann veröffentlicht und euch die swf-Größe anguckt, dann stimmt die mit der der Preloader anzeige überein. Habe das an einem Beispiel getestet, wo es recht deutlich war! Der Preloader zeigte 208 KB an aber der WindowsExplorer nur 181 KB. Dann hab ich ohne komprimierung veröffentlicht und dann zeigte auch der Explorer 208 KB an!

Ist nur ne Vermutung, scheint mir aber sehr wahrscheinlich!



Greetz Daniel
http://daniel.hguenther.de
<-- DEL - Tabelle -->
http://beta.frankfurt-lions.de/sites/aktuell/tabelle/tabelle.php
___________________________
Mut ist das Produkt aus der
Überlegung, dass Feigheit in
einer bestimmten Situation
nicht
Greetz Daniel
webmaster of http://www.daniel-g.de.sr
___________________________
Die Erde ist ein Gefängnis -
und Menschsein die Höchststrafe!
dietrich#4
Benutzerbild von dietrich
Beiträge: 1372
Wohnort: dortmund
Registriert: Jan 2003

Themenautor/in

03.11.2003, 20:36

Hi,

@Daniel:
>Diese liefern nicht die Werte der existierenden swf-Datei, sondern die Werte der unkomprimierten swf-Datei die
je nach Inhalt um mehr als das Doppelte größer sein kann.

Das ist doch klar, wenn du nicht komprimierst, dass dann die existierende Datei genauso groß ist wie eine unkomprimierte - sie ist ja schließlich nicht komprimiert.

Aber deshalb werden wir doch nicht auf Komprimierung verzichten, nur damit die Anzahl der Bytes beim Preloader richtig angezeigt wird und der User dafür aber möglicherweise eine mehr als doppelt so große Datei laden muß.



;-) 
-----------------------------
http://www.jdsolutions.de
hockeystardg#88#5
Benutzerbild von hockeystardg#88
Beiträge: 284
Wohnort: Hanau
Registriert: Feb 2003

04.11.2003, 14:29

>>Aber deshalb werden wir doch nicht auf Komprimierung verzichten, nur damit die Anzahl der Bytes beim Preloader richtig angezeigt wird und der User dafür aber möglicherweise eine mehr als doppelt so große Datei laden muß.

Das ist ja verständlich, aber ich denke, dass das egal ist! Da müsste man mal jemanden Fragen, der an der Entwicklung von Flash beteiligt ist/war! Ich denke nämlich, dass da kein Unterschied liegt und Flash die Datei dann temporär de-komprimieren muss um sie abspielen zu können!
Da sollte man vielleicht wirklich mal bei Macromedia nachhaken!



Greetz Daniel
http://daniel.hguenther.de
<-- DEL - Tabelle -->
http://beta.frankfurt-lions.de/sites/aktuell/tabelle/tabelle.php
___________________________
Mut ist das Produkt aus der
Überlegung, dass Feigheit in
einer bestimmten Situation
nicht
Greetz Daniel
webmaster of http://www.daniel-g.de.sr
___________________________
Die Erde ist ein Gefängnis -
und Menschsein die Höchststrafe!
dietrich#6
Benutzerbild von dietrich
Beiträge: 1372
Wohnort: dortmund
Registriert: Jan 2003

Themenautor/in

04.11.2003, 18:46

Hi Daniel,

ich glaube dass du das ganze noch nicht so richtig verstanden hast:
>aber ich denke, dass das egal ist!
Wenn du dir eine Zip-Datei aus dem Internet holst möchtest du auch nicht wissen wieviel Speicherplatz die
im Hauptspeicher einnimmt, wenn sie unkoprimiert ist. Das gleiche gilt für jpg-Dateien. Eine Anzeige dabei,
wieviel Hauptspeicher gebraucht wird ist ja wohl nicht das was sinnvoll ist.
Für eine Übertragung einer Datei ist es wichtig zu wissen, wie groß die tatsächliche Dateigröße ist und somit
die zu übertagenden Bytes!
(Und wenn du das weiterdiskutieren möchtest, dann wäre das ein Thema fürs OffTopic)



;-) 
-----------------------------
http://www.jdsolutions.de

AntwortenRegistrieren Seite1  

Schnellantwort

Du musst registriert sein, um diese Funktion nutzen zu können.

 
Ähnliche Beiträge zum Thema
Partner Webseiten: art-and-law.de  Mediengestalter.info   phpwelt.de   Scubacube.de  
Haftungsausschluss   Datenschutzerklärung   Impressum
© 1999-2021 Sebastian Wichmann - Flashhilfe.de