Fanning Software Consulting

Graphics Rendering Problems

QUESTION: I am seeing some very strange results when using the IDL 8.x graphics functions. Are there known graphics rendering problems with these function graphics routines on LINUX machines?

ANSWER: Apparently so. And it appears the problems have not been resolved in the new IDL 8.1 release either.

Paulo Penteado has reported that software rendering is not available from the IDL Workbench for LINUX computers, although it does appear to work from the IDL command line. He also reports that distinct differences in hardware and software rendering on his LINUX computer with some graphics functions, namely surfaces. The first problem is a known problem (see Tech Tip number 4600 on the ITTVIS web page) that has a suggested solution for Red Hat and Fedora installations, but not (so far as I know) for other flavors of LINUX.

This can be a problem when working from the IDL Workbench, as Paulo reports, since hardware rendering always results in solid lines displayed, no matter what line style is chosen in the call to the graphics function. While he can switch to the command line and use software rendering to draw the correct line style, he reports that software rending is "horribly slow." He reports that it takes several minutes to render two lines with about 50K points using software rendering, while occurring almost instantaneously with hardware rendering.

Some graphics output is also affected by rendering issues. For example, displaying a legend on a plot and then creating a JPEG or PNG file of the result works fine, but producing a PDF file of the result renders the legend incorrectly, with the text extending outside the legend box.

PDF files rendered incorrectly.
PDF files with legends are not created correctly using using either
hardware or software rendering.
 

LINUX users can avoid most of these problems by using the superfast Coyote Graphics System (CGS) routines to produce their display, PostScript, and raster file output. The NASA Astronomy Library legend routine, al_legend, has been modified to use CGS routines, and will work in CGS resizeable graphics windows. Details for how to write programs in the CGS system can be found in Coyote's Guide to Traditional IDL Graphics.

Version of IDL used to prepare this article: IDL 8.1.

Last Updated: 1 May 2011