Community
Participate
Working Groups
At the moment the buildNode(..) method of INavigationAssembler is allways called on the user interface thread. As the implementation of buildNode(..) can be time consuming there should be a way (API?) to build the node on a parallel worker thread for a more responsive user interface.
Created attachment 189255 [details] Patch for async-buildNode(..) Patch for async-buildNode(..) + Example
The patch can lead to a high cpu cycle consumtion for at least one processor. It should be modified as follows: while (!shell.isDisposed()) { if (!display.readAndDispatch()) { display.sleep(); } } Sending an explicit display.wake(); should not be required as #isFinished is set at the end of the #runJob() method and #finalUpdateUI() is executed on the display thread afterwards thus quitting the above dispatch loop.
Created attachment 189675 [details] New patch for async navigation support - adds NavigationNode.createNodeAsync() method - reduces the performance problem, while dispatching the ui-events
Created attachment 189788 [details] Updated patch with fix for LnfUpdater
Patch applied