xcompmgr provides the following option:
-s Server-side compositing with hard-edged shadows.
From experimentation, I can say that this is much, much faster than the "client side" options. But what exactly is it doing? In Xorg, what is the difference between client- and server-side compositing?
And, more to the point: what set of Xorg functions would I have to use, if I wanted to implement server-side compositing in e.g. a window manager?