Веб-работники не могут напрямую взаимодействовать с DOM, и ваша задача не настолько интенсивна.
Я бы сказал, WebSockets + DOM манипулирование с помощью атрибутов (данных) и отдельная вставка узлов вместо огромного куска вставленных сразу узлов.Это может быть немного медленнее, но нет особой разницы, и вы можете даже не заметить этого.См. Самая быстрая вставка DOM
Я бы обновлял вещи отдельно, потому что: 1) это более аккуратно и легко обслуживаемо, 2) вам не нужно беспокоиться о делегировании событий или повторной инициализации определенных вещей 3)Поток выглядит более естественным, вместо того, чтобы просто получить огромный кусок разметки и «вставить» его в DOM.
Если вы не будете добавлять новые узлы и просто будете слушать изменения данных в существующихузлы, то я бы четко предложил пойти на изменения на основе атрибутов.