2012-12-21 25 views
10

Czy są jakieś znane problemy, w których użycie wartości zmiennoprzecinkowych dla właściwości CSS ma jakikolwiek wpływ na wydajność renderowania. Zwłaszcza na urządzeniach mobilnych?Wpływ wartości zmiennoprzecinkowej na właściwości CSS

W moim przypadku ustawiamy szerokość obramowania za pomocą JavaScriptu i wydaje się, że na iPhone4 trwa to dłużej, gdy używamy wartości zmiennoprzecinkowych.

+1

Jakie właściwości, i jak są one zmianie? Czy mówimy tutaj o animacji? –

Odpowiedz

2

Jeśli chodzi o wartość procentową we właściwości CSS width, to wartości zmiennoprzecinkowe są przestrzegane i, oczywiście, występuje niewielkie pogorszenie wydajności, ale to zależy silnie od samej przeglądarki. Piksele w przypadku na przykład właściwości width są zaokrąglone, ale nie określa się, czy faktycznie zaokrąglają one do najbliższej, podłogi lub sufitu. Jednak przy stosowaniu ułamkowych (ruchomych) wartości pikseli dla szerokości, IE9 i FF4 wydają się zaokrąglać do najbliższego piksela, podczas gdy Opera 11, Chrome i Safari obcinają miejsca dziesiętne.

Nawet jeśli numer CSS width jest zaokrąglany podczas malowania strony, pełna wartość zostaje zachowana w pamięci i używana do późniejszego obliczania dziecka. Na przykład, jeśli twoje pole div z 100.4999px będzie malować do 100px, to dziecko o szerokości 50% zostanie obliczone jako .5 * 100.4999 zamiast .5 * 100. I tak dalej na głębsze poziomy.

W głęboko zagnieżdżonych układach układów siatki, w których szerokości rodziców są em, a dzieci to %, i obejmujących do czterech miejsc po przecinku w górę miało zauważalny wpływ.

Powiązane problemy