Недавно я очень удивился, когда заметил, что в последней итерации электронных таблиц Google они отображают сетку электронных таблиц с помощью тега canvas
, тогда как в прошлом они использовали проверенный и истинный <table><tr><td>
для рендеринга сетки.
В предыдущей версии только часть фактических строк отображается в любой момент времени с использованием техники виртуальных строк (аналогично тому, что сделано в slickgrid), Это дает неплохую производительность (у slickgrid есть демо 500 000 строк).
Мои вопросы:
- Как
canvas
может быть намного эффективнее, чем метод виртуальных элементов DOM? - При работе с холстом таким образом можно обеспечить, чтобы холст отображался с той же скоростью, что и прокрутка, поскольку в отличие от метода виртуальных строк нет предварительно обработанного буфера?
- Кто-нибудь знает пример с открытым исходным кодом с использованием html canvas для создания редактируемой сетки или любого другого примера кода, который выполняет что-то подобное?
Спасибо.