"современный", поскольку это определение может меняться со временем (и, в частности, я имею в виду настольные браузеры)
"дескриптор", потому что это может меняться в зависимости от конфигурации/памяти машины, но в частности я имею в виду общий прецедент.
Этот вопрос напомнил о конкретной проблеме, которую я пытаюсь решить с помощью больших наборов данных.
По существу, всякий раз, когда происходит изменение конкретного набора данных, я возвращаю полный набор данных, и я должен отображать эти данные в браузере.
Так, например, над websocket я получаю событие push, которое сообщает мне, что набор данных имеет изменения, а затем я должен отображать этот набор данных в HTML, захватывая существующий элемент DOM, дублируя его, заполняя элементы данными из этого установить с использованием имен классов или других идентификаторов элементов, а затем добавить их обратно в DOM.
Имейте в виду, что любой объект (JSON) в этом наборе данных может иметь до 1000+ дочерних объектов, и может быть до 10000+ родительских объектов, так как вы можете видеть, что может быть экземпляр, в котором возвращено набор данных вверх по направлению к 1,000,000 = > 10 000 000 точек данных или больше.
Теперь интересная часть приходит, когда я должен отображать этот материал. Для каждой точки данных могут быть 3 или 4 метки, используемые для визуализации и стилизации данных, и могут быть прослушиватели событий для любого из этих тегов (возможно, в родительском контейнере для облегчения работы с использованием делегирования).
Чтобы подвести итог, может быть много входящей информации, которая должна быть отображена, и я пытаюсь найти лучший способ справиться с этим сценарием.
В идеале вы просто хотите визуализировать изменения для этой единственной точки данных, которые имеют изменения, а не повторную визуализацию всего набора, но это может быть не вариант из-за того, как был разработан бэкэнд.
Моя главная проблема здесь заключается в том, чтобы понять ограничения браузера /DOM и посмотреть на эту проблему с помощью интерфейса интерфейса. Есть некоторые изменения, которые должны выполняться на бэкэнд (построение данных, кеширование, разбиение на страницы), но это не фокус здесь.
Это не типичный вариант использования HTML/DOM, поскольку я знаю, что существуют ограничения, но что это такое? Мы все еще ограничены примерно 3000-4000 элементами?
У меня есть ряд связанных подзапросов для этого, m up но я подумал, что было бы неплохо поделиться некоторыми мыслями с остальной частью сообщества stackoverflow и попытаться объединить некоторые сведения об этой проблеме.
Что такое "разумное" количество элементов DOM, которое может обрабатывать современный браузер, прежде чем он начнет становиться медленным/невосприимчивым?
Как я могу сравнить количество элементов DOM, которые может обрабатывать браузер?
Каковы некоторые стратегии для обработки больших наборов данных, которые необходимо визуализировать (помимо разбивки на страницы)?
Являются ли шаблоны шаблонов, такие как усы и дескрипторы, более эффективными для рендеринга html из data/json (на интерфейсе), чем использование jQuery или регулярных выражений?