Speeding up rendering when image is repeatedly used

Stimulsoft Reports.WEB discussion
Post Reply
User avatar
John
Posts: 132
Joined: Tue Feb 01, 2011 3:56 am
Location: England

Speeding up rendering when image is repeatedly used

Post by John »

Hallo Support,

I am producing a series of reports using c# and the latest .net version of your product. Some of the reports take a long time to render as there are a lot of images, as in the screen shot, which shows a small portion of a report table. The same few images are used repeatedly in the report. Is there a way of caching these images so that the report does not have to render each one individually?

Thanks and regards,

John Kitching
Attachments
1395.2011-11-01_102348.jpg
1395.2011-11-01_102348.jpg (30.36 KiB) Viewed 2774 times
HighAley
Posts: 8430
Joined: Wed Jun 08, 2011 7:40 am
Location: Stimulsoft Office

Speeding up rendering when image is repeatedly used

Post by HighAley »

Hello.
jkitching wrote:I am producing a series of reports using c# and the latest .net version of your product. Some of the reports take a long time to render as there are a lot of images, as in the screen shot, which shows a small portion of a report table. The same few images are used repeatedly in the report. Is there a way of caching these images so that the report does not have to render each one individually?
There is no image caching now. But we can try to do something, if you'll send us your report template with sample data to analysing.

Thank you.
User avatar
John
Posts: 132
Joined: Tue Feb 01, 2011 3:56 am
Location: England

Speeding up rendering when image is repeatedly used

Post by John »

Hallo Aleksey,

it's not so easy to send you any meaningful data because the table is created from scratch in code and does not use a template. However, I've saved the report as an mrt file after rendering and also saved the data as xml. This is all in the zip, together with the xsd file. I had to modify the mrt a bit in order to get it to produce an output but you should be able to see a part of the table rendered.
As you can see, each image is stored as a byte array in the data table. Rendering the full table and converting the rendered report to a byte array when I run it in my code takes a while and any possibilities you can see of speeding things up would be greatly appreciated.

Best regards,

John K.
Attachments
1405.23053.zip
(24.49 KiB) Downloaded 357 times
HighAley
Posts: 8430
Joined: Wed Jun 08, 2011 7:40 am
Location: Stimulsoft Office

Speeding up rendering when image is repeatedly used

Post by HighAley »

Hello.

Could you send us your code where we can see what do you do with report.
What Data Source do you use?
Do you just show it in Web or export to any format?

Thank you.
User avatar
John
Posts: 132
Joined: Tue Feb 01, 2011 3:56 am
Location: England

Speeding up rendering when image is repeatedly used

Post by John »

Hallo Aleksey,

the data source is a simple data table. The rendered report is exported to a stream and then converted to a byte array to be stored in the database. In my test program it is written to a pdf file.

using (var stream = new MemoryStream())
{
stiReport.ExportDocument(StiExportFormat.Pdf, stream, settings);
return stream.ToArray();
}

Unfortunately, I cannot send you the project as I do not have permission from my company to do so. As many classes in various assemblies are called in the project in order to produce the table, it is not possible for me to extract meaningful lines of code which would clearly show what I am doing. Can you see any other possibility?

Regards,

John K.
Alex K.
Posts: 6488
Joined: Thu Jul 29, 2010 2:37 am

Speeding up rendering when image is repeatedly used

Post by Alex K. »

Hello,

It is hard to advise you anything, we need to investiagte the issue.
As an option, please try to set the DataColumn to the Image component instead of the ImageData. Also try to use the data band instead of the table component.

Thank you.
Post Reply