Это самое точное объяснение проблемы медленных интерфейсов за последнее время. Илья Бирман сформулировал Теорему о тормозах, которая ставит точку в вечных спорах о недостатке вычислительных ресурсов. Суть предельно проста: любая задержка при взаимодействии с программой — это баг, который можно исправить. Рендеринг тяжелого проекта — это нормальная фоновая задача, но секундная пауза перед появлением готового файла на рабочем столе уже является тормозом.
Современные процессоры как минимум двадцать лет обладают избыточной мощностью для мгновенного отклика. Когда при наборе текста символы появляются с отставанием или страница при скролле догружается кусками, это происходит не из-за слабого железа. В этот момент программа просто занята чем-то другим вместо того, чтобы реагировать на действия человека. Разработчик заставил основной поток выполнять лишнюю, не приоритетную в данную секунду работу.
Такой подход отлично отрезвляет при проектировании клиентского софта. Зависания при ресайзе окон, долгая первоначальная загрузка или прыгающие пункты меню перестают быть неизбежным злом! Это прямые маркеры архитектурной ошибки, где внутренние вычисления блокируют пользовательский опыт. Тормоза нельзя списывать на аппаратные ограничения, они остаются исключительно на совести автора кода.
Поделиться:
Кофе как химический эксперимент: разбор лабораторной айдентики проекта Colon
Стек и пайплайн 3D-дженералиста: разбор VFX-шоурила Ильи Kekos