On 03/02/2012 12:41 PM, Adam Jackson wrote: > On 3/2/12 4:21 PM, Christopher Howard wrote: >> I don't have much (any?) Xlib programming savvy, but before diving >> headlong into the Programming Manual I was hoping to get some >> perspective. There is a particular application I use pretty often, and >> one of the things it does is to draw filled line graphs on the screen, >> which it does by calling XDrawLine() with the appropriate parameters for >> each data point. Looking at the code, I was curious if I could optimize >> this, by first drawing everything into some kind of local memory buffer >> and then passing that into some Xlib function all at once. >> >> However, since XDrawLine() presumably draws the lines into a buffer >> anyway, I'm wondering if there are any realistic gains (or any gains at >> all) to be had by such an approach. > > Might or might not help. It really depends more what kind of lines > you're drawing - in particular what the GC state is you're using to draw > them and the characteristics of the surface you're drawing to - and > which driver you're using. Can you give more detail? > > - ajax >
The code is from conky.c in conky-1.8.1. Before the loop it does one code: ---------- XSetLineAttributes(display, window.gc, 1, LineSolid, CapButt, JoinMiter); ---------- And each actual line draw is preceded by a call to XSetForeground (the color changes in different parts of the graph). I'm not yet much familiar with how graphics contexts are set up in Xlib but I think this is what you are referring to: code: ---------- void create_gc(void) { XGCValues values; values.graphics_exposures = 0; values.function = GXcopy; window.gc = XCreateGC(display, window.drawable, GCFunction | GCGraphicsExposures, &values); } ---------- -- frigidcode.com indicium.us
signature.asc
Description: OpenPGP digital signature
_______________________________________________ xorg@lists.x.org: X.Org support Archives: http://lists.freedesktop.org/archives/xorg Info: http://lists.x.org/mailman/listinfo/xorg Your subscription address: arch...@mail-archive.com