All of our reports that are being generated are straight from the WinDataGrid and do not contain any images. The Export command uses the Grid and ISection parameters. We're noticing that the performance of this takes the majority of the processing time even with small (less than 1000 rows) reports. What can be done to improve the performance of the WinGridDocumentExporter?
Thank you
Clay Seifert
Hi Clay,
600 rows with 15 columns does not seem like a lot of data to me. 10 seconds seems a bit slow, but not unreasonably so. The export process has to create a whole lot of objects. It clones the grid's layout, bands, columns, and rows.
I just did a quick test with 19 columns and 600 rows and it took about 7 seconds on my machine.
So my guess is that you might have code in some of the grid or exporter events that might be slowing things down a bit.
But without knowing more about exactly what's in your grid and what events you are handling I cannot really guess why it's not as fast as you'd like.
You might want to take a look at the WinGrid Performance Guide to see if you can make your grid more efficient.
If that does not help, then see if you can create a small sample project which demonstrates the issue and post it here. I'd be happy to take a look at it and see if there's anything that can be done to speed it up.
ClaySeifert said: Hey Mike Sorry that I wasn't clear. We're using NetAdvantage 10.2 and the reports have 15 columns and we average around 600 rows taking approximately 10 cpu seconds What I meant was the area that is handling the exporting is taking on average 80% of the total cpu time with the extraction of the data and loading it into the grid taking 20%. As the number of rows increases abovew 1000 rows, the percentage of time spent exporting increases dramatically. I hope that this clears up my statement. What I'm looking for is suggestions and/or techniques to improve the export processing. Thanks Clay
Hey Mike
Sorry that I wasn't clear.
We're using NetAdvantage 10.2 and the reports have 15 columns and we average around 600 rows taking approximately 10 cpu seconds What I meant was the area that is handling the exporting is taking on average 80% of the total cpu time with the extraction of the data and loading it into the grid taking 20%. As the number of rows increases abovew 1000 rows, the percentage of time spent exporting increases dramatically.
I hope that this clears up my statement. What I'm looking for is suggestions and/or techniques to improve the export processing.
Thanks
Clay
I doubt there's much you'll be able to do unless Infragistics sees if there are ways to optimize their own export method. If you consider what the export process does it makes sense that it takes a little processing time to generate the report. It's accessing the UltraGrid multiple times as it prepares the data from the grid to output, also the UltraGridDocumentExporter has the other areas of your report to process, and finally exporting to a PDF/TXT/XPS format.
Your report using the grid with 600 rows should be processing in roughly 4-6 seconds (although it could take more or less depending on the power of your computer). An export of 1900 rows for me takes around 6-7 seconds. I've noticed the publish method is pretty consistent with timing at around 1-2 seconds for the writing of the file format, and the actual processing of the grid with the export method varies depending on how much is in it and how complex the structure.
I'm not sure what you mean.
ClaySeifert said:We're noticing that the performance of this takes the majority of the processing time
The majority of what processing time?
How long is it taking to export less than 1000 rows?
How many columns do you have?
What version of the controls are you using?