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.

Thoughts? Comments about this post? Please leave them here..

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.