Deferred Rendering and Deferred Initialization

The initial load time for complex forms can hinder the user experience. There can be a delay if the user interface is initially hidden within the tabs of a tabbed pane. In such scenarios, using deferred rendering or deferred initialization of panes can help to reduce 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:
    • The form is completely initialized.
    • Form open event has fired.
    • All the form open rules have been executed.

      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.
    Note: Deferred initialization imposes restrictions on the types of references that can be made to the child controls of the pane. Refer to Deferred Rendering and Deferred Initialization Constraints for details.

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.