View-based delta rendering is used to improve the performance of user interaction in complex applications when only a part (view) of the displayed page has to be updated. Only the view that has been changed is newly rendered. If several views have been changed, the view rendered is the one containing the changed views and any views beneath it, which means that only a certain part of the page is replaced. For programming, this means that you should avoid unnecessary context updates, and avoid making changes to view elements.
By default all Web Dynpro applications run without delta rendering. You can activate delta rendering for an individual application using application parameter wdDeltaRendering in the following way:
Setting Delta Rendering Using Application Parameter WDDELTARENDERING
or
Setting Delta Rendering Using URL Parameter sap-wd-DeltaRendering
Call the URL of the application for which you want to activate delta rendering.
Activate delta rendering by adding URL parameter sap-wd-DeltaRendering with value ON to the URL.
Choose Enter.
Note
Note that URL parameter sap-wd-DeltaRendering overrides application parameter WDDELTARENDERING.
In Web Dynpro Explorer call up the properties of your Web Dynpro application by double-clicking on the application.
Choose tab page Parameters.
In change mode using F4 help for Parameter choose entry WDDELTARENDERING.
Insert the associated value ON.
Save your entries.
We recommend you use delta rendering for complex pages on which usually only a part of the page is updated.
Critical for the success of delta rendering are:
The design of each view
Read-write access is assigned only to objects to be updated (context, view elements)
Example |
Procedure |
---|---|
A page contains several large tables |
Insert each table into a separate view |
One page contains a timed trigger that polls the system for updates |
Insert each table into a separate view Note The use of a timed trigger as the polling method may affect performance. End of the note. |
A page contains elements that are not supported by delta rendering (see below) |
Insert the elements not supported by delta rendering into separate views |
A page contains an area that is not to be updated due to an InputField onEnter or onChange event |
Insert the elements to be updated and the triggering InputField into a separate view. |
The purpose of delta rendering is to update only the area of the displayed page that has been changed by the application. The granularity for these updates is a view. Only one area at a time is updated, and accordingly the most inward view of all changed views is refreshed. In the most unfavorable case this is the top view of the application.
To determine which views have to be updated, any changes to the Web Dynpro programming interface that could lead to a change in the visualization of a view are registered:
Navigation
Change to the UI element tree
Personalization change
Changes to Context and ContextNodeInfos
Messages
No check is made whether this acually results in a changed value. Just a call to a changing method results in the view being updated.
User interaction with screen elements also result in the view being updated.
Note
Context Mapping
When using context mapping, a change operation to a mapped context node and its subnodes results in an update to eachview that maps to these nodes. It is irrelevant whether the subnodes or attributes in the development environment have been copied to the mapping or not.
Since delta rendering already starts before the "costly" rendering process, in appropriate scenarios significant performance improvements can be achieved in the server as well as in the Web Browser.
The following UI elements are not (yet) supported by delta rendering:
TimedTrigger
Gantt
Network
InteractiveForm
OfficeControl
For this reason a view with one or more of these UI elements is updated with the roundtrip.
If an application uses very fine-granular change operations (for example SET_ATTRIBUTE calls for each field of a context node instead of BIND_TABLE), delta rendering can lower performance.
Delta rendering errors may occur due to JavaScript errors when calling document.getElementById(...) after a server roundtrip, or because screen areas have not been updated. If errors occurs see SAP Note 1021981.
You can find information about delta rendering and the trace tool under Tuning and Troubleshooting.