Eclipse 4 ui slow.CSS 引擎调用过于频繁 (Windows)



我有一个 eclipse 4 RPC 应用程序,在 Windows 上非常慢。在macOS上,问题似乎不存在。当我将焦点从一个窗口切换到另一个窗口时,光标开始闪烁大约需要 3 秒。该视图有大约 500 个控件(文本字段、标签、按钮(,但其中大多数是隐藏的。

我不允许粘贴代码,但我在那里做了一些分析。我发现 eclipse 4 的 CSS 引擎在重新渲染时会做很多操作系统调用。这对我来说没有意义,因为我们在项目中根本不使用 CSS。

这些是发生超过 100 次的调用:

{
Method='"Composite.java:111 org.eclipse.swt.widgets.Display.getControl(long)', 
Time All Calls together in ms ='369', 
Count invoked calls='235820', 
}
{
Method='"Display.java:1619 org.eclipse.swt.internal.win32.OS.GetProp(long, long)', 
Time All Calls together in ms ='299', 
Count invoked calls='235820', 
}
{
Method='"OS.java:2828 org.eclipse.swt.internal.win32.OS.GetPropW(long, long)', 
Time All Calls together in ms ='249', 
Count invoked calls='235820', 
}
{
Method='"Composite.java:111 org.eclipse.swt.widgets.Display.getControl(long)', 
Time All Calls together in ms ='345', 
Count invoked calls='235325', 
}
{
Method='"Display.java:1619 org.eclipse.swt.internal.win32.OS.GetProp(long, long)', 
Time All Calls together in ms ='293', 
Count invoked calls='235325', 
}
{
Method='"OS.java:2828 org.eclipse.swt.internal.win32.OS.GetPropW(long, long)', 
Time All Calls together in ms ='245', 
Count invoked calls='235325', 
}
{
Method='"Composite.java:111 org.eclipse.swt.widgets.Display.getControl(long)', 
Time All Calls together in ms ='0', 
Count invoked calls='498', 
}
{
Method='"AbstractCSSEngine.java:438 org.eclipse.e4.ui.css.swt.dom.CompositeElement.getLength()', 
Time All Calls together in ms ='411', 
Count invoked calls='497', 
}
{
Method='"CompositeElement.java:34 org.eclipse.swt.widgets.Composite.getChildren()', 
Time All Calls together in ms ='411', 
Count invoked calls='497', 
}
{
Method='"Composite.java:490 org.eclipse.swt.widgets.Composite._getChildren()', 
Time All Calls together in ms ='411', 
Count invoked calls='497', 
}
{
Method='"Composite.java:489 org.eclipse.swt.widgets.Widget.checkWidget()', 
Time All Calls together in ms ='0', 
Count invoked calls='497', 
}
{
Method='"CompositeElement.java:34 org.eclipse.e4.ui.css.swt.dom.CompositeElement.getComposite()', 
Time All Calls together in ms ='0', 
Count invoked calls='497', 
}
{
Method='"AbstractCSSEngine.java:439 org.eclipse.e4.ui.css.swt.dom.CompositeElement.item(int)', 
Time All Calls together in ms ='387', 
Count invoked calls='495', 
}
{
Method='"CompositeElement.java:39 org.eclipse.swt.widgets.Composite.getChildren()', 
Time All Calls together in ms ='385', 
Count invoked calls='495', 
}
{
Method='"Composite.java:490 org.eclipse.swt.widgets.Composite._getChildren()', 
Time All Calls together in ms ='385', 
Count invoked calls='495', 
}
{
Method='"Composite.java:489 org.eclipse.swt.widgets.Widget.checkWidget()', 
Time All Calls together in ms ='0', 
Count invoked calls='495', 
}
{
Method='"CompositeElement.java:40 org.eclipse.e4.ui.css.core.dom.ElementAdapter.getElement(Object)', 
Time All Calls together in ms ='1', 
Count invoked calls='495', 
}
{
Method='"ElementAdapter.java:376 org.eclipse.e4.ui.css.swt.engine.AbstractCSSSWTEngineImpl.getElement(Object)', 
Time All Calls together in ms ='1', 
Count invoked calls='495', 
}
{
Method='"AbstractCSSSWTEngineImpl.java:98 org.eclipse.e4.ui.css.core.impl.engine.AbstractCSSEngine.getElement(Object)', 
Time All Calls together in ms ='0', 
Count invoked calls='495', 
}
{
Method='"AbstractCSSEngine.java:884 org.eclipse.e4.ui.css.core.impl.engine.AbstractCSSEngine.getCSSElementContext(Object)', 
Time All Calls together in ms ='0', 
Count invoked calls='495', 
}
{
Method='"AbstractCSSEngine.java:946 java.util.HashMap.get(Object)', 
Time All Calls together in ms ='0', 
Count invoked calls='495', 
}
{
Method='"HashMap.java:557 java.util.HashMap.getNode(int, Object)', 
Time All Calls together in ms ='0', 
Count invoked calls='495', 
}
{
Method='"HashMap.java:557 java.util.HashMap.hash(Object)', 
Time All Calls together in ms ='0', 
Count invoked calls='495', 
}
{
Method='"AbstractCSSEngine.java:945 org.eclipse.e4.ui.css.core.impl.engine.AbstractCSSEngine.getNativeWidget(Object)', 
Time All Calls together in ms ='0', 
Count invoked calls='495', 
}
{
Method='"AbstractCSSEngine.java:946 org.eclipse.e4.ui.css.core.impl.engine.AbstractCSSEngine.getElementsContext()', 
Time All Calls together in ms ='0', 
Count invoked calls='495', 
}
{
Method='"AbstractCSSEngine.java:886 org.eclipse.e4.ui.css.core.impl.engine.CSSElementContextImpl.elementMustBeRefreshed(IElementProvider)', 
Time All Calls together in ms ='0', 
Count invoked calls='495', 
}
{
Method='"AbstractCSSSWTEngineImpl.java:97 org.eclipse.e4.ui.css.swt.engine.AbstractCSSSWTEngineImpl.isStylable(Widget)', 
Time All Calls together in ms ='0', 
Count invoked calls='495', 
}
{
Method='"AbstractCSSSWTEngineImpl.java:118 org.eclipse.swt.widgets.Widget.getData(String)', 
Time All Calls together in ms ='0', 
Count invoked calls='495', 
}
{
Method='"Widget.java:568 org.eclipse.swt.widgets.Widget.checkWidget()', 
Time All Calls together in ms ='0', 
Count invoked calls='495', 
}
{
Method='"AbstractCSSSWTEngineImpl.java:117 java.lang.Boolean.equals(Object)', 
Time All Calls together in ms ='0', 
Count invoked calls='495', 
}
{
Method='"CompositeElement.java:39 org.eclipse.e4.ui.css.swt.dom.CompositeElement.getComposite()', 
Time All Calls together in ms ='0', 
Count invoked calls='495', 
}
{
Method='"AbstractCSSEngine.java:439 org.eclipse.e4.ui.css.core.impl.engine.AbstractCSSEngine.applyStyles(Object, boolean)', 
Time All Calls together in ms ='9', 
Count invoked calls='495', 
}
{
Method='"AbstractCSSEngine.java:363 org.eclipse.e4.ui.css.core.impl.engine.AbstractCSSEngine.applyStyles(Object, boolean, boolean)', 
Time All Calls together in ms ='9', 
Count invoked calls='495', 
}
{
Method='"AbstractCSSEngine.java:371 org.eclipse.e4.ui.css.core.impl.engine.AbstractCSSEngine.isVisible(Element)', 
Time All Calls together in ms ='2', 
Count invoked calls='495', 
}
{
Method='"AbstractCSSEngine.java:456 org.eclipse.e4.ui.css.swt.dom.ControlElement.getParentNode()', 
Time All Calls together in ms ='1', 
Count invoked calls='495', 
}
{
Method='"ControlElement.java:136 org.eclipse.e4.ui.css.core.dom.ElementAdapter.getElement(Object)', 
Time All Calls together in ms ='1', 
Count invoked calls='495', 
}
{
Method='"ElementAdapter.java:376 org.eclipse.e4.ui.css.swt.engine.AbstractCSSSWTEngineImpl.getElement(Object)', 
Time All Calls together in ms ='1', 
Count invoked calls='495', 
}
{
Method='"AbstractCSSSWTEngineImpl.java:98 org.eclipse.e4.ui.css.core.impl.engine.AbstractCSSEngine.getElement(Object)', 
Time All Calls together in ms ='0', 
Count invoked calls='495', 
}
{
Method='"AbstractCSSEngine.java:884 org.eclipse.e4.ui.css.core.impl.engine.AbstractCSSEngine.getCSSElementContext(Object)', 
Time All Calls together in ms ='0', 
Count invoked calls='495', 
}
{
Method='"AbstractCSSEngine.java:946 java.util.HashMap.get(Object)', 
Time All Calls together in ms ='0', 
Count invoked calls='495', 
}
{
Method='"HashMap.java:557 java.util.HashMap.getNode(int, Object)', 
Time All Calls together in ms ='0', 
Count invoked calls='495', 
}
{
Method='"HashMap.java:557 java.util.HashMap.hash(Object)', 
Time All Calls together in ms ='0', 
Count invoked calls='495', 
}
{
Method='"AbstractCSSEngine.java:946 org.eclipse.e4.ui.css.core.impl.engine.AbstractCSSEngine.getElementsContext()', 
Time All Calls together in ms ='0', 
Count invoked calls='495', 
}
{
Method='"AbstractCSSEngine.java:945 org.eclipse.e4.ui.css.core.impl.engine.AbstractCSSEngine.getNativeWidget(Object)', 
Time All Calls together in ms ='0', 
Count invoked calls='495', 
}
{
Method='"AbstractCSSEngine.java:886 org.eclipse.e4.ui.css.core.impl.engine.CSSElementContextImpl.elementMustBeRefreshed(IElementProvider)', 
Time All Calls together in ms ='0', 
Count invoked calls='495', 
}
{
Method='"AbstractCSSSWTEngineImpl.java:97 org.eclipse.e4.ui.css.swt.engine.AbstractCSSSWTEngineImpl.isStylable(Widget)', 
Time All Calls together in ms ='0', 
Count invoked calls='495', 
}
{
Method='"AbstractCSSSWTEngineImpl.java:118 org.eclipse.swt.widgets.Widget.getData(String)', 
Time All Calls together in ms ='0', 
Count invoked calls='495', 
}
{
Method='"Widget.java:568 org.eclipse.swt.widgets.Widget.checkWidget()', 
Time All Calls together in ms ='0', 
Count invoked calls='495', 
}
{
Method='"AbstractCSSSWTEngineImpl.java:117 java.lang.Boolean.equals(Object)', 
Time All Calls together in ms ='0', 
Count invoked calls='495', 
}
{
Method='"ControlElement.java:134 org.eclipse.swt.widgets.Control.getParent()', 
Time All Calls together in ms ='0', 
Count invoked calls='495', 
}
{
Method='"Control.java:1534 org.eclipse.swt.widgets.Widget.checkWidget()', 
Time All Calls together in ms ='0', 
Count invoked calls='495', 
}
{
Method='"ControlElement.java:133 org.eclipse.e4.ui.css.swt.dom.ControlElement.getControl()', 
Time All Calls together in ms ='0', 
Count invoked calls='495', 
}
{
Method='"AbstractCSSEngine.java:378 org.eclipse.e4.ui.css.core.impl.dom.ViewCSSImpl.getComputedStyle(Element, String)', 
Time All Calls together in ms ='0', 
Count invoked calls='495', 
}
{
Method='"ViewCSSImpl.java:66 java.util.ArrayList.<init>()', 
Time All Calls together in ms ='0', 
Count invoked calls='495', 
}
{
Method='"ArrayList.java:165 java.util.AbstractList.<init>()', 
Time All Calls together in ms ='0', 
Count invoked calls='495', 
}
{
Method='"AbstractList.java:76 java.util.AbstractCollection.<init>()', 
Time All Calls together in ms ='0', 
Count invoked calls='495', 
}
{
Method='"ViewCSSImpl.java:77 org.eclipse.e4.ui.css.core.impl.dom.ViewCSSImpl.getComputedStyle(List, Element, String)', 
Time All Calls together in ms ='0', 
Count invoked calls='495', 
}
{
Method='"ViewCSSImpl.java:64 org.eclipse.e4.ui.css.core.impl.dom.StyleSheetListImpl.getLength()', 
Time All Calls together in ms ='0', 
Count invoked calls='495', 
}
{
Method='"AbstractCSSEngine.java:426 org.eclipse.e4.ui.css.core.impl.engine.AbstractCSSEngine.applyInlineStyle(Object, boolean)', 
Time All Calls together in ms ='0', 
Count invoked calls='495', 
}
{
Method='"AbstractCSSEngine.java:630 org.eclipse.e4.ui.css.swt.dom.WidgetElement.getCSSStyle()', 
Time All Calls together in ms ='0', 
Count invoked calls='495', 
}
{
Method='"WidgetElement.java:282 org.eclipse.swt.widgets.Widget.getData(String)', 
Time All Calls together in ms ='0', 
Count invoked calls='495', 
}
{
Method='"Widget.java:568 org.eclipse.swt.widgets.Widget.checkWidget()', 
Time All Calls together in ms ='0', 
Count invoked calls='495', 
}
{
Method='"WidgetElement.java:280 org.eclipse.e4.ui.css.swt.dom.WidgetElement.getWidget()', 
Time All Calls together in ms ='0', 
Count invoked calls='495', 
}
{
Method='"AbstractCSSEngine.java:626 org.eclipse.e4.ui.css.swt.engine.AbstractCSSSWTEngineImpl.getElement(Object)', 
Time All Calls together in ms ='0', 
Count invoked calls='495', 
}
{
Method='"AbstractCSSEngine.java:392 org.eclipse.e4.ui.css.core.impl.engine.AbstractCSSEngine.getStaticPseudoInstances(Element)', 
Time All Calls together in ms ='0', 
Count invoked calls='495', 
}
{
Method='"AbstractCSSEngine.java:515 org.eclipse.e4.ui.css.core.dom.ElementAdapter.getStaticPseudoInstances()', 
Time All Calls together in ms ='0', 
Count invoked calls='495', 
}
{
Method='"AbstractCSSEngine.java:369 org.eclipse.e4.ui.css.swt.engine.AbstractCSSSWTEngineImpl.getElement(Object)', 
Time All Calls together in ms ='0', 
Count invoked calls='495', 
}
{
Method='"AbstractCSSEngine.java:441 org.eclipse.e4.ui.css.core.impl.engine.AbstractCSSEngine.onStylesAppliedToChildNodes(Element, NodeList)', 
Time All Calls together in ms ='0', 
Count invoked calls='495', 
}
{
Method='"Display.java:1619 org.eclipse.swt.internal.win32.OS.GetProp(long, long)', 
Time All Calls together in ms ='0', 
Count invoked calls='474', 
}
{
Method='"OS.java:2828 org.eclipse.swt.internal.win32.OS.GetPropW(long, long)', 
Time All Calls together in ms ='0', 
Count invoked calls='474', 
}
{
Method='"PartRenderingEngine.java:1121 org.eclipse.swt.widgets.Display.readAndDispatch()', 
Time All Calls together in ms ='5408', 
Count invoked calls='444', 
}
{
Method='"Display.java:3819 org.eclipse.swt.internal.win32.OS.PeekMessage(MSG, long, int, int, int)', 
Time All Calls together in ms ='5309', 
Count invoked calls='444', 
}
{
Method='"OS.java:3144 org.eclipse.swt.internal.win32.OS.PeekMessageW(MSG, long, int, int, int)', 
Time All Calls together in ms ='5309', 
Count invoked calls='444', 
}
{
Method='"Display.java:3813 org.eclipse.swt.widgets.Display.checkDevice()', 
Time All Calls together in ms ='0', 
Count invoked calls='444', 
}
{
Method='"Display.java:3816 org.eclipse.swt.widgets.Display.runSkin()', 
Time All Calls together in ms ='0', 
Count invoked calls='444', 
}
{
Method='"Display.java:3817 org.eclipse.swt.widgets.Display.runDeferredLayouts()', 
Time All Calls together in ms ='0', 
Count invoked calls='444', 
}
{
Method='"Display.java:3815 org.eclipse.swt.widgets.Display.drawMenuBars()', 
Time All Calls together in ms ='0', 
Count invoked calls='444', 
}
{
Method='"Display.java:3818 org.eclipse.swt.widgets.Display.runPopups()', 
Time All Calls together in ms ='0', 
Count invoked calls='444', 
}
{
Method='"PartRenderingEngine.java:1118 org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.someAreVisible(List)', 
Time All Calls together in ms ='0', 
Count invoked calls='444', 
}
{
Method='"PartRenderingEngine.java:1119 org.eclipse.swt.graphics.Device.isDisposed()', 
Time All Calls together in ms ='0', 
Count invoked calls='444', 
}
{
Method='"PartRenderingEngine.java:1119 org.eclipse.e4.ui.model.application.impl.ApplicationImpl.getChildren()', 
Time All Calls together in ms ='0', 
Count invoked calls='444', 
}
{
Method='"OS.java (native) org.eclipse.swt.widgets.Display.windowProc(long, long, long, long)', 
Time All Calls together in ms ='5273', 
Count invoked calls='364', 
}
{
Method='"Composite.java:111 org.eclipse.swt.widgets.Display.getControl(long)', 
Time All Calls together in ms ='0', 
Count invoked calls='324', 
}
{
Method='"Display.java:1619 org.eclipse.swt.internal.win32.OS.GetProp(long, long)', 
Time All Calls together in ms ='0', 
Count invoked calls='300', 
}
{
Method='"OS.java:2828 org.eclipse.swt.internal.win32.OS.GetPropW(long, long)', 
Time All Calls together in ms ='0', 
Count invoked calls='300', 
}
{
Method='"AbstractCSSEngine.java:438 org.eclipse.e4.ui.css.swt.dom.CompositeElement.getLength()', 
Time All Calls together in ms ='1', 
Count invoked calls='273', 
}
{
Method='"CompositeElement.java:34 org.eclipse.swt.widgets.Composite.getChildren()', 
Time All Calls together in ms ='1', 
Count invoked calls='273', 
}
{
Method='"Composite.java:490 org.eclipse.swt.widgets.Composite._getChildren()', 
Time All Calls together in ms ='0', 
Count invoked calls='273', 
}
{
Method='"Composite.java:489 org.eclipse.swt.widgets.Widget.checkWidget()', 
Time All Calls together in ms ='0', 
Count invoked calls='273', 
}
{
Method='"CompositeElement.java:34 org.eclipse.e4.ui.css.swt.dom.CompositeElement.getComposite()', 
Time All Calls together in ms ='0', 
Count invoked calls='273', 
}
{
Method='"OS.java (native) org.eclipse.swt.widgets.Display.windowProc(long, long, long, long)', 
Time All Calls together in ms ='79', 
Count invoked calls='245', 
}
{
Method='"Display.java:3822 org.eclipse.swt.internal.win32.OS.DispatchMessage(MSG)', 
Time All Calls together in ms ='90', 
Count invoked calls='241', 
}
{
Method='"OS.java:2552 org.eclipse.swt.internal.win32.OS.DispatchMessageW(MSG)', 
Time All Calls together in ms ='90', 
Count invoked calls='241', 
}
{
Method='"Display.java:3821 org.eclipse.swt.internal.win32.OS.TranslateMessage(MSG)', 
Time All Calls together in ms ='0', 
Count invoked calls='241', 
}
{
Method='"Display.java:3824 org.eclipse.swt.widgets.Display.runDeferredEvents()', 
Time All Calls together in ms ='0', 
Count invoked calls='241', 
}
{
Method='"Display.java:3820 org.eclipse.swt.widgets.Display.filterMessage(MSG)', 
Time All Calls together in ms ='0', 
Count invoked calls='241', 
}
{
Method='"Display.java:1633 org.eclipse.swt.widgets.Combo.checkHandle(long)', 
Time All Calls together in ms ='0', 
Count invoked calls='213', 
}
{
Method='"Display.java:5110 org.eclipse.swt.widgets.Control.windowProc(long, int, long, long)', 
Time All Calls together in ms ='43', 
Count invoked calls='209', 
}
{
Method='"Display.java:5114 org.eclipse.swt.internal.win32.OS.GetProp(long, long)', 
Time All Calls together in ms ='3', 
Count invoked calls='204', 
}
{
Method='"Display.java:3827 org.eclipse.swt.widgets.Display.runAsyncMessages(boolean)', 
Time All Calls together in ms ='1', 
Count invoked calls='202', 
}
{
Method='"Display.java:3827 org.eclipse.swt.graphics.Device.isDisposed()', 
Time All Calls together in ms ='0', 
Count invoked calls='202', 
}
{
Method='"PartRenderingEngine.java:1126 org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$4$1.eventLoopIdle(Display)', 
Time All Calls together in ms ='2120', 
Count invoked calls='201', 
}
{
Method='"PartRenderingEngine.java:1122 org.eclipse.e4.core.internal.contexts.EclipseContext.processWaiting()', 
Time All Calls together in ms ='5', 
Count invoked calls='201', 
}
{
Method='"AbstractCSSEngine.java:439 org.eclipse.e4.ui.css.core.impl.engine.AbstractCSSEngine.applyStyles(Object, boolean)', 
Time All Calls together in ms ='2', 
Count invoked calls='174', 
}
{
Method='"AbstractCSSEngine.java:363 org.eclipse.e4.ui.css.core.impl.engine.AbstractCSSEngine.applyStyles(Object, boolean, boolean)', 
Time All Calls together in ms ='2', 
Count invoked calls='174', 
}
{
Method='"AbstractCSSEngine.java:371 org.eclipse.e4.ui.css.core.impl.engine.AbstractCSSEngine.isVisible(Element)', 
Time All Calls together in ms ='0', 
Count invoked calls='174', 
}
{
Method='"AbstractCSSEngine.java:456 org.eclipse.e4.ui.css.swt.dom.ControlElement.getParentNode()', 
Time All Calls together in ms ='0', 
Count invoked calls='174', 
}
{
Method='"ControlElement.java:136 org.eclipse.e4.ui.css.core.dom.ElementAdapter.getElement(Object)', 
Time All Calls together in ms ='0', 
Count invoked calls='174', 
}
{
Method='"ElementAdapter.java:376 org.eclipse.e4.ui.css.swt.engine.AbstractCSSSWTEngineImpl.getElement(Object)', 
Time All Calls together in ms ='0', 
Count invoked calls='174', 
}
{
Method='"AbstractCSSSWTEngineImpl.java:98 org.eclipse.e4.ui.css.core.impl.engine.AbstractCSSEngine.getElement(Object)', 
Time All Calls together in ms ='0', 
Count invoked calls='174', 
}
{
Method='"AbstractCSSEngine.java:884 org.eclipse.e4.ui.css.core.impl.engine.AbstractCSSEngine.getCSSElementContext(Object)', 
Time All Calls together in ms ='0', 
Count invoked calls='174', 
}
{
Method='"AbstractCSSEngine.java:946 java.util.HashMap.get(Object)', 
Time All Calls together in ms ='0', 
Count invoked calls='174', 
}
{
Method='"HashMap.java:557 java.util.HashMap.getNode(int, Object)', 
Time All Calls together in ms ='0', 
Count invoked calls='174', 
}
{
Method='"HashMap.java:557 java.util.HashMap.hash(Object)', 
Time All Calls together in ms ='0', 
Count invoked calls='174', 
}
{
Method='"AbstractCSSEngine.java:945 org.eclipse.e4.ui.css.core.impl.engine.AbstractCSSEngine.getNativeWidget(Object)', 
Time All Calls together in ms ='0', 
Count invoked calls='174', 
}
{
Method='"AbstractCSSEngine.java:946 org.eclipse.e4.ui.css.core.impl.engine.AbstractCSSEngine.getElementsContext()', 
Time All Calls together in ms ='0', 
Count invoked calls='174', 
}
{
Method='"AbstractCSSEngine.java:886 org.eclipse.e4.ui.css.core.impl.engine.CSSElementContextImpl.elementMustBeRefreshed(IElementProvider)', 
Time All Calls together in ms ='0', 
Count invoked calls='174', 
}
{
Method='"AbstractCSSSWTEngineImpl.java:97 org.eclipse.e4.ui.css.swt.engine.AbstractCSSSWTEngineImpl.isStylable(Widget)', 
Time All Calls together in ms ='0', 
Count invoked calls='174', 
}
{
Method='"AbstractCSSSWTEngineImpl.java:118 org.eclipse.swt.widgets.Widget.getData(String)', 
Time All Calls together in ms ='0', 
Count invoked calls='174', 
}
{
Method='"Widget.java:568 org.eclipse.swt.widgets.Widget.checkWidget()', 
Time All Calls together in ms ='0', 
Count invoked calls='174', 
}
{
Method='"AbstractCSSSWTEngineImpl.java:117 java.lang.Boolean.equals(Object)', 
Time All Calls together in ms ='0', 
Count invoked calls='174', 
}
{
Method='"ControlElement.java:134 org.eclipse.swt.widgets.Control.getParent()', 
Time All Calls together in ms ='0', 
Count invoked calls='174', 
}
{
Method='"Control.java:1534 org.eclipse.swt.widgets.Widget.checkWidget()', 
Time All Calls together in ms ='0', 
Count invoked calls='174', 
}
{
Method='"ControlElement.java:133 org.eclipse.e4.ui.css.swt.dom.ControlElement.getControl()', 
Time All Calls together in ms ='0', 
Count invoked calls='174', 
}
{
Method='"AbstractCSSEngine.java:378 org.eclipse.e4.ui.css.core.impl.dom.ViewCSSImpl.getComputedStyle(Element, String)', 
Time All Calls together in ms ='0', 
Count invoked calls='174', 
}
{
Method='"ViewCSSImpl.java:77 org.eclipse.e4.ui.css.core.impl.dom.ViewCSSImpl.getComputedStyle(List, Element, String)', 
Time All Calls together in ms ='0', 
Count invoked calls='174', 
}
{
Method='"ViewCSSImpl.java:66 java.util.ArrayList.<init>()', 
Time All Calls together in ms ='0', 
Count invoked calls='174', 
}
{
Method='"ArrayList.java:165 java.util.AbstractList.<init>()', 
Time All Calls together in ms ='0', 
Count invoked calls='174', 
}
{
Method='"AbstractList.java:76 java.util.AbstractCollection.<init>()', 
Time All Calls together in ms ='0', 
Count invoked calls='174', 
}
{
Method='"ViewCSSImpl.java:64 org.eclipse.e4.ui.css.core.impl.dom.StyleSheetListImpl.getLength()', 
Time All Calls together in ms ='0', 
Count invoked calls='174', 
}
{
Method='"AbstractCSSEngine.java:426 org.eclipse.e4.ui.css.core.impl.engine.AbstractCSSEngine.applyInlineStyle(Object, boolean)', 
Time All Calls together in ms ='0', 
Count invoked calls='174', 
}
{
Method='"AbstractCSSEngine.java:630 org.eclipse.e4.ui.css.swt.dom.WidgetElement.getCSSStyle()', 
Time All Calls together in ms ='0', 
Count invoked calls='174', 
}
{
Method='"WidgetElement.java:282 org.eclipse.swt.widgets.Widget.getData(String)', 
Time All Calls together in ms ='0', 
Count invoked calls='174', 
}
{
Method='"Widget.java:568 org.eclipse.swt.widgets.Widget.checkWidget()', 
Time All Calls together in ms ='0', 
Count invoked calls='174', 
}
{
Method='"WidgetElement.java:280 org.eclipse.e4.ui.css.swt.dom.WidgetElement.getWidget()', 
Time All Calls together in ms ='0', 
Count invoked calls='174', 
}
{
Method='"AbstractCSSEngine.java:626 org.eclipse.e4.ui.css.swt.engine.AbstractCSSSWTEngineImpl.getElement(Object)', 
Time All Calls together in ms ='0', 
Count invoked calls='174', 
}
{
Method='"AbstractCSSEngine.java:441 org.eclipse.e4.ui.css.core.impl.engine.AbstractCSSEngine.onStylesAppliedToChildNodes(Element, NodeList)', 
Time All Calls together in ms ='0', 
Count invoked calls='174', 
}
{
Method='"AbstractCSSEngine.java:392 org.eclipse.e4.ui.css.core.impl.engine.AbstractCSSEngine.getStaticPseudoInstances(Element)', 
Time All Calls together in ms ='0', 
Count invoked calls='174', 
}
{
Method='"AbstractCSSEngine.java:515 org.eclipse.e4.ui.css.core.dom.ElementAdapter.getStaticPseudoInstances()', 
Time All Calls together in ms ='0', 
Count invoked calls='174', 
}
{
Method='"AbstractCSSEngine.java:369 org.eclipse.e4.ui.css.swt.engine.AbstractCSSSWTEngineImpl.getElement(Object)', 
Time All Calls together in ms ='0', 
Count invoked calls='174', 
}
{
Method='"AbstractCSSEngine.java:439 org.eclipse.e4.ui.css.swt.dom.CompositeElement.item(int)', 
Time All Calls together in ms ='1', 
Count invoked calls='174', 
}
{
Method='"CompositeElement.java:39 org.eclipse.swt.widgets.Composite.getChildren()', 
Time All Calls together in ms ='0', 
Count invoked calls='174', 
}
{
Method='"Composite.java:490 org.eclipse.swt.widgets.Composite._getChildren()', 
Time All Calls together in ms ='0', 
Count invoked calls='174', 
}
{
Method='"Composite.java:489 org.eclipse.swt.widgets.Widget.checkWidget()', 
Time All Calls together in ms ='0', 
Count invoked calls='174', 
}
{
Method='"CompositeElement.java:40 org.eclipse.e4.ui.css.core.dom.ElementAdapter.getElement(Object)', 
Time All Calls together in ms ='0', 
Count invoked calls='174', 
}
{
Method='"ElementAdapter.java:376 org.eclipse.e4.ui.css.swt.engine.AbstractCSSSWTEngineImpl.getElement(Object)', 
Time All Calls together in ms ='0', 
Count invoked calls='174', 
}
{
Method='"AbstractCSSSWTEngineImpl.java:98 org.eclipse.e4.ui.css.core.impl.engine.AbstractCSSEngine.getElement(Object)', 
Time All Calls together in ms ='0', 
Count invoked calls='174', 
}
{
Method='"AbstractCSSEngine.java:884 org.eclipse.e4.ui.css.core.impl.engine.AbstractCSSEngine.getCSSElementContext(Object)', 
Time All Calls together in ms ='0', 
Count invoked calls='174', 
}
{
Method='"AbstractCSSEngine.java:946 java.util.HashMap.get(Object)', 
Time All Calls together in ms ='0', 
Count invoked calls='174', 
}
{
Method='"HashMap.java:557 java.util.HashMap.getNode(int, Object)', 
Time All Calls together in ms ='0', 
Count invoked calls='174', 
}
{
Method='"HashMap.java:557 java.util.HashMap.hash(Object)', 
Time All Calls together in ms ='0', 
Count invoked calls='174', 
}
{
Method='"AbstractCSSEngine.java:945 org.eclipse.e4.ui.css.core.impl.engine.AbstractCSSEngine.getNativeWidget(Object)', 
Time All Calls together in ms ='0', 
Count invoked calls='174', 
}
{
Method='"AbstractCSSEngine.java:946 org.eclipse.e4.ui.css.core.impl.engine.AbstractCSSEngine.getElementsContext()', 
Time All Calls together in ms ='0', 
Count invoked calls='174', 
}
{
Method='"AbstractCSSEngine.java:886 org.eclipse.e4.ui.css.core.impl.engine.CSSElementContextImpl.elementMustBeRefreshed(IElementProvider)', 
Time All Calls together in ms ='0', 
Count invoked calls='174', 
}

如您所见,像OS.java:2828 org.eclipse.swt.internal.win32.OS.GetPropW(long, long)这样的东西被调用了超过 230,000 次。

问题:

  1. 是否可以完全关闭CSS引擎?
  2. 有人知道我可能做错了什么吗?

https://bugs.eclipse.org/bugs/show_bug.cgi?id=558227 年报告了建议的代码更改问题。

最新更新