Home Devices
New Blog Posts: Merging Reports - Part 1 and Part 2

Slow printing

edited April 2008 in Devices
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

Comments

  • edited April 2008
    Hi Jerri,

    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

    Best Regards,

    Nico Cizik
    Digital Metaphors
    http://www.digital-metaphors.com
  • edited April 2008
    Hello Niko,

    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

  • edited April 2008
    Goodmorning,

    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



  • edited April 2008
    Hi 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

    Best Regards,

    Nico Cizik
    Digital Metaphors
    http://www.digital-metaphors.com
  • edited April 2008
    Hello Nico,

    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




  • edited April 2008
    Hi 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

    Best Regards,

    Nico Cizik
    Digital Metaphors
    http://www.digital-metaphors.com
This discussion has been closed.