http://jsfiddle.net/ES4xG/8/ rozbija większość urządzeń Retina.W iOS Safari zabrakło pamięci dzięki "-webkit-transform"
"Safari" łatwo "uruchamia się" z pamięci i ulega awarii podczas korzystania z niektórych instrukcji -webkit-transform
. Takie podejście zapewnia imponującą grafikę, ale, szczególnie na wyświetlaczach Retina, wydaje się zużywać dużo pamięci i powodować awarie.
Demo powyżej pokazuje tekst wyświetlony 150 razy, że w przeciwnym razie byłoby to normalnie w przeglądarce PC:
rozmiaru czcionki i liczba elementów jest przesadzone, aby spowodować katastrofę. Model -webkit-transform: translate3d(0,0,0)
ma wymusić przyspieszone rysowanie GPU każdego elementu.
W rzeczywistym zastosowaniu, używamy translateX
, Y
, Z
, scale
i inne, które wydają się być podłączony do wykorzystania GPU w ten sam sposób. Obrazy i sprite'y są również używane, ale nie są bezpośrednio łączone z awariami.
Biorąc pod uwagę powyższy scenariusz:
1) Czy jest to błąd, który iOS Safari jest upaść?
2) Podłączenie monitora pamięci Instrumentów Apple, wirtualnej pamięci wspina się i wydaje się być przyczyną awarii. Co dokładnie używa tej pamięci?
3) Czy istnieje inne akcelerowane podejście GPU, które nie zużywa dużo pamięci?
Masz dużo szalenie dużym tekstem (1500px) co stwarza duże bufory na GPU - zwłaszcza na urządzeniach z wyświetlaczem Retina. To z pewnością zużyje dużo pamięci .. – i47
Tak, masz rację, zużycie pamięci jest problemem. Ale czy safari nie powinno się rozbić? Czyli ta pamięć rzeczywiście jest zużywana przez Gpu? Nie sugeruję, że rozmiar czcionki jest właściwy, to tylko uproszczenie problemu. Możesz mieć wiele elementów z mniejszymi czcionkami, które spowodują awarię w ten sam sposób. Twoje zdrowie. –
Ładny kod. Rozbił się mój iPad 2 (bez siatkówki) na Google Chrome. To jednak dużo renderingu. – TheDoctor