Bug 132261 - Project explorer : when you scroll using up/down keys, is slow : GMF tree selection change listener takes time
Summary: Project explorer : when you scroll using up/down keys, is slow : GMF tree se...
Status: CLOSED FIXED
Alias: None
Product: GMF-Runtime
Classification: Modeling
Component: General (show other bugs)
Version: 1.0   Edit
Hardware: PC Windows XP
: P3 normal
Target Milestone: 1.0.1   Edit
Assignee: Linda Damus CLA
QA Contact:
URL:
Whiteboard:
Keywords: performance
Depends on:
Blocks:
 
Reported: 2006-03-16 17:12 EST by Raj Mandayam CLA
Modified: 2010-07-19 21:55 EDT (History)
1 user (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Raj Mandayam CLA 2006-03-16 17:12:39 EST
I know this sounds like a peeve, but in this large product with many plugins
I have a workspace with many j2ee/ejb/web projects, and I am in the project
explorer view and I use the up/down keys to navigate from any node/resource in
the explorer to another, I see it takes much more time than if I were to use a
similar view
say Package Explorer, (not navigator, i wont go there as its simplistic)


 On navigating to each node/resource, the selection change listener in the tree of the view is called, one of the listeners is

org.eclipse.gmf.runtime.common.ui.action.AbstractActionHandler.selectionChanged(..)
which calls
o.e.gmf.runtime.common.ui..GlobalAction.refresh() 

everytime

This method is sluggish, not sure why it takes time 

Note time taken below, when I scrolled from the top to bottom of the view 
using up/down button, its only indicative

Name 	 Time (ms) 
	 org.eclipse.gmf.runtime.common.ui.action.AbstractActionHandler.selectionChanged(SelectionChangedEvent)
	4,776	100 %
		 org.eclipse.gmf.runtime.common.ui.action.global.GlobalAction.refresh()
	4,776	100 %
			 org.eclipse.gmf.runtime.common.ui.action.global.GlobalAction.getGlobalActionHandlerData()
	4,776	100 %
				 org.eclipse.gmf.runtime.common.ui.action.AbstractActionHandler.getSelection()
	4,756	100 %
					 org.eclipse.jst.common.navigator.internal.workingset.views.CommonWorkingSetViewer.getSelection()
	4,756	100 %
						 org.eclipse.jface.viewers.StructuredViewer.getSelection()
	4,756	100 %
							 org.eclipse.jface.viewers.AbstractTreeViewer.getSelectionFromWidget()
	4,756	100 %
								 org.eclipse.jface.viewers.TreeViewer.getSelection(Control)
	4,756	100 %
									 org.eclipse.swt.widgets.Tree.getSelection()
	4,756	100 %
										 org.eclipse.swt.internal.win32.OS.SendMessage(int, int, int, TVITEM)
	4,756	100 %
											 org.eclipse.swt.internal.win32.OS.SendMessageW(int, int, int, TVITEM)
	4,756	100 %
				 org.eclipse.gmf.runtime.common.ui.action.global.GlobalAction.getGlobalActionHandlerData(IStructuredSelection)
	20	0 %
Comment 1 Linda Damus CLA 2006-08-10 14:43:22 EDT
Fixed.  Global actions contributed to other workbench parts (e.g., diagram editor) were being refreshed when the selection changed in the Project Explorer.  Now the global actions will only only be refreshed when the selection changes in the part for which they were contributed.
Comment 2 Raj Mandayam CLA 2007-06-06 14:03:52 EDT
closed
Comment 3 Eclipse Webmaster CLA 2010-07-19 21:55:57 EDT
[GMF Restructure] Bug 319140 : product GMF and component
Runtime Common was the original product and component for this bug