Максимальный размер файла данных для D3.js

Каков ограничивающий фактор размера файла данных для D3js? Просто сколько времени требуется для загрузки файла с сервера на клиент?

Я пытаюсь создать дорожную карту Чикаго, где вы можете навести курсор на дорогу, чтобы узнать ее название и выделить ее. Размер файла был 125 мб с города. Я урезал его до 30 МБ, удалив ненужную информацию, а затем преобразовал его в файл TopoJSON, уменьшив его до 5,1 МБ. Это неуправляемый размер файла?


person Jared    schedule 22.02.2014    source источник


Ответы (1)


Есть три ограничивающих фактора при работе с большими объемами данных:

  • Размер загружаемого файла и скорость соединения сервера/клиента.
  • Обработка данных.
  • Отрисовка визуальных элементов, представляющих данные.

Без более подробной информации о вашем приложении трудно догадаться, какое именно, но по моему опыту это почти всегда третье. Рендеринг элементов обычно занимает большую часть времени, необходимого для отображения визуализации.

Инструменты отладки/веб-разработки в вашем браузере должны дать вам лучшее представление о том, где находится узкое место; в частности, вы сможете довольно легко узнать, сколько времени требуется для загрузки JSON. Если это значительно меньше, чем время отображения визуализации, проблема почти наверняка заключается в рендеринге элементов.

В этом случае есть две основные вещи, которые вы можете сделать. Вы можете либо уменьшить количество отображаемых элементов (например, путем агрегирования), либо переключиться на другой механизм рендеринга. В частности, Canvas рендерится значительно быстрее, чем SVG. Если вы сделаете это переключение, вы потеряете интерактивность, которую SVG делает довольно просто, так что это компромисс, который зависит от вашего конкретного приложения.

person Lars Kotthoff    schedule 22.02.2014