Веб воркеры и фоновые вычисления против блокировки основного потока
Аннотация
В статье рассматривается проблема блокировки главного потока (main thread) в веб-приложениях при выполнении вычислительно тяжёлых задач и способ её решения средствами Web Workers API. Описаны архитектурные принципы работы веб-воркеров, механизм обмена сообщениями между потоками и ограничения, связанные с отсутствием общего доступа к DOM. Проведён вычислительный эксперимент, сравнивающий отзывчивость событийного цикла (event loop) при выполнении синхронного вычисления «в лоб» и при вынесении той же задачи в отдельный поток. Показано, что вынесение тяжёлых вычислений в воркер практически полностью устраняет потерю кадров и снижает джиттер таймера почти на два порядка, не увеличивая заметно общее время вычисления.
Полный текст:
PDFСсылки
- На текущий момент ссылки отсутствуют.
ISSN 2414-4487