Chapter 3: Miscellaneous Topics
Table of Contents
For HP-UX release 10.30 and later, Hewlett-Packard's 3D graphics APIs are
supported in multi-threaded applications (using POSIX threads). However,
these libraries are thread-restricted and can be accessed only from a single
dedicated thread of a multi-threaded program. This documentation is not a
tutorial on threads programming or multiprocessing application issues. For
more, and general, information about the use of POSIX threads, consult the
HP-UX documentation set. Further restrictions on use of these APIs in
multi-threaded programs are:
- The 3D graphics libraries support kernel threads only
(libpthread); they do not support the DCE user threads package
(libcma).
- If your multi-threaded application uses both 3D graphics and X11, or 3D
graphics and Motif routines, then the 3D graphics routine calls are
restricted to the same single thread as the X11 or Motif routine calls.
This restriction applies to X11 or Motif routines in any of the libraries:
libX11, libXext, libXhp11, libXi,
libXt, and libXm.
Hewlett-Packard is in the process of a transition to a standard user
environment. Two user environments were shipped with HP-UX 10.20: HP VUE and
HP CDE (Common Desktop Environment). Starting with HP-UX 10.20, HP CDE was be
the default user environment, and although HP VUE was still be available with
HP-UX 10.20, but is not be available in HP-UX 10.20 releases. See the
Common Desktop Environment User's Guide for more information on HP CDE.
From a 3D graphics point of view, the change in user environments should have
no effect.
Graphics processes use shared memory to access data pertaining to the display
device and the X11 resources created by the server (for example, color maps,
cursors, etc.). The X11 server initiates an independent process called the
Graphics Resource Manager (GRM) to manage these resources among graphics
processes. One problem encountered with GRM shared memory is that it may not
be large enough to run some applications.
HP PEX, Starbase, and HP-PHIGS use GRM shared memory for VM double-buffering.
If your application is running on a low-end graphics system (for example, an
HP 710 or 712), you set the environment variable HP_VM_DOUBLE_BUFFER
(or SB_710_VM_DB), and you have several large double-buffered windows
open simultaneously, then your application could use up available GRM shared
memory. If you encounter a dbuffer_switch error message while using
VM double-buffering, you may have encountered this problem.
You can prevent this problem by changing with Shared Memory size through
HP-UX's SAM (System Administration Manager) program.
You may find the following documentation helpful when using HP graphics
products:
- For installing products
- HP-UX Reference
- System Administration Tasks
- Installing and Updating HP-UX