"Unable to Create Pixmap" Error
QUESTION: What causes the error message "Unable to create pixmap" in IDL?
![]()
ANSWER: Pixmaps (IDL graphics windows that exist only in memory) are created, essentially, in the video RAM of the display device. When a requested pixmap exceeds the video RAM capacity, some operating systems are smart enough to cache the pixmap in virtual memory. Most workstations, for example, have no difficulty making as many pixmaps as you like, as large as you like.
But other platforms do not have as sophisticated a memory management capability. For example, if you are not careful about cleaning up or deleting old pixmaps when you exit your IDL programs, then PCs will often, eventually, give you a message like this. I see this frequently in my IDL programming classes when I teach people to use pixmaps. The students forget to delete the pixmap when they exit their IDL program. As a result it stays in video RAM memory and they eventually run out of "pixmap memory".
X-terminals are the worst offenders at eliciting this error message. In many cases, pixmaps on X-terminals can be made no larger than the size of the display. (In other words, total pixmap memory capacity is appoximately 1 or 2 MBytes in size.) There is not much that can be done in this case, except to purchase more RAM for the X-terminal, making it about as expensive as the workstation you should have bought in the first place. :-)
![]()
Last Updated 8 January 2006
