首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >IE中的JointJS/Rappid性能问题

IE中的JointJS/Rappid性能问题
EN

Stack Overflow用户
提问于 2016-04-15 10:53:03
回答 1查看 614关注 0票数 1

有谁对提高Rappid的性能有建议吗?

它必须在IE中运行(IE运行速度比Chrome慢10倍)。加载带有1000个方格和1000个连接器的图形采用215 s

在我的代码中没有什么特别之处,我只是从一个JSON文件中加载图形:

代码语言:javascript
运行
复制
graph.fromJSON(JSON.parse(input));

我的论文被设置为异步=真正的,它提供了很大的提升。从JSON加载似乎比以编程方式创建所有节点要快得多。

我在这里尝试过这样的建议:https://groups.google.com/forum/#!topic/jointjs/dbdOrINRG8o,但我根本无法让FastPaper在IE中工作。

EN

回答 1

Stack Overflow用户

发布于 2016-11-08 15:18:27

只渲染可见元素可以帮助您很多,但它不是免费的.

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

  • 获取视图:var viewport = paperScroller.getVisibleArea()
  • 获取视图中的元素:graph.findModelsInArea(viewport)

然后,您需要扩展dia.Paper并重写renderView方法。它应该是这样的:

代码语言:javascript
运行
复制
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;
    },

});
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36645228

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档