Thanks, that's great help.

KP> At this point, any time you can use core rendering routines in
KP> place of Render, you'll likely see significant performance benefits.

Noted.  Shouldn't render transparently dispatch to GCOps whenever
possible?  I can do that client-side, of course, but it feels dirty to
have to juggle with both pictures and GCs.

(Offtopic: very old papers about Xlib promise an X10-style stateless
rendering interface in a future release.  Finally happened with render.)

>> In that method, I'm seeing rendering artifacts when the span is over
>> 256 pixels wide; the rendering appears to be cut at an abscissa of
>> 256.

KP> Hmm.  I may not understand your rendering code; are you sending glyphs 
KP> larger than 256x1 to the server?

Yes.  If I draw an AA horizontal line through the page, my driver's
``create_compositor'' method gets called; as it's not implemented yet,
gs falls back to creating 8-bit-deep rasters and passing them to my
driver's``copy_alpha'' method.  Every invocation of the latter
currently causes a glyph to be sent (glyphs are discarded so that
there is never more than 256 of them at one time).

I'll modify copy_alpha to use PutImage to a pixmap followed by
XRenderComposite when the raster is known to be never reused (gs is
kind enough to inform me of the fact).

What shall I do if the raster might be reused?  For small rasters, I
should probably store them in a glyphset (so as to get a server-side
glyph cache), but do you recommend limiting the size of server-side
glyphs?

KP> I don't know that I've ever tried that before...

I'll try to isolate the code, then.

KP> Yes.  You create the alpha channel pixmap, create a picture for that and 
KP> then set the alpha-map of the RGB pixmap to the alph picture.

KP> This would also permit you to use XCopyArea from the pixmap and store the 
KP> pixmap in off-screen memory.

Cool, I'll do that unconditionally, then, unless XRenderFindVisualFormat
returns a format with decent alpha (four bits or more).

                                        Juliusz
_______________________________________________
Render mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/render

Reply via email to