Use xcb for -queryExt instead of a round-trip per extension
On a system with 30 extensions listed by xdpyinfo, truss -c
reports this saves quite a few system calls by batching the
QueryExtension requests instead of a round-trip for each one:
Xlib xcb
writev 40 11
poll 80 22
recv 117 29
total (*) 464 296
(*) total includes all system calls, including many not shown since
their count did not change significantly. There was one additional
set of open/mmap/close etc. for loading the added libX11-xcb library.
Over a tcp connection, this reduced both the number of packets,
and due to tcp packet header overhead, the overall amount of data:
Xlib xcb
TCP packets 93 35
TCP bytes 11554 7726
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Reviewed-by: Jamey Sharp <jamey@minilop.net>