Community
Participate
Working Groups
Software: Eclipse 2019-03 EMF Forms 1.20 System: Model Name: MacBook Pro Model Identifier: MacBookPro13,3 Processor Name: Intel Core i7 Processor Speed: 2.9 GHz Number of Processors: 1 Total Number of Cores: 4 L2 Cache (per Core): 256 KB L3 Cache: 8 MB Memory: 16 GB Keyboard navigation around a Grid-rendered table view with details can be very slow when (a) the table has a large number of row and (b) there are a large number of validation problems in the objects presented in the table. For example, on a modern MacBook Pro system (as per above) it can take several seconds for the UI to become responsive when using the keyboard to navigate from one row to the next in a master-detail table with a few thousand objects and a few validation problems on details of each. A significant part of this is in refreshing the table rows for validation updates from the change of child context.
New Gerrit change created: https://git.eclipse.org/r/139358
New Gerrit change created: https://git.eclipse.org/r/139415
Gerrit change https://git.eclipse.org/r/139358 was merged to [develop]. Commit: http://git.eclipse.org/c/emfclient/org.eclipse.emf.ecp.core.git/commit/?id=be5b57b72ee8a6dbd8ad7b8b8b936a17c38ba912
A new proposal to address the performance of keyboard navigation (and the cost of initial editor presentation, too) is to throttle the propagation of validation problems up the view hierarchy, which seems to be where the next major bottle-neck lies after merge of https://git.eclipse.org/r/139358. The idea is to cap the number of problems propagated to the parent view by any element in the view model to at most the 3 or 5 most severe problems. All others would be represented by a roll-up diagnostic that just indicates to the user that there are more problems visible by drilling down into the form. This roll-up would have a severity matching the most severe unreported problem. This would be a major change in the behaviour of the forms UI for problem reporting. As only a small number of problems will be propagated up the view hierarchy, users may perceive this as having data go missing from the UI. But it may also be perceived as an improvement in usability: in cases where a model has a large number of problems, decluttering the UI and letting the user focus on a few problems at a time. In any case, the impact of this proposal on the UI is indicated in the keywords field.
New Gerrit change created: https://git.eclipse.org/r/141155
New Gerrit change created: https://git.eclipse.org/r/141600
Gerrit change https://git.eclipse.org/r/141155 was merged to [develop]. Commit: http://git.eclipse.org/c/emfclient/org.eclipse.emf.ecp.core.git/commit/?id=e715b33036b74cf40ed94171351399303d4f9ad8
New Gerrit change created: https://git.eclipse.org/r/142103
Gerrit change https://git.eclipse.org/r/142103 was merged to [develop]. Commit: http://git.eclipse.org/c/emfclient/org.eclipse.emf.ecp.core.git/commit/?id=205b7c344d0afa79c95627e34c8d80984be19f30
(In reply to Eclipse Genie from comment #9) > Gerrit change https://git.eclipse.org/r/142103 was merged to [develop]. This was the last step to achieving acceptable responsiveness in keyboard navigation of tables of thousands of rows with thousands of validation problems.
The fix is published in 1.22 M1a.