ace javascript编辑器多个实例

时间:2013-05-20 16:40:21

标签: javascript performance ace-editor

我正在开发一个界面,该界面使用有向图来建模软件管道,其中每个节点都有关联的元数据和(最相关的)可编辑的代码块。现在我使用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实例的性能?

1 个答案:

答案 0 :(得分:0)

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

引起的