Why does XMX grab the WHOLE default root colormap on slaves?
When an X client allocates a color, it involves a round trip (request-reply) to the server. The colormap index (pixel value) returned is not predictable, and would require XMX to map pixel values in client requests. The problem with mapping is that pixel values are manipulated as bitmasks by raster operations (GCFunction). So the result of any drawing request by a client depends, potentially, on the state of the *entire* colormap being used, not just the foreground and background colors. Also, PutImage and GetImage requests consist of pixel data, so, if mapped, have to be massaged individually for each server – a real bottleneck. Providing a correct mapping is an onerous task. Instead, XMX simply allocates writable the entire root colormap (when using a PseudoColor visual) of each “slave” server. Then, color allocation is done only on the “master” server. The resulting pixel values are stored (StoreColor) on the slaves. Since StoreColor does not generate a reply, this is more efficient