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
Speeding up rendering when image is repeatedly used
Speeding up rendering when image is repeatedly used
- Attachments
-
- 1395.2011-11-01_102348.jpg (30.36 KiB) Viewed 2774 times
Speeding up rendering when image is repeatedly used
Hello.
Thank you.
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.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?
Thank you.
Speeding up rendering when image is repeatedly used
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.
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
Speeding up rendering when image is repeatedly used
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.
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.
Speeding up rendering when image is repeatedly used
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.
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.
Speeding up rendering when image is repeatedly used
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.
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.