Performance problems with large reports
Hi,
I have a customer list with over 6.000 customers. When I display them in a
simple report, the TppViewer needs about 40 seconds to display them (about
260 pages).
Pass setting ist set to two pass. The Query (IBO) is set to AutoFetchAll, so
that the query reads all rows.
How can I display the first page immediately and that the TppViewer
component creates the rest of pages in a background process?
Another problem: on terminating my application, the process is active for
several minutes with over 90% of cpu usage, before it terminates.
Greets,
Juergen.
I have a customer list with over 6.000 customers. When I display them in a
simple report, the TppViewer needs about 40 seconds to display them (about
260 pages).
Pass setting ist set to two pass. The Query (IBO) is set to AutoFetchAll, so
that the query reads all rows.
How can I display the first page immediately and that the TppViewer
component creates the rest of pages in a background process?
Another problem: on terminating my application, the process is active for
several minutes with over 90% of cpu usage, before it terminates.
Greets,
Juergen.
This discussion has been closed.
Comments
If your report is set to psTwoPass, ReportBuilder will process the page and
band spacing for every page in your report before printing anything to the
screen. If you do not want RB to do this, you will need to make it a one
pass report. Some other things you might try to speed up/ save resources
are:
1. Turn the Report Outline off.
2. Be sure Report.CachePages is set to False.
3. Index your queries to make data access quicker.
--
Nico Cizik
Digital Metaphors
http://www.digital-metaphors.com
On large reports, I have (1) moved to an in-memory dataset or (2) moved to
JIT pipeline controls.
And the later can be much quicker then the former. I am just working on a
report that is quite complicated that was ~150 pages. With in-memory
datasets it took over 28 minutes to create a PDF. With JIT piplines (using
class structure rather then datasets) it takes 8 minutes.
Ed Dressel