home *** CD-ROM | disk | FTP | other *** search
/ Chip 2003 August / Chip_2003-08_cd1.bin / oddech / maelstrom / maelstrom.exe / Maelstrom / Docs / Technical_Notes-v1.1 < prev    next >
Text File  |  1999-12-07  |  1KB  |  27 lines

  1.  
  2.     To get gamma correction, I just filled a 'xcmap' style XPM image
  3. with the Maelstrom colormap, and displayed it with 'xv'.  I used 'xv' to
  4. perform gamma correction on the colors, and then saved the gamma corrected
  5. XPM, and extracted the colors to a new colormap.
  6.  
  7.     It turns out that shared memory XImage manipulation is actually
  8. faster than shared background pixmaps.  This is because the contents of
  9. the window can be directly manipulated via the XImage, instead of having
  10. to be copied from the XImage.  XShmPutImage() acts as XClearArea(),
  11. rather than XCopyArea(), and has corresponding speed.  XShmPutImage()
  12. is faster than using shared background pixmaps, because the server
  13. no longer has to deal with tiling and such issues.
  14.  
  15.     Asynchronous I/O works reliably under Linux, but seems to lead
  16. to race conditions on other versions of UNIX, when used for communication
  17. between Maelstrom and the sound server..
  18.  
  19. Actually, with the use of POSIX signal handling and select() to check
  20. for I/O in the I/O handler, asynchronous I/O seems to work well in every
  21. other system on which Maelstrom runs.
  22.  
  23.     The port to other UNIXes besides Linux is beyond the scope
  24. of the rest of this document.  Let's just say it involved quite a bit of
  25. work with byte order and sound driver development.
  26.  
  27.