PDA

View Full Version : GPU/CPU shared memory



Zenja
09-08-2011, 10:24 PM
Hi everyone.
I'm developing a custom application on AMD fusion platform, which shares GPU and CPU memory. I've discovered a weird quirk related to memory buffer access.

1) initialise OpenGL buffer, and each frame render a scene from the buffer. Get 52 fps.
2) initialise OpenGL buffer. Each frame, modify the buffer, then render it. Get 60 fps.



modify fVertices
glBindBuffer(fVerticesBuffer);
glBufferSubData(fVertices);
glDrawArray(..)

vs

glDrawArray()



Essentially, touching the buffer with the CPU seems to trigger a scenario where the GPU can access it faster. It is as if the memory caching/prefetching code favours CPU access compared to GPU access only.

Anyone discover anything similar?