Project: SWT
Bug 100040 Slowdown between 3.1 RC1 and N20050602 due to change to ImageList
Reported: 2005-06-14 14:19:10 | Status: resolved fixed

build N20050602 Several of the UI performance tests got slower between RC1 and N20050602, on Windows. I tried running one of them, the OpenCloseWindowTest on N20050602, and also with N20050602+RC1's SWT. Here are the numbers (on Win2K): N20050602: testOpenCloseWindows:org.eclipse.debug.ui.DebugPerspective Elapsed Process: 844 ms Elapsed Process: 828 ms Elapsed Process: 854 ms average: 842 N20050602 with SWT from RC1 (I20050527-1300): testOpenCloseWindows:org.eclipse.debug.ui.DebugPerspective Elapsed Process: 751 ms Elapsed Process: 757 ms Elapsed Process: 731 ms average: 746ms increase: 96 over 746 = 13% slower I've only included the times for the debug perspective. The other perspectives showed less of a change, and seemed to correlate with the numer of icons (either in the menus or toolbars or both). The debug perspective has the most icons. I'm suspicious of the ImageList change to always specify OS.ILC_MIRROR. I'll see if unwinding that single change makes a difference.

Files changed in fix:
bundles/org.eclipse.swt/Eclipse SWT/win32/org/eclipse/swt/widgets/Button.java bundles/org.eclipse.swt/Eclipse SWT/win32/org/eclipse/swt/widgets/Display.java bundles/org.eclipse.swt/Eclipse SWT/win32/org/eclipse/swt/widgets/ImageList.java bundles/org.eclipse.swt/Eclipse SWT/win32/org/eclipse/swt/widgets/Menu.java bundles/org.eclipse.swt/Eclipse SWT/win32/org/eclipse/swt/widgets/TabFolder.java bundles/org.eclipse.swt/Eclipse SWT/win32/org/eclipse/swt/widgets/Table.java bundles/org.eclipse.swt/Eclipse SWT/win32/org/eclipse/swt/widgets/ToolItem.java bundles/org.eclipse.swt/Eclipse SWT/win32/org/eclipse/swt/widgets/Tree.java