XCreateGC 関数のパフォーマンスに問題があります。いくつかのケースでは正常に(高速に)動作し、他のケースでは非常に遅いようです:)。詳細については、次のコードを参照してください。
void some_function(int dx, int dy, int sx, int sy, int w, int h,
Drawable src, Drawable mask, Drawable dest)
{
Display *dpy = QX11Info::display();
GC gc = XCreateGC(dpy, src, 0, 0);
XSetClipOrigin(dpy, gc, dx - sx, dy - sy);
XSetClipMask(dpy, gc, mask);
XCopyArea(dpy, src, dest, gc, sx, sy, w, h, dx, dy);
XFreeGC(dpy, gc);
}
前もって感謝します。