PDFsharp & MigraDoc Foundation https://forum.pdfsharp.net/ |
|
table rendering performance https://forum.pdfsharp.net/viewtopic.php?f=2&t=3750 |
Page 1 of 1 |
Author: | BeSt [ Mon Mar 26, 2018 3:45 pm ] |
Post subject: | table rendering performance |
Hi folks. I know, that this subject has been discussed a lot, but I donĀ“t know if the "error" is perhaps "on my side"... So what is the problem: I am trying to generate some PDFs which consist mainly of tables. The length of the table can vary from 12 columns, 4 rows up to 12 columns 3000-4000 rows. I know that table rendering is very complicated and a bit slow with MigraDoc. My performance is: Generating the whole document (adding paragraphs, tables, formats, images and so on) in less then 1 second. After that, rendering starts and this rendering-process takes for the smallest version mentioned above about 6-7 seconds. A larger version with about 500 table rows takes about 30 seconds. A huge version of the table takes some minutes! Please have a look at my "rendering code lines"... are these correct? Code: MigraDoc.DocumentObjectModel.IO.DdlWriter.WriteToFile(document, "MigraDoc.mdddl") Dim pdfRenderer As PdfDocumentRenderer = New PdfDocumentRenderer() pdfRenderer.Document = document pdfRenderer.RenderDocument() pdfRenderer.PdfDocument.Save(fileName) The most time consuming line is Code: pdfRenderer.Document = document .So is ist possible to speed up this "rendering process"? I hope I could describe what my problem is... Regards BeSt |
Author: | Thomas Hoevel [ Mon Mar 26, 2018 4:16 pm ] |
Post subject: | Re: table rendering performance |
Hi! If you already use the latest MigraDoc version (1.50 RC1) then there is not much you can do. 1. Remove the call to "DdlWriter.WriteToFile" - that's for debugging only. 2. You can show a progress bar while rendering to make the time appear shorter (as there is something moving on the screen). See here: viewtopic.php?f=8&t=3172 3. If there is a speed difference between GDI build and WPF build then use the faster one. 4. Buy a faster computer. "pdfRenderer.Document = document" should be quick and "pdfRenderer.RenderDocument()" should be the slow one. |
Author: | BeSt [ Mon Mar 26, 2018 4:27 pm ] |
Post subject: | Re: table rendering performance |
Hi Thomas. Thank you for your real quick answer! Fantastic how fast you replied! Of course you are right - pdfRenderer.RenderDocument() is the slow one. I am using version 1.50.4740 - is this the newst RC1? So I will display the progress bar... Thank you! Regards BeSt |
Author: | Thomas Hoevel [ Tue Mar 27, 2018 8:41 am ] |
Post subject: | Re: table rendering performance |
BeSt wrote: I am using version 1.50.4740 - is this the newst RC1? The latest version is 1.50.4820-RC1, but table rendering was not optimized in the past few months.I just wanted to make sure you are not using version 1.32. |
Page 1 of 1 | All times are UTC |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |