steve.cowx Posted July 24, 2006 Share Posted July 24, 2006 Hi All Our application renders tens of thousands of telephone bills into pdf format using Jasper Reports. We are currently using version 1.2.2, I will be testing with version 1.5.2 later today but I don't expect to see massive differences between the versions based on what I have read in the changelogs. Performance is a very important issue for us. Each bill that we render is made up of the same basic information (name, address, account number etc) and then a large number of itemised telephone calls. Medium sized business bills can run to 150-200 pages of itemised calls. In the report design, each itemisation line is made up of around 6 textfields with information from our database. We have been profiling our code and the reporting code in order to see where we can optimise the processing to shave valuable seconds off the time it takes to render each telephone bill. What we have found is that JasperReports spends 47% of the total processing time in the TextMeasurer.renderParagraph method. The time in the renderParagraph method can be further analysed to show that it is mainly used up by the java.awt.font.LineBreakMeasurer. It does makes sense that most of the rendering time is spent on rendering text fields (as the bills are almost entirely text) but seeing as this is the single most often performed function in the rendering (in our case) we would like to find ways of optimising it. Here is my question: Is there any way to optimise the text rendering by using particular settings for textfields in the report design. We know the fields will be a specific length, we know they will never need to be wrapped, they will always be the same font and all the characters within each of the fields will all have the same attribites. Small savings on each text field can make a massive difference when we are rendering large volumes of data so a saving of even 1 or 2 seconds per report would be significant. Regards Stephen Link to comment Share on other sites More sharing options...
teodord Posted July 25, 2006 Share Posted July 25, 2006 Hi, I think this is something we could do in the future.There is a patch that we now track here:http://jasperforge.org/sf/go/artf1451?nav=1which also proposed a custom implementation of a LineBreakMeasurer to avoid rendering problems on machines without full AWT support. It would be great if you could post this as a Feature Request so that we track it better. Thank you,Teodor Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now