Heim >häufiges Problem >Was ist besser: Reflow oder Redraw oder Reflow?
Die Reduzierung des Reflows ist eine bessere Wahl, da die Kosten für das Neuzeichnen relativ gering und die Kosten für das Reflowing hoch sind: 1. Wenn sich der Erscheinungsbildstil von Elementen ändert, zeichnet der Browser diese Elemente neu, das Layout ändert sich jedoch nicht. 2. Wenn sich die Layoutattribute eines Elements ändern, berechnet der Browser die geometrischen Attribute des Elements neu und erstellt das Layout der gesamten Seite neu.
Das Betriebssystem dieses Tutorials: Windows 10-System, Dell G3-Computer.
Reflow, Repaint und Layout sind verschiedene Schritte im Webseiten-Rendering-Prozess und haben unterschiedliche Auswirkungen auf die Website-Leistung.
Neu zeichnen: Wenn sich der Darstellungsstil (z. B. Farbe, Hintergrund) von Elementen ändert, zeichnet der Browser diese Elemente neu, das Layout ändert sich jedoch nicht. Der Leistungsaufwand beim Neuzeichnen ist relativ gering und führt nicht zu Änderungen am Seitenlayout.
Reflow: Wenn sich die Layouteigenschaften eines Elements (z. B. Position, Größe) ändern, berechnet der Browser die geometrischen Eigenschaften des Elements neu und erstellt das Layout der gesamten Seite neu. Reflow verursacht einen großen Leistungsaufwand, führt zu einer Neuanordnung der Seite und kann auch andere Elemente beeinträchtigen.
Der Aufwand für das Neuzeichnen ist also relativ gering, während der Aufwand für das Umfließen groß ist. Im Allgemeinen ist die Reduzierung von Reflows eine bessere Option, da sie sich stärker auf die Seitenleistung auswirkt.
Hier sind einige Möglichkeiten, Reflows zu reduzieren:
Verwenden Sie CSS3-Animationen: CSS3-Animationen nutzen GPU-Beschleunigung, wodurch die Anzahl der Reflows reduziert werden kann.
Batch-Änderungsstile: Vermeiden Sie es, den Stil eines einzelnen Elements häufig zu ändern, sondern gruppieren Sie stattdessen mehrere Änderungen, um die Anzahl der Reflows zu reduzieren.
Verwenden Sie virtuelle Dokumentfragmente (Dokumentfragmente): Durch die Erstellung virtueller Dokumentfragmente führen Sie DOM-Vorgänge im Speicher aus und fügen schließlich die Dokumentfragmente auf einmal zur Seite hinzu, wodurch die Anzahl der Reflows reduziert wird.
Verwenden Sie CSS3-Übergänge oder -Transformationen: Diese Eigenschaften können die GPU-Beschleunigung nutzen und die Anzahl der Reflows reduzieren.
Vermeiden Sie eine erzwungene Synchronisierung des Layouts: indem Sie die Verwendung einiger Eigenschaften oder Methoden vermeiden, die einen Reflow auslösen, wie z. B. offsetTop, offsetLeft usw.
Sie müssen je nach Situation die geeignete Optimierungsstrategie auswählen. Wenn Sie nur ein paar einfache Stiländerungen vornehmen, sind die Kosten für das Neuzeichnen möglicherweise gering. Wenn jedoch komplexe Layoutänderungen erforderlich sind, müssen Sie darauf achten, die Anzahl der Neuzeichnungen zu reduzieren.
Das obige ist der detaillierte Inhalt vonWas ist besser: Reflow oder Redraw oder Reflow?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!