1

最近我必须处理非常大的数据源,想知道是否有办法提高 GoJS 的性能。

GoJS 非常有效地处理我的数据,并且TreeView我正在尝试制作的内容会在网站完全加载后不久显示。不幸的是,当平移视图时,图表不知何故开始有点滞后。

我现在正在寻找一种方法将这种延迟降至最低。

我尝试摆弄布局选项,但并没有显着提高性能。

对于该图,我有一个“相对”几个节点(准确地说是 498 个)的图,但不幸的是我的模板相当复杂。它有一个嵌套的 itemArray,它在该行内生成行和列。另一件事是我使用了“LayeredTreeView”模型的略微修改版本。

这些节点位于 388 个不可见的组中。在不使用交叉减少之类的布局的情况下生成它只需要适量的时间。

另外我刚刚发现了 GoJS 介绍的性能站点。那里已经提到,复杂的模板会使 GoJS 变慢。这可能是这种情况吗?

4

1 回答 1

3

复杂的模板比简单的模板需要更长的时间来构建,因此当节点复杂和详细时,加载时间会更长。

但是,一旦在图表中创建并初始化了所有节点和链接,滚动(也称为平移)应该会非常快。

虚拟化减少了加载时间,因为最初创建和显示的节点和链接应该很少。然而,虚拟化确实减慢了滚动和缩放,因为节点和链接必须随着视口的变化而创建。正如那个性能页面所暗示的那样,实现虚拟化需要更多的编程工作。根据具体情况,它甚至可能不可行或更快。

于 2015-09-01T14:48:02.397 回答