Projects:ImproveRenderingPerformance
Contents |
Status
- Stage: Definition/Proposal
- Planned Release: MP5
- Status Notes: Proposal
Team
- Contact: Martin Taal (martin.taal@openbravo.com
Definition
There are 2 main areas in which performance improvements can be achieved:
- remove record components usage from grid: record components are a great Smartclient feature but they are somewhat heavy for Smartclient to incorporate in the grid, as it requires exact layouting of canvases inside the grid. Currently the edit/form and save/cancel buttons on each row are rendered using record components. The proposal is to replace this with direct html generation.
- create only the visible structure of a window: currently when opening a window all the tabs (over multiple levels) are created in-memory. Only the visible ones are drawn (html is generated), that's fine. But still we can delay the actual creation of the javascript in-memory structure also until a later point in time (when the tab gets selected).
Design
Technical specification: Replace RecordComponents
Currently record components are used to visualize the form/edit buttons and the save/cancel buttons. This needs to be replaced with generating direct html and using the cellformatter to output this html to the grid.
Technical specification: Delay view structure creation
The tabselected event should be used to initiate the view structure creation of a tab (and its child tabs). Also the creation of the grid/form and child tabsets of each tab should be delayed.
The following functionalities need to be reworked:
- drag/double click of tab headers, re-layouting of child tabs
- window personalization: when the window personalization gets loaded from the server it currently assumes that the complete view structure has been build up. This needs to be changed so that the window personalization is delayed until a view gets initialized.
- saving window personalization settings: need to be able to work with partially loaded/created view structures
User experience design
The change should not result in any changed user experience. It needs to be tested on all relevant browsers.
Planning
Planned for MP5.
Development
Tracking
This feature development is tracked using the following issue(s):
Documentation
No documentation is required for this change.