2

我正在开发一个界面,该界面使用有向图对软件管道进行建模,其中每个节点都有关联的元数据和(最相关的)可编辑代码块。现在我使用 ACE 是因为它有许多代码友好的特性,但是一旦管道达到相当低的复杂性阈值,ACE 似乎就会停止,从而降低页面其余部分的响应能力。

现在,这是引入新节点时发生的相关部分:

    view.codeDiv = d3.select('#code-section');
    view.aceEditor = ace.edit('task-code');
    view.aceEditor.setTheme("ace/theme/chrome");
    view.aceEditor.getSession().setMode("ace/mode/ourMode");
    view.aceEditor.getSession().on('change', function(e) {
        if (view.model !== undefined &&
            view.aceEditor !== undefined &&
            view.model.get('cmd') !== view.aceEditor.getValue() &&
            view.aceEditor.getValue() !== '') {
                view.model.set('cmd', view.aceEditor.getValue());
            }
     });

我担心的是 ACE 会议永远不会结束,而且彼此之间的关系也不好。我正在尝试使用不同的时间来声明它们“不可编辑”并希望减少它们的内存需求,但是 UI 的更大结构使得这变得困难。有没有其他人在尝试提高多个活动 ACE 实例的性能时运气好?

4

1 回答 1

0

我认为这是由字体大小轮询引起的https://github.com/ajaxorg/ace/blob/master/lib/ace/layer/text.js#L88

于 2013-08-09T09:44:22.803 回答