I've got a comment below concerning the PS renderer which I think may be
important when working on the image stuff.

> So in the FOTree it only grabs the image (using the URL) if the size of 
> the image is needed. The image is then in the cache with the URL as the 
> key. When the renderer comes to render the image it grabs the image again 
> and draws it. In the case of the PDF Renderer it no longer needs the 
> original image in the cache so it releases the image. The image is then 
> available as a PDF Object.

PostScript has no such thing as a PDF Object it can simply reference.
You have to write a procedure if you want to reuse an image. From that
point of view it may be helpful if we had a usage counter for images per
rendered document. That would enable the PS renderer (and maybe others
too) to decide whether to create a procedure in the Prolog that contains
the image and that could be called whenever necessary (reduces PS size,
may improve RIP performance), or if the image should be best provided
inline (reduces RIP memory usage). Especially for logos that are printed
on every page this would be very helpful.

Of course, this would mean that the renderer interface would probably
have to be extended so information like this can be passed to the
renderer so it can do stuff like the above. The problem on the other
side is the incremental rendering process: we don't know how many
intances of the same image will get rendered. So, maybe the usage
counter is not such a good idea, except if the renderer can rearrange
the generated PS afterwards (moving images into procedures in the Prolog,
kills simple incremental PS writing).

The longer I think about this, the more I can't see a way around
losing the incremental PS writing if we want to provide some
optimizations. Probably, the PS renderer will have to be configurable
whether to do these optimizations or not.

Any other ideas?

Jeremias Märki


Postfach 3954 - Rhynauerstr. 15 - CH-6002 Luzern
Tel. +41 41 317 2020 - Fax +41 41 317 2029
Internet http://www.outline.ch

To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, email: [EMAIL PROTECTED]

Reply via email to