Question Crystal Reports Slow Loading

Tom

Well-known member
Joined
Aug 23, 2005
Messages
746
Programming Experience
5-10
I’m having a problem with the load time of the crystal reports object in general and looking to increase the processing speed. In my project an order is processed and depending on the order; one of about a half dozen different reports is selected to be printed. Also depending upon which report is needed, I may need to programmatically switch printers although this also doesn’t seem to be the cause of the slowness problems. The majority of the time the report is sent directly to the appropriate printer although I do have options to allow the user to view the report first if the option is selected.

The processing of the data for the report is completed very fast & efficiently; it is then passed directly to the report. This part is not a problem. The most time consuming part of the process is simply the loading of the CR object. It may take only 3 seconds to process and send the report to the printer but out of that, two thirds of the time is the loading of the control which I’m trying to eliminate since printing reaches tens of thousands per day.

Is there a more efficient way of using crystal or a better reporting service such as Sql reporting services that may be faster? Also is there a programmatic way to shut off that tooltip balloon that appears saying “This document was sent to the printer” with every printed report?
 
Also is there a programmatic way to shut off that tooltip balloon that appears saying “This document was sent to the printer” with every printed report?

Simple way

Registry way

As for the rest of your post, I had the same sort of issue (but not with CR). In the end, I add the necessary report to a 'queue', and process the queue on a different thread. I'm not sure if this would be possible with CR, but would it help?
 
thanks for the registry info. Im not sure a background worker will help in this case since I need the order to completly finish and be updated before moving to the next one.
 
As for the rest of your post, I had the same sort of issue (but not with CR). In the end, I add the necessary report to a 'queue', and process the queue on a different thread. I'm not sure if this would be possible with CR, but would it help?

Still hoping to find a faster way to send the report to the que in the first place.

The reportdocument isnt being loaded since its not going to be available for viewing, just connecting the filled dataset to the report datasource (less then a dozen total records/fields on the report and im not counting this fill time as part of the problem) and sending directly to the printer. This is still averaging 2-3 seconds, not to complete printing just to finish sending to the printer. I cant see why it takes so long to set a few lines of text to a document and send directly to the printer, I would think this could be done in under a second.

I'm looking for suggestions on improving this speed and/or suggestions outside of CR that might be faster to produce these forms? Does any different reporting services offer faster results or perhaps working directly with a printdocument?

As suggested I would like to use a background worker for the printing but still want to fix/improve the speed issue first. I do have a future question about doing this with a background worker, is there any problems if say the first background worker isnt finished sending to the printer before the next record is being sent?
 
Back
Top