http://jsfiddle.net/ES4xG/8/ приводит к сбоям большинства устройств сетчатки.
iOS Safari "легко" исчерпывает память и сбой при использовании некоторых инструкций -webkit-transform
. Этот подход обеспечивает впечатляющую графику, но, особенно на дисплеях сетчатки, просто кажется, что они потребляют много памяти и вызывают сбои.
Демонстрация выше показывает, что текст отображается 150 раз, что в противном случае запускалось бы нормально в браузере ПК:
Размер шрифта и количество элементов преувеличены, чтобы вызвать сбой. -webkit-transform: translate3d(0,0,0)
предназначен для принудительного рисования графическим процессором каждого элемента.
В реальном приложении мы используем translateX
, Y
, Z
, scale
и другие, которые, похоже, подключены к GPU одинаково. Изображения и спрайты также используются, но они не связаны непосредственно с авариями.
Учитывая приведенный выше сценарий:
1) Является ли это ошибкой, с которой сбой iOS Safari?
2) Включение монитора памяти Apple Instruments, виртуальная память поднимается и, похоже, является виновником аварии. Что именно использует эта память?
3) Есть ли другой ускоренный подход к графическому процессору, который бы не потреблял много памяти?