Slow printing
Hello,
FYI:
I am using CodeGear 2007 latest version, FIBPlus latest version and RB
latest version.
Customer is using Windows XP latest updates.
The problem at my customer is that printing invoices is way too slow[1
minute from start/finish].
When looking into the problem it looks like the LoadFromFile [I am using
.rtf files] takes along time
to execute. Could it be the report device is loaded over and over again?
Any hints or tips would be highly appreciated.
Kind regards,
Jerri
FYI:
I am using CodeGear 2007 latest version, FIBPlus latest version and RB
latest version.
Customer is using Windows XP latest updates.
The problem at my customer is that printing invoices is way too slow[1
minute from start/finish].
When looking into the problem it looks like the LoadFromFile [I am using
.rtf files] takes along time
to execute. Could it be the report device is loaded over and over again?
Any hints or tips would be highly appreciated.
Kind regards,
Jerri
This discussion has been closed.
Comments
Does every report take this long to load? If not, what is different about
these reports than any others? Are the reports located on your local hard
drive? As a test try pausing the application during the time it seems to
hang and check the call stack to see where in the RB source the slowdown is
occuring.
--
Regards,
Nico Cizik
Digital Metaphors
http://www.digital-metaphors.com
Nico Cizik
Digital Metaphors
http://www.digital-metaphors.com
Yes, every report take this long to load. No, the reports are not located on
the locak hard drive but on a Windows 2003 server which is accessed by
Windows XP clients. Looks like the Loading from Stream is causing the delay.
Kind Regards,
Jerri
I also see a load of loading and unloading of printer drivers. Can it be
that these
drivers are loaded over and over again with every call for an invoice to
print?
Kind Reards,
Jerri
ReportBuilder does not directly interact with any printer drivers. It uses
generic Windows API commands which in turn communicate with each driver. If
you save one of these reports on your local hard drive and load it from file
(or stream it and load from stream) do they still take as long to load?
--
Regards,
Nico Cizik
Digital Metaphors
http://www.digital-metaphors.com
Nico Cizik
Digital Metaphors
http://www.digital-metaphors.com
I have followed your suggestion and put the reports all on the
local hard drive. Unfortunately, this had little/no effect. Allthough
RB does not directly interact with the print drivers themselves I
do see a lot of loading and unloading. Is there a way to keep the
drivers in memory to prevent this? Perhaps this could improve the
situation.
Another way would be to use multi threading. Since I have no
experience with this I wondered if there was an example available
explaining this?
Kind Regards,
Jerri
There can be many reasons that it will take a while for a report to load and
print. Typically the culprate is accessing the data needed to generate the
report. If your database is located on a separate server or you are
accessing large amounts of data, a slowdown can occur.
ReportBuilder does have the Background Print feature which allows you to
print a report in the background (as a new thread) while still retaining
control of your applicaiton in the main thread. You can enable background
printing using the Report.BackgroundPrintSettings property. Also take a
look at the help topic for this property in the RBuilder help for more
information. Below is a collection of background print demos we have
available that may help you get on the right track.
http://www.digital-metaphors.com/tips/BackgroundPrintDemos.zip
--
Regards,
Nico Cizik
Digital Metaphors
http://www.digital-metaphors.com
Nico Cizik
Digital Metaphors
http://www.digital-metaphors.com