Designing for optimal viewer performance
Actuate BIRT viewers support a feature called progressive viewing, which displays the first few pages as soon as they are generated instead of waiting until the entire report is generated. For long reports, this feature can significantly reduce the amount of time a user waits before the first page appears.
The design and functionality of a report affect the time it takes for BIRT to generate the initial pages. A major factor that hinders performance is the retrieval of data from an underlying data source, and the storage and processing of all that data before BIRT can render the first report page. Optimal viewing performance occurs when BIRT renders a page as soon as the data for that page has been retrieved, before data for the entire report is processed.
To achieve optimal progressive viewing performance, observe the following guidelines:
*Ensure that data sets return only the data that you want to display in each report element (tables, lists, or charts).
For example, if you must filter, group, sort or aggregate table data, perform these tasks at the data source level. To manipulate data at the table level, BIRT not only has to retrieve and store more data, it also has to spend more time processing the data.
*If, as recommended in the previous point, you create a data set to return data rows that are already grouped, disable the group sorting in BIRT, which otherwise occurs when you create a group using the group editor.
To disable group sorting in BIRT, select the table in which grouping is defined. In Property Editor, choose Advanced, then set the Sort By Groups property to false.
*If creating nested tables (a table in another table) as is common in master detail reports, create a data set for each table instead of creating a single data set that both the outer and inner tables use.
*Avoid the following items:
*Top n or bottom n filters. These filters require that BIRT process an entire set of data to determine the subset of data to display.
*Aggregations that require multiple passes through data, for example, subtotals as a percentage of a grand total.
*Summary tables. Even though these tables do not display detail rows, BIRT must still process all the detail rows to calculate and display the summary data.