2 Stimmen

Mehrere Flash-Objekte auf einer einzigen Webseite?

Gibt es irgendwelche bedeutsam Auswirkungen auf die Leistung/Ladezeit, wenn eine einzige Webseite beispielsweise 10 identische Flash-Objekte lädt? 20? 30?. Gibt es beweiskräftige Daten zur Nachhaltigkeit einer solchen Konfiguration?

Dies wäre die gleiche Flash-Anwendung, wobei jede Instanz ihren eigenen Stream bedient.

1voto

James Hay Punkte 12299

Es wird definitiv einen gewissen Overhead in der Größe geben, da eine gewisse Menge an Code in jeder swf enthalten ist, unabhängig davon, ob sie von einem Entwickler erstellt wurde.

Ich bin mir fast sicher, dass es auch Geschwindigkeitsprobleme geben würde, da die Bildwiederholrate mit zunehmender Anzahl von Swfs auf der Seite sinken würde.

Um ehrlich zu sein, riecht das Konzept ein wenig merkwürdig, und ich denke, es muss eine bessere Lösung für Ihr Problem geben.

EDIT

Außerdem gibt es die Einschränkung, dass pro Domain nur zwei Steams über http übertragen werden dürfen. Sicherlich können Sie dies umgehen, aber es wird definitiv ein Problem sein.

0voto

Christophe Herreman Punkte 15654

Ich fand diese Stelle die helfen könnten. Der Trick ist die Verwendung von SWFO-Objekt um Ihre swf-Dateien einzubetten.

Ich bin heute auf ein seltsames Problem gestoßen. Auf der Seite mit den Musikcharts auf Muziboo habe ich eine Liste von Liedern und eine Wiedergabeliste auf der rechten Seite angezeigt. Jeder Song hat einen kleinen Button-Player, der in OpenLaszlo erstellt wurde. In Firefox war alles in Ordnung, aber im IE (nicht ungewöhnlich) fror die Seite für einige Zeit ein. Das passierte einmal und wiederholte sich nur, wenn ich den Cache löschte und es erneut versuchte. Ich habe ein bisschen gegoogelt und herausgefunden, dass es an folgenden Dingen liegt es ist eine gute Idee, jeder swf eine eindeutige ID zu geben, da sich der Browser sonst falsch verhält . Ich habe dann swfobject verwendet, um die swf-Dateien einzubetten, und alles hat wunderbar funktioniert!

0voto

Oli Punkte 226885

Ja, es wird wahrscheinlich den Browser zerstören, wenn Sie zu weit in diese Richtung gehen.

Wenn Sie mit mehreren Streams arbeiten wollen, ist es vielleicht besser, wenn Sie alle Ihre Möchtegern-Applets in einem einzigen großen Applet zusammenfassen. Es wird sicherlich die ernsthafte Overhead Sie mit 10-40 der kleinen blighters haben würde kompensieren.

Wenn es sich um einen Musik-Player handelt, sollten Sie sich ernsthaft mit JavaScript-Remoting befassen. Es ist ziemlich trivial, eine Flash-App über JS zu steuern, so dass Sie Standard-HTML/CSS-Steuerelemente haben könnten, ohne eine Milliarde Flash-Instanzen laden zu müssen.

0voto

Christian Nunciato Punkte 10163

Vom Design her klingt das einfach nach einer schlechten Idee. Sie würden mehrere Instanzen des Flash-Players innerhalb eines Browsers ausführen, von denen jede einzelne Kosten verursacht, und der Host (in diesem Fall der Browser) wird sie alle auf demselben Thread ausführen (mit Ausnahme bestimmter ausgewählter asynchroner Prozesse), so dass Sie mit ziemlicher Sicherheit auf Probleme verschiedener Art stoßen werden - ruckelnde Wiedergabe, Blockieren der Benutzeroberfläche, Prozessorbelastung, Speicheraufblähung, daraus folgende Instabilität des Hosts usw.

Wenn die SWFs nicht sehr klein sind und nur sehr wenig Arbeit verrichten, scheint dies ein Design zu sein, das nur Ärger verspricht. In der Tat könnte man so etwas recht einfach testen; haben Sie schon irgendwelche Tests durchgeführt? Nur aus Neugier.

Wir sind auch neugierig auf die Anforderungen; wir könnten vielleicht konstruktivere Alternativen anbieten, wenn wir etwas mehr darüber wüssten, was Sie anstreben. Haben Sie erwogen, einfach alle SWFs in eine einzige Container-SWF zu laden, die nur eine einzige im Browser gehostete Instanz des Flash-Players benötigt?

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X