Thanks for taking the time to explain your thoughts they are appreciated.
One point is that I didnt think Line BPs were kept past the call to addArea methods, which is AT construction and well before rendering. The TSAdjust properties is on the TextArea object which is part of the AreaTree.
Summarizing: we have a bunch of strategies: - Keep data associated with adjustable spaces from layout for rendering, thereby avoiding recalculation
This is what I'm going to do. Merely because from my company's point of view performance is more important than memory. We specialize in generating lots of 1-10 (approx) page documents. I also believe this is the solution that I am proposing to implement.
- Discard the data as early as possible, thereby reducing peak memory
- Use something in between: copy into a compact representation, or
discard part of the data.
I lean somewhat to the first strategy, because memory is usually more
of a problem then bare performance.
This appears to be a contradiction, did you mean the last strategy?
I also have the gut feeling this approach makes integration of leader expansion easier. Of course, if someone implements several possiblities and runs benchmarks, or even makes it a user choice, I wont object.