Why 8-bit PseudoColor?


Background

As systems which support the 16- or 24-bit TrueColor visual were becoming more popular, users often asked why GIPSY could not display on these systems. Users sometimes believe that these systems provide more functionality than the older 8-bit PseudoColor systems. This is certainly true for the number of colors that can be displayed simultaneously, but in one respect they provide less functionality. The TrueColor visual lacks the capability of PseudoColor to modify the color representation of images after they have been put onto the display. In GIPSY this capability is used to offer the user a fast and convenient way to change contrast, brightness and colors of displayed images. In TrueColor this is not easily possible. There the image needs to be recalculated and reloaded.

Present situation

GIPSY's graphical user interface, Ggi, has recently been modified so that it can work with X servers which support a PseudoColor or DirectColor visual in addition to a TrueColor default visual. Major workstation manufacturers have already provided this for some time. For Linux XFree86 supports this, but not on all graphics hardware. There also seem to exist commercial X servers with this capability.

Ggi now also provides support for TrueColor. Please note that due to the limitations of this visual, color map manipulation will always be less efficient than with PseudoColor or DirectColor. Movie loops are affected most.

There are no plans to modify GIPSY's old display server GIDS in a similar way, but recently (May 2010) it has been modified so that it now also supports DirectColor visuals, which offer most of PseudoColor's features but also has the disadvantage that the user's desktop colors can change when GIDS' colormap changes.

Information about the available visuals can be obtained by running the program xdpyinfo, which is part of the X-distribution. The table below compares the visuals' relative advantages and disadvantages.

 

Table: relative advantages and disadvantages of different visual classes.
Visual class Advantages Disadvantages
PseudoColor - Efficient colormap manipulation - Number of available colors possibly limited by other applications (including the window manager or desktop) or, when a private colormap is used, colors may flash between different applications.
DirectColor - Efficient colormap manipulation - Number of available colors possibly limited by other applications (including the window manager or desktop) or, when a private colormap is used, colors may flash between different applications.
- Uses typically 3 × more display server memory than PseudoColor.
TrueColor - Largest number of colors available
- Applications do not influence each other's colors
- Slow colormap manipulation.
- Generally slower due to more operations and larger data transfers.
- Uses typically 3-4 × more display server memory than PseudoColor.
- Cannot be used with GIDS.

Possible problems

When Ggi selects a visual with a depth (bits per pixel) which differs from the default visual's depth, fatal BadMatch errors may occur. This is especially the case when the Xaw3d widget set is used. This widget set contains a number of bugs related to non-default visuals. To solve this problem, one of the following can be tried:
  1. Use the normal `flat' Xaw widget set, i.e. change -lXaw3d into -lXaw in the compiler setup file. Unfortunately this widget set also contains a bug, but this can be avoided by not using the text search facility from help screens.
  2. Install our debugged widget set. This can be obtained via anonymous ftp from ftp.astro.rug.nl, directory gipsy, file Xaw3d.tar.gz .
  3. Force the default visual to be used. This is done by specifying the keyword GGIOPT=FIXCOL when starting Ggi-based tasks.


GIPSY March 12th, 2001, J. P. Terlouw
Revised: June 2nd, 2010, J. P. Terlouw