Reporting Services and speeding up reports with Images


Recently I have been working on some reporting services report interfaces and do hope to blog about this in more detail later.

Until then though I would like to share some pain points that I have had particularly when using images within Reporting Services.

Two issues come to mind:-

  • slow rendering
  • columns containing images not being sized correctly.

Slow Rendering
So one of the issues that I had is slow rendering of the reports. To explain the scenario a particular column uses images to display the status of the column. The images are changed via an functional express based on a status id field. For a certain status the client did not want to see an image, to achieve this, the image was set to “” to indicate no image.

However, as more images were used the rendering of this column became really slow. To solve this, I created an image called ‘blank’ that was a 1×1 pixel PNG image which is embedded in the report. Instead of using “”, I would use “blank”. This seems to speed things up, in fact doing some testing, the report now loads up after a refresh of IIS app pools and the Reporting Services report in 24 seconds opposed to 85 seconds!

Columns Not Sized Correctly
When the report was rendered columns that had images would sometimes not size correcly leaving a big space after the image. Sometimes the column would fix itself and other times not, it took me a long time to get a solution and this is what I had to.
First ensure that the image properties->size is set to original. Also add padding of Top=1 and Left=1.

This combination seemed to fix the issue.

Hope that helps.

>Been lazy and new project info.


>Well I have been a little lazy on the blogging front though this has been due to a number of reason including the following:-

  1. I have been lazy
  2. I got married
  3. I got a new job and have been busy doing SharePoint stuff with a new project, more to come soon (when I get some time and energy)
  4. .. thats enough excuses.

Anyway the recent project has been a risk management system at a well known bank, and its been an interesting and tough one. I have been the lead architect and we have designed a SharePoint front-end to a SQL backend db, using SharePoint to help with authentication, navigation and any of the core components that will help out.
The solution is also making heavy use of Reporting Services to provide report and also do some navigation to allow users to “drill-down” to find out whats going on with the business.

So far so good and the project which started off as being a month project, which was going to be impossible has not grown into a four month project. I will be shortly writing up our approach and hopefully someone on the web will find it interesting. Its defintately interesting and I think we are doing some cool SharePoint things… though I’ll let you be the judge of that!