Internet explorer IE中的JointJS/Rappid性能问题
有人对改进Rappid的性能有什么建议吗 它必须在IE中运行(比Chrome慢10倍)。 加载包含1000个正方形和1000个连接器的图形需要215s 我的代码中没有任何花哨的东西,我只是从JSON文件加载图形: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中工作。仅渲染可见元素可以帮助您很多,但
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画布的库,如