comp.lang.idl-pvwave archive
Messages from Usenet group comp.lang.idl-pvwave, compiled by Paulo Penteado

Home » Public Forums » archive » Re: Xinteranimate "Unable to create pixmap" error
Show: Today's Messages :: Show Polls :: Message Navigator
E-mail to friend 
Switch to threaded view of this topic Create a new topic Submit Reply
Re: Xinteranimate "Unable to create pixmap" error [message #17628] Fri, 05 November 1999 00:00
davidf is currently offline  davidf
Messages: 2866
Registered: September 1996
Senior Member
Joe Means (means@fsl.orst.edu) writes:

> Here is more info on this problem. The last two times I ran it, in response
> to David's comments, it hung on 106 and 107 frames. Regarding memory, there
> is 1Gb of system RAM and 1Gb of swapfile [virtual memory] space. Performance
> monitor showed that there was still 630Mb free RAM and 910Mb free swapfile
> space when it choked, and it had used up ca. 3000Mb of RAM when running. This
> works when I try to create smaller animations. Interestingly, when, in the
> IDL Devel Env., I hit the Reset button [includes Heap_GC, /Verbose] this
> recovered about half of the memory drawdown from the run, ca. 160Mb. Killing
> IDE recovered the rest, ca., 140Mb.
>
> I'd sure like to find that it is just a programming error.
>
> Can I program around this by specifically putting the pixmaps in system RAM
> and animating from there by loading them into the IDL window just as they are
> needed?

I'll see if I can get more specific information about this,
but I have a feeling we are running up against some kind
of limitation in either the graphics driver or NT itself.
I tried creating 700 by 400 windows. With my graphics
driver with 32MB RAM and 1GB swapfile, I was able to
create 150 pixmap windows before I got the "unable
to create pixmap window" message.

Since I don't have any fix, here are a couple of
suggestions. First, I presume you have thought
about smaller windows and rejected that. You
appear to have a fairly robust machine there, Joe.
I presume you have Gigs and Gigs of disk space. :-)

So I think what I would do is write these screen
dumps out to a file. Then I would do the animation
from the file using the Associated Variable method
of reading a single image from the file. Some
experiments last night on my machine (not as nice
as yours unfortunately) leads me to believe that
this can produce an animation with acceptable
results.

I think I would start with my XMOVIE program and
modify it to read from an associated variable rather
from memory if I was tackling this job.

http://www.dfanning.com/programs/xmovie.pro

Cheers,

David

--
David Fanning, Ph.D.
Fanning Software Consulting
Phone: 970-221-0438 E-Mail: davidf@dfanning.com
Coyote's Guide to IDL Programming: http://www.dfanning.com/
Toll-Free IDL Book Orders: 1-888-461-0155
Re: Xinteranimate "Unable to create pixmap" error [message #17635 is a reply to message #17628] Thu, 04 November 1999 00:00 Go to previous message
Joe Means is currently offline  Joe Means
Messages: 44
Registered: November 1996
Member
Here is more info on this problem. The last two times I ran it, in response
to David's comments, it hung on 106 and 107 frames. Regarding memory, there
is 1Gb of system RAM and 1Gb of swapfile [virtual memory] space. Performance
monitor showed that there was still 630Mb free RAM and 910Mb free swapfile
space when it choked, and it had used up ca. 3000Mb of RAM when running. This
works when I try to create smaller animations. Interestingly, when, in the
IDL Devel Env., I hit the Reset button [includes Heap_GC, /Verbose] this
recovered about half of the memory drawdown from the run, ca. 160Mb. Killing
IDE recovered the rest, ca., 140Mb.

I'd sure like to find that it is just a programming error.

Can I program around this by specifically putting the pixmaps in system RAM
and animating from there by loading them into the IDL window just as they are
needed?

Joe Means

-----Original Message-----
From: Randall Frank [mailto:frank12@llnl.gov]
Sent: Thursday, November 04, 1999 5:37 PM
To: Joe Means
Cc: davidf@dfanning.com
Subject: Re: Xinteranimate "Unable to create pixmap" error


You've run into one of the interesting things about Windows NT.
Under NT, device dependent pixmaps are allocated against the
video driver. The video driver can choose to place them on the
card or in system RAM. This is driver dependent. Now, under NT
(unlike the Mac and Unix) driver graphics resources cannot page
so you are limited to system memory no matter what (virtual
memory cannot be used for these pixmaps). I would like to see
the commands you are using to create this movie. I have seen
1/2 GB movies run just fine in boxes with that much RAM. I am
interested to see if any of the frames are allocated or if it
fails with the first frame (some drivers place restrictions on
device dependent pixmaps). Also, you might want to watch the
system with the task manager to see what the memory state is
when the failure occurs. If there is not enough free swappable
pages, you can also run into a problem.

So, you can make big movies under NT, you may be running
into a driver limitation (suprising w/an nVidia card), a separate
system limit (swappable pages) or user error.

Hope it helps.
rjf.

Randall Frank | Email: rjfrank@llnl.gov
Lawrence Livermore National Laboratory | Office: B4525 R8019
P.O. Box 808, Mailstop:L-560 | Voice: (925) 423-9399
Livermore, CA 94550 | Fax: (925) 422-6287


David Fanning wrote:

> Joe Means (means@fsl.orst.edu) writes:
>
>> I run IDL 5.21 on a PC under WinNT.
>>
>> While running Xinteranimate.pro I got the error:
>> % WINDOW: Unable to create pixmap.
>> % Execution halted at: CW_ANIMATE_LOAD 652
>> c:\win32apps\RSI\IDL52\lib\cw_animate.pro
>>
>> This animation used about 15Mb of memory [according to Performance
>> monitor] before giving me this error. I understand the error comes from
>> running out of RAM on my video card, right? My video card is a Viper
>> v770 with 32Mb ram.
>>
>> My PC has 1Gb RAM, much more than is needed to run this animation. I
>> got this much RAM specifically to be able to run large animations in
>> IDL. How can I get this animation to run? I also need to be able to
>> get animations to run for which the file containing the stored images is
>> about 60Mb up to 300Mb. Do modifications need to be made to
>> Xinteranimate and its subroutines to use regular RAM instead of video
>> RAM?
>
> I'm on some shaky ground here, because I don't know
> the details as well as I would like. But my understanding is
> that most operating systems will swap video RAM memory
> with disk memory when the video RAM fills up. I would
> have thought you were running into a virtual memory
> limitation here. Do you know how much virtual memory
> you have? (System control panel under the Performance
> tab.)
>
> Also, what frame is this that you choke on? Is it
> always the same? Can I see the code used to load
> the XInterAnimate pixmaps?
>
> Cheers,
>
> David
> --
> David Fanning, Ph.D.
> Fanning Software Consulting
> Phone: 970-221-0438 E-Mail: davidf@dfanning.com
> Coyote's Guide to IDL Programming: http://www.dfanning.com/
> Toll-Free IDL Book Orders: 1-888-461-0155
Re: Xinteranimate "Unable to create pixmap" error [message #17636 is a reply to message #17635] Thu, 04 November 1999 00:00 Go to previous message
Joe Means is currently offline  Joe Means
Messages: 44
Registered: November 1996
Member
In answer to your questions below:
--Virtual memory [pagefile size] is just over 1Gb
--It does choke at the just about the same place.
--The code used to load the images into Xinteranimate is:

;;;---snip---
;nx= about 700 & ny= about 400 & nframes = 180

;---------- Initialize loop to produce images
images = Bytarr(nx,ny,nframes)
;initialize animation
Xinteranimate, set=[nx,ny,nframes], /track, title=title

;Set up 2D arrays with points that cover the whole range of data
;to set the axies ranges in Surface
zz_ = Dblarr(2,2) & xx_ = Dblarr(2,2) & xx_ = Dblarr(2,2)
zz_ = [ [zr[0], zr[1]], [zr[1], zr[0]] ]
xx_ = [ [xr[0], xr[1]], [xr[0], xr[1]] ]
yy_ = [ [yr[0], yr[0]], [yr[1], yr[1]] ]

; - - - - - - - - - - - - LOOP TO CREATE IMAGES - - - - - - - - - - - - -
FOR i=0,nframes-1 DO BEGIN
Erase ;Erase the window to prepare for next plot

;;;---snip--- ---I creat the axies and plot the data here.

;Plot the data. Psym: 3=dot, 8=usersym
Plots, sxyz[xc,*], sxyz[yc,*], sxyz[zc,*], /T3d, $
Psym=psym, Symsize=symsize, Color=datacolors

;Read image from window and add to animation
image = Tvrd(x0,y0,nx,ny,!d.window)
images[*,*,i] = image
Xinteranimate, Frame=i, Image=image

anglez = (anglez+delta_angle) mod 360
ENDFOR


David Fanning wrote:

> Joe Means (means@fsl.orst.edu) writes:
>
>> I run IDL 5.21 on a PC under WinNT.
>>
>> While running Xinteranimate.pro I got the error:
>> % WINDOW: Unable to create pixmap.
>> % Execution halted at: CW_ANIMATE_LOAD 652
>> c:\win32apps\RSI\IDL52\lib\cw_animate.pro
>>
>> This animation used about 15Mb of memory [according to Performance
>> monitor] before giving me this error. I understand the error comes from
>> running out of RAM on my video card, right? My video card is a Viper
>> v770 with 32Mb ram.
>>
>> My PC has 1Gb RAM, much more than is needed to run this animation. I
>> got this much RAM specifically to be able to run large animations in
>> IDL. How can I get this animation to run? I also need to be able to
>> get animations to run for which the file containing the stored images is
>> about 60Mb up to 300Mb. Do modifications need to be made to
>> Xinteranimate and its subroutines to use regular RAM instead of video
>> RAM?
>
> I'm on some shaky ground here, because I don't know
> the details as well as I would like. But my understanding is
> that most operating systems will swap video RAM memory
> with disk memory when the video RAM fills up. I would
> have thought you were running into a virtual memory
> limitation here. Do you know how much virtual memory
> you have? (System control panel under the Performance
> tab.)
>
> Also, what frame is this that you choke on? Is it
> always the same? Can I see the code used to load
> the XInterAnimate pixmaps?
>
> Cheers,
>
> David
> --
> David Fanning, Ph.D.
> Fanning Software Consulting
> Phone: 970-221-0438 E-Mail: davidf@dfanning.com
> Coyote's Guide to IDL Programming: http://www.dfanning.com/
> Toll-Free IDL Book Orders: 1-888-461-0155
Re: Xinteranimate "Unable to create pixmap" error [message #17637 is a reply to message #17635] Thu, 04 November 1999 00:00 Go to previous message
davidf is currently offline  davidf
Messages: 2866
Registered: September 1996
Senior Member
Joe Means (means@fsl.orst.edu) writes:

> I run IDL 5.21 on a PC under WinNT.
>
> While running Xinteranimate.pro I got the error:
> % WINDOW: Unable to create pixmap.
> % Execution halted at: CW_ANIMATE_LOAD 652
> c:\win32apps\RSI\IDL52\lib\cw_animate.pro
>
> This animation used about 15Mb of memory [according to Performance
> monitor] before giving me this error. I understand the error comes from
> running out of RAM on my video card, right? My video card is a Viper
> v770 with 32Mb ram.
>
> My PC has 1Gb RAM, much more than is needed to run this animation. I
> got this much RAM specifically to be able to run large animations in
> IDL. How can I get this animation to run? I also need to be able to
> get animations to run for which the file containing the stored images is
> about 60Mb up to 300Mb. Do modifications need to be made to
> Xinteranimate and its subroutines to use regular RAM instead of video
> RAM?

I'm on some shaky ground here, because I don't know
the details as well as I would like. But my understanding is
that most operating systems will swap video RAM memory
with disk memory when the video RAM fills up. I would
have thought you were running into a virtual memory
limitation here. Do you know how much virtual memory
you have? (System control panel under the Performance
tab.)

Also, what frame is this that you choke on? Is it
always the same? Can I see the code used to load
the XInterAnimate pixmaps?

Cheers,

David
--
David Fanning, Ph.D.
Fanning Software Consulting
Phone: 970-221-0438 E-Mail: davidf@dfanning.com
Coyote's Guide to IDL Programming: http://www.dfanning.com/
Toll-Free IDL Book Orders: 1-888-461-0155
  Switch to threaded view of this topic Create a new topic Submit Reply
Previous Topic: CGM files into PC Word for Windows
Next Topic: Re: Inheritance query

-=] Back to Top [=-
[ Syndicate this forum (XML) ] [ RSS ] [ PDF ]

Current Time: Wed Oct 08 13:46:35 PDT 2025

Total time taken to generate the page: 0.00643 seconds