Sign in to follow this  
rldivide

GL_OUT_OF_MEMORY error

Recommended Posts

rldivide    132
I'm using a GeForce GTX260 with 1GB vram, on PCI-Express x16 slot. System is Win7x64 with drivers 197.45.

In my application I'm creating a lot of GL textures (I can't do otherwise), so that it eventually reach the limit of VRAM and generate a GL_OUT_OF_MEMORY error. But I was pretty sure that when VRAM was full, it goes to RAM ? (and then when RAM is full, it goes to hard-drive).

If I'm right, that's what TurboCache (introduced with GeForce 6200)/HyperMemory (introduced with Radeon x300) were meant for.

So what's wrong ?

Share this post


Link to post
Share on other sites
GL_OUT_OF_MEMORY does not necessarily mean you have run out of video memory, it might also be that you run out of regular memory. Or, there might technically be enough memory but it might be fragmented or the driver might be unable to use it for some purpose for some reason, there can be many possible causes (for example, the driver might only use as much RAM as fits in the aperture size, or only memory pages that it can mark as non-swappable, or whatever).

In general, there will be at least two copies of all your textures and other data (such as vertex buffers), sometimes more. And, using 1G worth of stuff does not mean it takes exactly 1G, it will usually be more.

So, if you plan to use a gigabyte of video memory, you will need at least a gigabyte of main memory for that too, with whatever additional constraints the driver puts onto "usable" memory, and including alignment issues, fragmentation, and all that.

Share this post


Link to post
Share on other sites
V-man    813
Yes, the GL driver makes duplicates of your textures, VBO, shaders, etc in RAM. I have also heard that it will swap out to the hard drive if there isn't enough space, which is something that is handled by the OS.

How much texture+VBO are you using in terms of MB?
How much system RAM do you have?

From what I read about TurboCache, it sounds like there isn't anything special about it. It is exactly what integrated Intel stuff does.
The minor difference is that the Geforce 6200 has some onboard video memory, therefore it is less likely to cause a CPU stall.

Share this post


Link to post
Share on other sites
karwosts    840
How old is that driver? I know 32 bit driver is up to 260.99, I don't know if 64 bit uses a different numbering scheme though. I was having some intermittant GL_OUT_OF_MEMORY on my program with an 19x.xx nvidia driver, but I just upgraded the driver to the latest and it seemed to go away.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this