Выбор ответа Middle Отладка и профилирование обновлено

Какой поток тормозит

Вопрос

Perf Monitor показывает: UI 60 FPS, JS 8 FPS при нажатии на фильтр. Где искать проблему?

Попробуйте сами

Выберите вариант, и откроется разбор.

Показать ответ и разбор

Коротко

Правильный ответ: В JS: тяжёлый рендер или вычисления при фильтре. UI-поток успевает, значит нативная часть не узкое место.

Варианты ответа

  1. В нативной раскладке и отрисовке нового списка
  2. В JS: тяжёлый рендер или вычисления при фильтреправильный ответ
  3. В сети: сервер медленно отвечает на запрос фильтра
  4. В GPU: на карточках слишком много теней

Разбор

UI-поток успевает, значит нативная часть не узкое место. Просевший JS FPS означает, что JS-поток занят: перерисовка большого дерева, фильтрация массива, синхронная работа. Сетевое ожидание не занимает поток. Тени и отрисовка нагружают UI-поток, а он в порядке.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.