Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/kotlin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Themes 具有许多小部件的编辑器具有糟糕的性能_Themes_E4 - Fatal编程技术网

Themes 具有许多小部件的编辑器具有糟糕的性能

Themes 具有许多小部件的编辑器具有糟糕的性能,themes,e4,Themes,E4,我们切换到e4目标平台。一个编辑器的渲染速度非常慢(距离布局大约20秒)。当从编辑器菜单打开模式对话框时,应用程序会像癫痫发作一样闪烁 当我们关闭css时,通过 DefaultScope.INSTANCE.getNode(“org.eclipse.e4.ui.workbench.renderers.swt”) .put(“themeEnabled”、“false”); 在插件中,渲染速度非常快(…为了清楚起见,我使用eclipse向导创建了一个全新的应用程序(…具有视图) 我用该代码替换了示例

我们切换到e4目标平台。一个编辑器的渲染速度非常慢(距离布局大约20秒)。当从编辑器菜单打开模式对话框时,应用程序会像癫痫发作一样闪烁

当我们关闭css时,通过

DefaultScope.INSTANCE.getNode(“org.eclipse.e4.ui.workbench.renderers.swt”)
.put(“themeEnabled”、“false”);

在插件中,渲染速度非常快(…为了清楚起见,我使用eclipse向导创建了一个全新的应用程序(…具有视图)

我用该代码替换了示例视图代码-正如我所提到的,当我们关闭css/主题时(参见上面的代码),一切都很好-否则它不会停止抖动,甚至很难让鼠标指针回到eclipse来停止应用程序:

package xyz;

import org.eclipse.swt.SWT;
import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Label;
import org.eclipse.ui.part.ViewPart;

public class View extends ViewPart {
    public static final String ID = "xyz.view";

    public class BigControl extends Composite {

        public BigControl(Composite parent, int style) {
            super(parent, style);
            setLayout(new GridLayout(23, false));
            for (int i=0; i<100; i++) {
                for (int j=0; j<23; j++) {
                    new Label(this, SWT.NONE).setText("|" + Integer.toString(i) +     " " + Integer.toString(j) + "|");;
            }
            }
        }
    }

    @Override
    public void createPartControl(Composite parent) {
        new BigControl(parent, SWT.NONE);
    }


    @Override
    public void setFocus() {
    }
}
xyz包;
导入org.eclipse.swt.swt;
导入org.eclipse.swt.layout.GridLayout;
导入org.eclipse.swt.widgets.Composite;
导入org.eclipse.swt.widgets.Label;
导入org.eclipse.ui.part.ViewPart;
公共类视图扩展了ViewPart{
公共静态最终字符串ID=“xyz.view”;
公共类BigControl扩展了复合{
公共BigControl(复合父级,int样式){
超级(父母,风格);
setLayout(新的GridLayout(23,false));

对于(int i=0;iOK),我们用新的平台(2019-3)替换了目标平台。我不知道使用旧的平台

闪烁停止,但仍然不快(调整窗口大小大约需要2秒),但目前可以接受

谢谢你的帮助


最棒的是,Martin在macOS上似乎工作得很快,但这么多的控件是个坏主意。在某些平台上,您将接近极限。谢谢您,正如我所说的,我们没有时间用nattable(比方说)替换它。控件非常复杂,所以我们现在可以忘记它了。