Internet explorer IE中的JointJS/Rappid性能问题

Internet explorer IE中的JointJS/Rappid性能问题,internet-explorer,jointjs,rappid,Internet Explorer,Jointjs,Rappid,有人对改进Rappid的性能有什么建议吗 它必须在IE中运行(比Chrome慢10倍)。 加载包含1000个正方形和1000个连接器的图形需要215s 我的代码中没有任何花哨的东西,我只是从JSON文件加载图形: graph.fromJSON(JSON.parse(input)); 我的论文设置为async=true,这提供了很大的提升。从JSON加载似乎比以编程方式创建所有节点要快得多 我在这里尝试了以下建议: 但是我根本无法让FastPaper在IE中工作。仅渲染可见元素可以帮助您很多,但

有人对改进Rappid的性能有什么建议吗

它必须在IE中运行(比Chrome慢10倍)。 加载包含1000个正方形和1000个连接器的图形需要215s

我的代码中没有任何花哨的东西,我只是从JSON文件加载图形:

graph.fromJSON(JSON.parse(input));
我的论文设置为async=true,这提供了很大的提升。从JSON加载似乎比以编程方式创建所有节点要快得多

我在这里尝试了以下建议:
但是我根本无法让FastPaper在IE中工作。

仅渲染可见元素可以帮助您很多,但这不是免费的

graph.fromJSON(JSON.parse(input))
将所有单元格导入图形,
纸张
检测到此更改并开始渲染。此时,图形中的所有单元格以及视口(可见区域)都具有位置和大小。现在,您需要过滤当前在视口中的图元并仅渲染它们

  • 获取视口:
    var viewport=paperScroller.getVisibleArea()
  • 在视口中获取元素:
    graph.findModelsInArea(视口)
然后,您需要扩展
dia.Paper
并覆盖
renderView
方法。应该是这样的:

joint.dia.PartialRenderPaper = joint.dia.Paper.extend({

    isVisible: function(cell) { 
        // detection logic
    },
    renderView: function(cell) {


        if (this.isVisible(cell) || cell.isLink()) {

             return joint.dia.Paper.prototype.renderView.apply(this, arguments);
        }

        return null;
    },

});

只渲染可见元素可以帮你很多忙,但这不是免费的

graph.fromJSON(JSON.parse(input))
将所有单元格导入图形,
纸张
检测到此更改并开始渲染。此时,图形中的所有单元格以及视口(可见区域)都具有位置和大小。现在,您需要过滤当前在视口中的图元并仅渲染它们

  • 获取视口:
    var viewport=paperScroller.getVisibleArea()
  • 在视口中获取元素:
    graph.findModelsInArea(视口)
然后,您需要扩展
dia.Paper
并覆盖
renderView
方法。应该是这样的:

joint.dia.PartialRenderPaper = joint.dia.Paper.extend({

    isVisible: function(cell) { 
        // detection logic
    },
    renderView: function(cell) {


        if (this.isVisible(cell) || cell.isLink()) {

             return joint.dia.Paper.prototype.renderView.apply(this, arguments);
        }

        return null;
    },

});

Rappid使用SVG元素,这些元素永远不会按比例执行。要呈现大量节点,请尝试使用基于HTML画布的库,而不是像Rappid那样使用SVG元素,因为SVG元素永远不会按比例执行。要呈现大量节点,请尝试使用基于HTML画布的库,如