You are viewing a plain text version of this content. The canonical link for it is here.
Posted to fop-dev@xmlgraphics.apache.org by Andreas L Delmelle <a_...@pandora.be> on 2007/03/01 11:00:25 UTC

Re: Fwd from fop-users@: OutOfMemoryError

On Feb 28, 2007, at 23:38, Andreas L Delmelle wrote:

> <snip />
> So, I also tried manually inserting fo:blocks around each scene in  
> the example, but then bumped into an Exception:

That Exception seems to be related to the "last_even" page-master.  
Comment that out, and the alternate version of the test succeeds.

So, it isn't even necessary to split up in multiple page-sequences.  
Multiple blocks is enough.

It seems that our text-layout-algorithm works perfectly well on small  
to medium-sized blocks, but there is a slight problem with the  
scalability.


Cheers,

Andreas

Re: Fwd from fop-users@: OutOfMemoryError

Posted by Andreas L Delmelle <a_...@pandora.be>.
On Mar 1, 2007, at 11:00, Andreas L Delmelle wrote:

> <snip />
> It seems that our text-layout-algorithm works perfectly well on  
> small to medium-sized blocks, but there is a slight problem with  
> the scalability.

Some further follow-up:
Traced it down to the main loop in  
BreakingAlgorithm.findBreakingPoints() (line 456).
If I debug the process, and place the breakpoint at finish() right  
after the main loop, the OOMError happens somewhere before that.

The base Paragraph's size is roughly 81000 elements (for roughly 125K  
characters), and with a heap of 512MB, the loop does not make it to  
index 71000. activeLines grows to 5120 elements.

OTOH, to relieve the fears a bit:
Simply changing the FO to use linefeed-treatment="preserve", which is  
a lot more common in case you have large preformatted text-blocks,  
already helps a great deal. Switching to linefeed-preservation alone  
makes the example pass with default heap settings.

Case closed FTM.

Cheers,

Andreas