Gehen Sie nicht davon aus, dass der Browser das für Sie erledigt. Ich arbeite an einem Projekt ähnlicher Größenordnung, das Hunderte von (dynamisch geladenen) Bildern erfordert, wobei Geschwindigkeit oberste Priorität hat.
Caching der "src" -Eigenschaft jedes Elements wird dringend empfohlen. Es ist teuer zu lesen und setzen Hunderte von DOM-Element Eigenschaften und sogar Einstellung src
auf den gleichen Wert kann dazu führen, Reflow oder Malen Ereignisse.
[Bearbeiten] Die Mehrheit der Schwerfälligkeit in der Schnittstelle war aufgrund all meiner Schleifen und Prozesse. Sobald diese optimiert waren, war die Benutzeroberfläche sehr flüssig, selbst wenn Hunderte von Bildern kontinuierlich geladen wurden.
[Bearbeiten 2] Angesichts Ihrer zusätzlichen Informationen (die Bilder sind alle kleine Statussymbole), sollten Sie vielleicht einfach eine Klasse für jeden Status in Ihrem CSS deklarieren. Vielleicht möchten Sie auch mit cloneNode
und replaceNode
für einen sehr schnellen und effizienten Austausch suchen.
[Bearbeiten 3] Versuchen Sie absolut-Positionierung Ihrer Bildelemente. Es wird die Menge an Reflow begrenzen, die passieren muss, da absolut positionierte Elemente außerhalb des Flusses liegen.
Wie groß sind die Bilder (in Bezug auf die Downloadgröße)? Wie oft werden Sie die Src-Eigenschaft ändern? – Tim
@Tim: Die Bilder sind klein in der Download-Größe (sie sind nur Statussymbole) - aber es wird in der Regel keinen Download geben, da sie meist schon zwischengespeichert sind. Die Bilder werden in einem Stapel ausgetauscht, wenn der Benutzer eine bestimmte Aktion ausführt - das Update sollte dann so schnell wie möglich sein. –