Hello,
I've started playing with a version of Ghostscript that uses Xrender
for rendering, and I'm finding a few problems with performance. I'm
probably doing something wrong.
In my current setup, I'm using an 8:8:8 window and a 8:8:8:8 backing
pixmap. Once in a while, I blit the modified area of the pixmap onto
the window by using XRenderComposite with PictOpSrc.
Although the pixmap and the window have the very same pixel format (up
to the absence of alpha in the window), I'm finding the performance of
the blit somewhat disappointing. Am I using the wrong approach?
When gs's upper layers try to non-AA render something that my driver
doesn't implement, they convert the primitive into spans and
repeatedly invoke a method which does a XRenderFillRectangle with
PictOpSrc; I then channel the drawing to both the pixmap and the
window to avoid having to do a blit. Is that okay, or do you
recommend working with XDrawRectangle on the underlying drawables?
When the same thing happens with AA rendering, the method that gets
invoked is the very same one as the one that is used when doing AA
text; thus, I put the span into a glyphset, and do
XRenderCompositeString8 on a one-character eight-bit-deep string with
PictOpSrc and a 1x1 pixmap as src. Is that okay, or should I avoid
manipulating glyphsets when I know that the given mask won't be
reused.
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. While I haven't isolated the code yet, I'm wondering if that
could be a known bug in 4.2.0. (Keith, does xscope dump render, by
the way?)
(In case you're worried: a different method will be used when I
implement the high-level compositor interface, but I want to get the
current code working first.)
Finally, is it possible to add an external alpha channel to an
existing pixmap? I'm thinking of dynamically allocating the alpha
channel on the first non-opaque rendering operation in cases when the
window's pictformat has no associated pictformat with good alpha.
Thanks a lot,
Juliusz
_______________________________________________
Render mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/render