Copyright © TIBCO Software Inc. All Rights Reserved
Copyright © TIBCO Software Inc. All Rights Reserved


Chapter 5 Performance Improvements : Deferred Rendering and Deferred Initialization

Deferred Rendering and Deferred Initialization
The key limiting factor in the user experience with forms is the initial load time for complex forms. There can be a noticeable delay especially in cases where the user interface is initially hidden within the tabs of a tabbed pane. In such scenarios using either deferred rendering or deferred initialization of panes can help to achieve a quicker initial load-time. By using these features, the rendering of panes on a page is deferred until after the basic framework of the form is loaded and is operational.
How do Deferred Rendering and Deferred Initialization Improve Performance?
When a pane is marked to use deferred rendering or deferred initialization, the following optimizations are applied:
Deferred Rendering: The rendering of the pane is deferred till the pane is made visible by the user. The panes that are visible at initial load-time are rendered when:
In tabbed panes, the rendering of each tab is deferred until the user clicks on the tab to view the contents.
Deferred Initialization: The deferred initialization feature can only be used for panes that are marked to use deferred rendering. The children of the pane marked to use deferred initialization are not initialized until the pane needs to be rendered. This means that the pane object itself is always instantiated and available, but any nested children are not initialized.
Configuration of Deferred Rendering and Deferred Initialization
Panes support the deferred rendering and deferred initialization functionality. You can configure these features on the Properties view of a pane. Both the options are available on the Properties tab.
Defer Rendering: Check box used to mark a pane to use deferred rendering. If selected, the user interface for the pane is not rendered until the pane is made visible. This property can be set only at design-time and it cannot be updated using bindings or using the API.
Defer Initialization: Check box used to mark a pane to use deferred initialization. This check box is enabled only if the Defer Rendering check box is selected. If selected, the children of the pane are not initialized until the pane needs to be rendered.
Deferred Rendering and Deferred Initialization Constraints
Model Validations
Runtime Functionality
Handling Bindings to Deferred Panes and Child Controls
If the Defer Initialization check box is cleared, then bindings, script references, and computation action references to the pane and its children are not affected.
If the Defer Initialization check box is selected, then any references to child or nested controls using scripts or computation actions are flagged with an error-level problem marker. You can make use of events tied to the pane and its children in rule definitions. Binding to panes are always active and working but the bindings to child and nested controls are inactive until the pane and child controls have been fully initialized.
If the Defer Rendering check box is selected, and the Defer Initialization check box is cleared, bindings to panes and controls are active even if the pane is not currently rendered. The internal model of the pane or child controls can be updated using scripts, bindings, or computation actions. The effects of such updates are visible after the pane is rendered.
Handling Validations in Deferred Panes
An un-rendered pane is treated the same as an invisible pane with respect to the suppression of validation checking.
Loading Deferred Panes
Panes marked to use deferred rendering display a spinning wheel to indicate that the content is being initialized. This loading indicator is visible only if there is a noticeable delay in rendering the pane.

Copyright © TIBCO Software Inc. All Rights Reserved
Copyright © TIBCO Software Inc. All Rights Reserved