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 4.0.2 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, so when use of this program is required, the default visual still
must be 8-bit PseudoColor.
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.
- Cannot be used with GIDS.
|
| 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:
-
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.
-
Install our debugged widget set. This can be obtained via anonymous ftp
from ftp.astro.rug.nl, directory gipsy, file
Xaw3d.tar.gz .
-
Force the default visual to be used. This is done by specifying the keyword
GGIOPT=FIXCOL when starting Ggi-based tasks.
|
March 12th, 2001, J. P. Terlouw
|