Do you own a Debenu Quick PDF Library version 7, 8, 9, 10, 11, 12, 13 or iSEDQuickPDF license? Upgrade to Debenu Quick PDF Library 14 today!
Implementing a new renderer |
Post Reply |
Author | |
geoionescu
Beginner Joined: 23 Jan 12 Status: Offline Points: 5 |
Post Options
Thanks(0)
Posted: 23 Jan 12 at 9:03PM |
Hello there QuickPDF developers and users,
I'm looking for a library to render PDF to screen and I came across yours. I'm pretty much pleased so far with it's capabilities. Congrats! What I'm looking after is rendering speed which is quite slow for some PDF's I'm dealing with compared with other libraries (like mupdf, for example) and wondering if anything can be done in order to improve it. I'm thinking about implementing an agg-based renderer. I've worked with it in the past and I was very impressed by it's speed and rendering accuracy. BTW, it's also used by competition *caugh*foxit*caugh* It could also be done internally (as you did with cairo), but also externally, provided you create rendering callbacks (e.g. like cbBeginPath, cbMoveTo, cbLineTo, cbSelectFont, cbDrawText etc), but I'm not sure about the speed implications with so many callbacks calls. You should know better. Waiting for opinions, Regards, George
|
|
edvoigt
Senior Member Joined: 26 Mar 11 Location: Berlin, Germany Status: Offline Points: 111 |
Post Options
Thanks(0)
|
Hi George,
I see the same problem. QuickPDF allows a lot of nice things in construction or manipulation of PDFs, but the rendering is very very slow. I look too for a solution like building a PDF by QuickPDF, puting it in a tempfile and rendering with muPDF or anything else. But I'm not so familar with C. So I wait and hope. Cheers Werner |
|
geoionescu
Beginner Joined: 23 Jan 12 Status: Offline Points: 5 |
Post Options
Thanks(0)
|
Hello there Werner,
well, mupdf is really a fast renderer, but since it's GPL licensed, there's no way someone would use it in a commercial/close source app as, I think, many of QuickPDF users are doing. As far as rendering with another backend, I don't think it should be a very hard task for QuickPDF developers! I was expecting a reply from them, though. Are there any channels I should use for direct contact, since I understand this is a user-to-user forum only. Regards, George
Edited by geoionescu - 26 Jan 12 at 8:53PM |
|
edvoigt
Senior Member Joined: 26 Mar 11 Location: Berlin, Germany Status: Offline Points: 111 |
Post Options
Thanks(0)
|
Hello George,
I did it many times since last summer, over the feature-issue-channel, because I found between version 7.23 and 7.24 a slowdown of 15-20 under identical conditions. The last info was, that after 8.13 may anything happen, but in 8.14 I see no effect. The commercial problem exists for me too. But it is possible to by a lizence for muPDF, but I know nothing about pricing. Cheers, Werner |
|
geoionescu
Beginner Joined: 23 Jan 12 Status: Offline Points: 5 |
Post Options
Thanks(0)
|
Hello Werner,
it is possible to purchase commercial licenses from Artifex, but according to this post on SO, it's way too expensive for us, mortals (e.g. 42.000$ for the first year). What I'd like to insist upon is the chance that the new agg-based renderer could lead to substantial rendering speed improvement. OTOH, what's the feature-issue-channel you've mentioned? Regards, George
|
|
edvoigt
Senior Member Joined: 26 Mar 11 Location: Berlin, Germany Status: Offline Points: 111 |
Post Options
Thanks(0)
|
Hello George,
clear, this price is out of bounds. So muPDF is out of my eye. From agg I did hear first from your post. This is the way to get in contact with Rowan or Andrew: http://www.quickpdflibrary.com/support/feature-request.php Cheers, Werner |
|
geoionescu
Beginner Joined: 23 Jan 12 Status: Offline Points: 5 |
Post Options
Thanks(0)
|
Hello Werner,
agg is used in haiku os as a windowing system, as a flash player in GNU's Gnash, in Rebol and matplotlib (see http://en.wikipedia.org/wiki/Anti-Grain_Geometry). It's also used by foxit and pdftron as pdf rendering backends. To realize it's potential, you can start by browsing demos at http://www.antigrain.com/demo/index.html. Thanks for the direct contact link. I've already contacted Rowan by mail and I'm waiting for an answer. George.
|
|
Rowan
Moderator Group Joined: 10 Jan 09 Status: Offline Points: 398 |
Post Options
Thanks(0)
|
Hi George and Werner,
Anti-Grain Geometry is something we've previously looked at but were put off by the change of license in version 2.5. I see that Foxit are using version 2.3 of the license which was BSD, rather than GPL which the new version is. Quick PDF Library currently uses GDI+ to help with the rendering of PDF files. We're currently working on adding support for using Cairo to assist with the rendering instead of GDI+ and after that is done we may investigate using AGG as well. We want to give our customers a few different options to choose from. Each different rendering engine has it's high points and low points. Performance improvements for Quick PDF Library is definitely something that is high on our priority list and in fact it's next on the list. We've already done some profiling to identify bottle-knecks and in 2012 you should start to see some nice improvements. Generally speaking performance improvements will come from examining specific PDF files and seeing how Quick PDF Library handles them -- there are an infinite number of different compositions for PDF files -- so don't hesitate to send through any PDF files which you don't think our library is processing fast enough. Thanks for the feedback guys, keep it coming! Cheers, - Rowan. |
|
geoionescu
Beginner Joined: 23 Jan 12 Status: Offline Points: 5 |
Post Options
Thanks(0)
|
Hello Rowan,
thank you for your reply. Well, to be honest, I (almost) didn't notice QuickPDF was slow in rendering until I compared it with other libraries (e.g. mupdf). I'm also a sofware developer and I'm quite paranoid when it comes to speed :-) I also know from experience that optimizations are to pe berformed exactly where the bottlenecks are and, from what I've noticed, including speed differences between GDI+ and Cairo, implementing antigrain as a renderer could lead to rendering speed improvements. Anti-Grain Geometry is something we've previously looked at but were put off by the change of license in version 2.5. I see that Foxit are using version 2.3 of the license which was BSD, rather than GPL which the new version is. Well, I guess you could use version 2.4 which is distributed under a modified BSD license. The differences between 2.5 and 2.4 are quite negligible. Quick PDF Library currently uses GDI+ to help with the rendering of PDF files. We're currently working on adding support for using Cairo to assist with the rendering instead of GDI+ and after that is done we may investigate using AGG as well. We want to give our customers a few different options to choose from. Each different rendering engine has it's high points and low points. Cairo rendering is slower than GDI+ and I see no reason to use it, except if you would provide something live SVG output, for example, which I know for sure Cairo supports it natively. Performance improvements for Quick PDF Library is definitely something that is high on our priority list and in fact it's next on the list. We've already done some profiling to identify bottle-knecks and in 2012 you should start to see some nice improvements. Great! Generally speaking performance improvements will come from examining specific PDF files and seeing how Quick PDF Library handles them -- there are an infinite number of different compositions for PDF files -- so don't hesitate to send through any PDF files which you don't think our library is processing fast enough. Well, my opinion is that you could start by comparing it with other libraries (like mupdf) in terms of rendering speed and try to achieve similar timings. Although I do prefer to work low level, I guess you could start by using AggPlus, which is a library which emulates GDI+ API using Antigrain. You will also find there a demo which compares agg to GDI+ in terms of timing and rendering accuracy. I must admit that font rendering in agg is something to be optimized, but I'm pretty sure you guys can do a great job (besides several tricks already mentioned on agg's mailing list) ;-) Thanks, George
Edited by geoionescu - 27 Jan 12 at 6:30PM |
|
Post Reply | |
Tweet
|
Forum Jump | Forum Permissions You cannot post new topics in this forum You cannot reply to topics in this forum You cannot delete your posts in this forum You cannot edit your posts in this forum You cannot create polls in this forum You cannot vote in polls in this forum |
Copyright © 2017 Debenu. Debenu Quick PDF Library is a PDF SDK. All rights reserved. About — Contact — Blog — Support — Online Store