Canvas 和 React Konva 对大型数据集的可扩展性?
Canvas and React Konva scalability for large datasets?
我正在与一个小组合作构建一个交互式界面,该界面将呈现节点列表并显示它们是如何连接的,几乎就像一些数据库建模器一样。这是在一个预先存在的应用程序中,我们将有多达几千个数据点可以被拖动。
有些人提到使用 canvas 元素或 Konva.js 或 D3 等包。我想知道像使用 canvas 或 React-Konva 这样的选项是否能够处理这样的事情,或者我们是否需要使用像 D3 或其他东西这样的替代方案。有没有人有这方面的经验或知识?
这取决于您究竟要绘制什么以及您需要什么样的交互性。对于 Konva
来说,可能很难处理一千个数据点。但是还有很多Konva Performance Tips可以提高性能。
如果您的绘图的某些部分是静态的,您可以使用图层或 node.cache()
方法来提高性能。
了解工具(Konva、D3 或其他任何工具)是否好的唯一好方法是制作应用程序的原型版本。制作一个非常简化的版本每个 framework/library 都有很多对象。看看什么最适合你。
我正在与一个小组合作构建一个交互式界面,该界面将呈现节点列表并显示它们是如何连接的,几乎就像一些数据库建模器一样。这是在一个预先存在的应用程序中,我们将有多达几千个数据点可以被拖动。
有些人提到使用 canvas 元素或 Konva.js 或 D3 等包。我想知道像使用 canvas 或 React-Konva 这样的选项是否能够处理这样的事情,或者我们是否需要使用像 D3 或其他东西这样的替代方案。有没有人有这方面的经验或知识?
这取决于您究竟要绘制什么以及您需要什么样的交互性。对于 Konva
来说,可能很难处理一千个数据点。但是还有很多Konva Performance Tips可以提高性能。
如果您的绘图的某些部分是静态的,您可以使用图层或 node.cache()
方法来提高性能。
了解工具(Konva、D3 或其他任何工具)是否好的唯一好方法是制作应用程序的原型版本。制作一个非常简化的版本每个 framework/library 都有很多对象。看看什么最适合你。