Я прогоняю проблему производительности при прокрутке на iOS. На обоих touchstart
и touchend
Safari недействителен, а затем пересчитывает стили, что приводит к небольшой задержке до того, как прокрутка откликается. У инструментов Safari есть столбец "инициатор", но в моих тестах он пуст.
Я пробовал:
- Применение элемента
will-change: transform;
илиtransform: translateZ(0);
в элементе прокрутки. Это очень помогло Chrome, но ничего не делает для iOS Safari. Профилировщик все еще сообщает, что стили пересчитываются. - Удаление всех элементов из DOM, имеющих
position: fixed;
- Проверка каждой строки Javascript (который был только кодом ядра jQuery и Angular в моих тестах), сообщенным профилировщиком, чтобы узнать, находятся ли они в Paul Irish список вещей, которые заставляют компоновку/оплату.
- Воспроизвести его на Android, чтобы я мог использовать инструменты звездного разработчика Chrome без успеха. Проблема затрагивает только iOS Safari, которая может быть отлажена только с рабочего стола Safari.
Как я могу определить, что заставляет мои стили быть недействительными в iOS Safari?