有谁对提高Rappid的性能有建议吗?
它必须在IE中运行(IE运行速度比Chrome慢10倍)。加载带有1000个方格和1000个连接器的图形采用215 s。
在我的代码中没有什么特别之处,我只是从一个JSON文件中加载图形:
graph.fromJSON(JSON.parse(input));
我的论文被设置为异步=真正的,它提供了很大的提升。从JSON加载似乎比以编程方式创建所有节点要快得多。
我在这里尝试过这样的建议:https://groups.google.com/forum/#!topic/jointjs/dbdOrINRG8o,但我根本无法让FastPaper在IE中工作。
发布于 2016-11-08 15:18:27
只渲染可见元素可以帮助您很多,但它不是免费的.
graph.fromJSON(JSON.parse(input));
将所有单元格导入到图形中,paper
检测到此更改并从呈现开始。此时,所有的单元格都有图形中的位置和大小,以及视图(可见区域)。现在,您需要过滤当前在viewport中的元素,并仅对它们进行渲染。
var viewport = paperScroller.getVisibleArea()
graph.findModelsInArea(viewport)
然后,您需要扩展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;
},
});
https://stackoverflow.com/questions/36645228
复制相似问题