【发布时间】:2014-02-22 20:51:27
【问题描述】:
D3js 数据文件大小的限制因素是什么?文件从服务器加载到客户端需要多长时间?
我正在尝试创建芝加哥的路线图,您可以将鼠标悬停在道路上以获取它的名称并突出显示它。来自城市的文件大小为 125 MB。我通过删除不必要的信息将其缩减到 30 MB,然后将其转换为 TopoJSON 文件,将其缩减到 5.1MB。这是一个不规则的文件大小吗?
【问题讨论】:
D3js 数据文件大小的限制因素是什么?文件从服务器加载到客户端需要多长时间?
我正在尝试创建芝加哥的路线图,您可以将鼠标悬停在道路上以获取它的名称并突出显示它。来自城市的文件大小为 125 MB。我通过删除不必要的信息将其缩减到 30 MB,然后将其转换为 TopoJSON 文件,将其缩减到 5.1MB。这是一个不规则的文件大小吗?
【问题讨论】:
处理大量数据时存在三个限制因素:
如果没有关于您的应用程序的更多详细信息,很难猜出它是哪一个,但根据我的经验,它几乎总是第三个。元素的渲染通常花费大部分时间来显示可视化。
浏览器中的调试/Web 开发工具应该能让您更好地了解瓶颈所在;特别是您应该能够很容易地找出加载 JSON 需要多长时间。如果这比显示可视化的时间要短得多,那么问题几乎肯定是元素的渲染。
在这种情况下,您可以做两件主要的事情。您可以减少显示的元素数量(例如通过聚合),或切换到不同的呈现机制。特别是,画布的渲染速度明显快于 SVG。如果您进行了这种切换,您将失去 SVG 所提供的非常简单的交互性,因此这取决于您的特定应用程序。
【讨论】: