Game Development Stack Exchange is a question and answer site for professional and independent game developers. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I am memory profiling my game in Visual Studio and about 60% of memory usage is happening from calls to glBufferData(). I may be missing something but should this consume GPU memory instead of system memory? I call it using GL_ARRAY_BUFFER and GL_STATIC_DRAW I was just wondering is there a way I can force it to use only VRAM?

Visual Studio attributes the memory usage to "nvoglv32.dll"

share|improve this question

Some relevant notes: http://stackoverflow.com/questions/5181540/gpu-access-to-system-ram It's talking about OpenCL & cuda but the same ideas apply.

Lots of VRAM will help performance, but the OpenGL driver is always free to allocate memory as it sees fit, and move it around as needed. Your hints may help it, but you cannot "force" it to allocate only on VRAM or system RAM.

(In your particular case, perhaps you are allocating more than will fit on the graphics card at one time?)

share|improve this answer
1  
It appears to be regardless of how much I use, if I allocate 1mb of buffer data it uses 1mb of system memory internally. I just wanted to know if this sort of behavior is normal. – bleevo Feb 8 '15 at 9:13
    
The good news is: Don't sweat it! There's an arms race carried out in cubicle farms at nvidia and ati and other places to get their performance better than the other guys. They toil so we don't have to. ... ok that's an exaggeration, we still need to sort-of know what's going on. And profiling like you're doing and wondering about it is the right thing to do. But ya, what they do by default will usually be pretty good. – david van brink Feb 8 '15 at 18:03

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.