CSS wird nicht geändert

8

Es gibt ein neues CSS-Attribut namens will-change , mit dem Sie Eigenschaften definieren können, die häufig geändert werden, damit der Browser sie optimieren kann. Zum Beispiel:

%Vor%

Aber was ist mit dem Gegenteil? Gibt es Vorschläge oder Arbeitsentwürfe für etwas wie will-not-change ? Es wäre möglich, den Browser anzudeuten, dass sich diese Eigenschaften niemals ändern werden (Konstanten), damit es einige Optimierungen vornehmen kann?

    
Iter Ator 11.07.2016, 11:44
quelle

1 Antwort

7

Browser optimieren bereits ihre Layoutalgorithmen für Eigenschaften, die sich "nicht ändern". will-change ist eine Möglichkeit, Eigenschaften in ändern zu ändern (ungeachtet dessen, was der "Wille" im Eigenschaftsnamen vermuten lässt), sodass Browser die notwendigen Optimierungen im Voraus durchführen können, wenn diese Eigenschaften tun ändert sich (ab dem Anfangswert).

Stellen Sie sich Folgendes vor: Eigenschaften, die nicht in will-change aufgeführt sind, wurden bereits als "wird nicht geändert" optimiert oder "ob sie sich ändern oder nicht, macht keinen sinnvollen Unterschied in der Leistung."

Beispielsweise teilt Ihre will-change -Deklaration dem Browser mit, dass er einen Kompositions-Layer für .element -Elemente erstellt, falls sie transformiert oder alphanumeriert werden müssen, damit das Rendering von Anfang an hardwarebeschleunigt wird . Da diese will-change -Deklaration nicht auf Elemente ohne diese Klasse angewendet wird, geht der Browser davon aus, dass diese anderen Elemente niemals umgewandelt oder alphanumeriert werden, und benötigt daher diesen Kompositionslayer nicht. Da für diese keine Kompositionslayer erstellt wurden, hat der Browser das Rendern dieser Elemente bereits optimiert, indem nicht die Hardware unnötigerweise beschleunigt wird.

    
BoltClock 11.07.2016, 11:50
quelle

Tags und Links