Problem : Slow performance with SSRS ReportViewer control in WinForms application

Problem : Slow performance with SSRS ReportViewer control in WinForms application

I have a Windows Forms application that uses SQL Server 2005 Reporting Services and displays the reports in the application using the ReportViewer control. I’m having a significant performance problem. There seems to be a large performance cost to using the ReportViewer control. A report that displays in 30 seconds when run by navigating through the reports directory using IE takes 4 minutes when displayed using the ReportViewer control. Is there some way that I can cause the ReportViewer control to speed up its processing or at least to display the first page of the report as soon as it is available? This app is a port from an Access database and the Access reporting performance is so much better that I’m having customer satisfaction issues. 


Solution : Slow performance with SSRS ReportViewer control in WinForms application

Just a question:
1. Did you tried to keep the report creation on the server (ProcessingMode=Remote)? This might be a reason because when you make it local all the source dataset is sent locally (reproduced from DB into a local DS), then the report is processed, and that may take quite a while, especially when the cusomer doesn’t have a large bandwidth to communicate with the server.
It’s weird that IE responds faster that the windows app, they should be comparable. For IE the report is produced on the server, than is parsed into and HTML, the process is pretty the same for Reporting.WinForms.ReportViewer
2. If your problem persists it might be something about your reports, there are some tricks there too. Instead of drilldowns (if any) you shoud create subreports, that will not grab the whole data (if your view is at group level as for drilldowns) but just the data you need. Some other trick is to pre-prepare the reports – if they are predictable (i.e. the passed month invoices) – and just show them when asked, not produce them each time.
3. Another issue may be the authentification/authorization for the reports of the client that ask for them. The process of authentication/authorization to access a resource (report) may add a certain ammount of time. Try initially to take off all the auth’s and see what’s happening. If there’s the extra time try to find some faster way of auth’s.