Jump to content United States-English
HP.com Home Products and Services Support and Drivers Solutions How to Buy
» Contact HP
More options
HP.com home
HP-UX Starbase Device Drivers Manual - Vol1: HP 9000 Series 700 Computers > Chapter 2 HP VMX Device Driver

Differences From Other Starbase Device Drivers

» 

Technical documentation

Complete book in PDF
» Feedback
Content starts here

 » Table of Contents

 » Index

Synchronization

Because of the way HP VMX works (rendering to a VM buffer and then displaying these images through X11 protocol), the HP VMX driver has some unique synchronization requirements.

The following Starbase calls copy the contents of the VM frame buffer to the window:

  • make_picture_current

  • flush_buffer

  • dbuffer_switch (if double-buffering is enabled)

Until one of these calls is made, HP VMX will continue to render graphics to the VM frame buffer. Changes are not reflected in the X11 window until this synchronization occurs.

You may use buffer_mode(3G) to disable buffering of graphics primitives, and therefore avoid synchronization problems. Disabling buffering with buffer_mode will degrade performance.

Note that there is no command buffer associated with the HP VMX driver. When buffer_mode is turned off, there is an implicit make_picture_current which causes an update of the virtual memory buffer to the destination window. It is the frequency of these updates (that is, synchronization) that can degrade rendering performance significantly.

The Starbase Reference and the Starbase Graphics Techniques manuals discuss buffer_mode for bit-map device drivers.

Resource Considerations

Some resource usage implications need to be considered when using the HP VMX driver. Because no dedicated frame buffer hardware exists, and therefore the frame buffer memory is allocated at gopen time, the use of the HP VMX driver will consume virtual memory resource.

HP VMX will allocate a virtual memory frame buffer at gopen time. The VM frame buffer is allocated based upon the size of the X11 window being gopened. Since HP VMX supports only 8-bit X11 windows, the frame buffer is allocated on a byte-per-pixel basis.

For example, consider an X11 graphics window which is 750 pixels wide and 600 pixels high. The size of the VM frame buffer is:

750 pixels * 600 pixels = 450,000 pixels

450,000 pixels * 1 byte/pixel = 450,000 bytes

So the VM frame buffer for this window consumes .45 Mbytes of virtual memory.

This resource is returned to the system at gclose() time.

This resource usage is typically not a problem, but should be considered if you are using the HP VMX driver and one of the following resource conditions exists:

  • Several windows (especially large windows) are gopend simultaneously.

  • Your system has a small amount of RAM.

These resource conditions could cause:

  • System errors

  • Application termination

  • Performance degradation.

In order to alleviate these resource conditions, you may:

  • Use the hardware device driver whenever possible. For example, if you are running on a CRX system, specify hpgcrx as the driver parameter to gopen when running to a local window. Specify hpvmx only when running to a remote system, or when running to the overlay planes on the CRX family of devices. (If your driver parameter equals NULL, this happens automatically.)

  • Reduce the number of simultaneous gopens (gclose some windows before gopening more of them).

  • Use smaller windows (the size of the window determines the amount of memory allocated at gopen time).

  • Add more memory to your system.

  • Increase the size of the kernel's maximum data size parameter (maxdsiz).

Restricted gopens

As with Virtual Memory (VM) double-buffering, multiple gopens of HP VMX to the same window should not be attempted. The VM frame buffer allocated by HP VMX is associated with each gopen rather than with a window. Multiple gopens, therefore, to the same window will each allocate a new VM buffer, rather than "share" one VM buffer. This will produce results potentially different from other hardware devices or expectations.

Printable version
Privacy statement Using this site means you accept its terms Feedback to webmaster
© 1989 - 1995 Hewlett-Packard Development Company, L.P.