Home Subreports

Seeking advice on performance when using a subreport

Delphi 11.3, RB 22.03

I created a new report that includes a subreport. This is a typical master/detail scenario, with the subreport at the bottom of the master detail band and using pbChild PrintBehavior. When printing to screen, the preview form appears quickly but there is sometimes a significant delay of approx 15 seconds before the first page of the report appears.

The delay is not when opening either dataset. Both datasets open in 20 ms or less. The delay occurs sometime after MasterDataSet.AfterOpen and before DetailDataSet.BeforeOpen.

Any advice regarding possible causes would be appreciated. I have not seen this behavior with any other report. If required, I will set up a profiler to try to pinpoint the cause. Since the issue is intermittent, that could take significant time. I am hoping someone already has an ideal of what could cause the delay.


  • Hi Jon,

    We have not heard of this issue with the latest version of ReportBuilder.

    Which database and connectivity are you using? Are you using DADE to set up your master-detail datasets or are these pipelines on a form?

    How does this report differ from other reports that do not have the issue? It appears that the slowdown occurs during the initial data access stage of generation (before the report itself has begun processing). Perhaps there is something occurring on the DB side that is causing the slowdown (stored proc execution, view creation, etc.).
    Best Regards,

    Nico Cizik
    Digital Metaphors
  • I am now seeing the issue on a "simple" single dataset report. So I will dig deeper on my end.

    Data is coming from SQL Server via ADO data components (typically TADODataSet). The delays are not while waiting for data to be retrieved, based on benchmarks between BeforeOpen and AfterOpen dataset events.

    The reports use TppDBPipeline on the form.

    I may have additional questions once I can narrow the "location" of the delay further.
Sign In or Register to comment.