Best Practices for Optimizing Report Templates

If you are experiencing long rendering times or performance bottlenecks in your report templates, here are some best practices to optimize your RML templates and improve overall performance.

1. Adjust RML Template Properties

  • Disable Keep Page Count: This avoids holding the entire report in memory for page count calculations. Keep it enabled if you require page numbers.

  • Disable Cache All Properties: This prevents redundant style checks for report components in JavaScript.

    To do this:
    Right-click on your RML template and go to Properties:

2. Disable Table Mode in Data Sources (.ds Files)

By default, Table Mode loads all records into memory for sorting, grouping and aggregation, which can be memory intensive if not in use.

To turn off Table Mode:

  • Right-click your .ds file.
  • Open the DataSource Configuration Wizard.
  • Uncheck the Table Mode option on the right of the Name textbox.
    image

3. Time Your Data Sources:
The rendering process only begins after all data sources have been executed and their data sets returned. Identify the execution time for each data source to pinpoint potential bottlenecks.

4. Avoid Deep Subreport Recursion:
Using multiple subreport levels introduces recursive calls, which can increase processing time. Consolidate data where possible to minimize sub report levels.

Note:
For a deeper dive into how these settings impact memory usage and rendering speed, refer to pages 14 and 15 of the Elixir Repertoire Designer User Manual.

Elixir Report Designer User Manual.pdf (2.4 MB)