kann man die benötigte Rechenleistung messen?

Grille

Erfahrenes Mitglied
Hallo ,

ich möchte auf einer Seite mehrere kleine (20x20 Pixel oder ähnlich) Flashfilmchen laufen lassen.

Wieviel Rechenleisung ein Filmchen brauch hängt natürlich vom Film selbst ab; aber kann man das auch irgenwie berechenen?

von meinem Film schafft FireFox nur halb so viele Kopien darzustellen wie IE ... das wird auf anderen Rechnern wahrscheinlich anders sein, da sie entweder bessere Hardware haben oder schlechtere.

Also was ich irgendwie suche ist ein Maßstab, damit ich sagen kann "der durchschnittliche Rechner hat eine Rechenleistung von 120 ... der Flashfilm braucht 5 ... also habe ich noch 115 übrig" ...
So kann ich entscheiden ob ein Film zuviel wegnimmt oder ob man ihn nutzen kann.
 
Hi,

die Rechenleistung kannst Du mit dem Flash-Plugin nicht direkt messen; indirekt sind aber Rückschlüsse möglich, da die Framerate sinkt, sobald das Plugin nicht mehr die komplette Leistung zugewiesen bekommt, die es benötigt.

Du kannst in Deinen Filmen also die Framerate messen (mit onEnterFrame und getTimer() lässt sich das Intervall zwischen zwei Frames ermitteln), und bei einer zu starken Differenz zwischen eingestellter und tatsächlicher Rate Konsequenzen ziehen.

Gruß
.
 
Oh .. danke .. diese Überlegung klingt gut!

Ich werde mir jetzt einen "Mess-Film" bauen und ihn mit auf die Seite setzen.

Ich hoffe ich bekomm den CODE richtig hin
 
Ich habe einen Film Gebaut der die Frames zählt bis "getTimer" 1000 ist (also eine Sekunde). Theoretisch funktioniert er, doch ist es schon komisch, dass ich ja 120Bilder pro Sekunde einstelle, Flash aber schon in der Vorschau 237 Bilder Zählt bis eine Sekunde vergangen ist!

Nunja ... in IE funktioniert es halbwegs: ich habe meinen Film der die Frames zählt und die anderen Flashfilme (mit unterschiedlichem Inhalt). Je mehr Filme ich darstelle, um so geringer wird die Zahl .. also ist die Belastung höher.

Bei FF ist das leider so, dass er Pausen macht in denen er die Zeit nicht Weiterzählt, aber die Frames. Obwohl schon alles ruckelt und langsam ist, und selbst schon der Frame-Zähler-Film Darstellungsprobleme hat, werden immernoch über 180 Frames pro Sekunde gezählt.

Ich denke mal dass die getTimer-Funktion etwas buggy ist ... sie macht nicht das was sie soll: (Beschreibungstext)

"Rückgabe: Anzahl der Millisekunden, die seit dem Beginn der Wiedergabe der SWF-Datei vergangen sind."

Ich vermute mal dass IE und FF die Rechenleistung unterschiedlich verteilen: IE verteilt gleichmäßig und FF verteilt so lange bis nichts mehr da ist (was bedeutet, dass die ersten Filme die geladen werden flüssig laufen und die nachfolgenden dann immer langsamer werden).
 
Zuletzt bearbeitet:
Hi,

folgendes Script ermittelt die durchschnittliche Framerate (immer gemittelt auf die Laufzeit des Films):
Code:
var framerate = 32; // eingestellte Framerate

var stime = getTimer();

var frames = 0;

this.onEnterFrame = function() {
	frames ++;
	stime = getTimer();
	var fps = frames / (stime / 1000);
	tf.text = (Math.round(fps * 10) / 10) + " Frames / Sekunde";
}
("tf" ist hier ein Textfeld, in dem die Rate angezeigt wird)

Folgendes Script ermittelt die augenblickliche Framerate (nicht gemittelt, sondern für jeden Frame):
Code:
var framerate = 32; // eingestellte Framerate

var stime = getTimer();

this.onEnterFrame = function() {
	var iv = getTimer() - stime;
	stime = getTimer();
	var fps = 1 / (iv / 1000);
	tf.text = (Math.round(fps * 10) / 10) + " Frames / Sekunde";
}

Gruß
.
 

Neue Beiträge

Zurück