Hello, I want to update some fixed size vertex data, which should be straight forward, but I'm getting increasing memory usage if I'm updating with 'glBufferSubData.'
In the test example below, if I press 'Q' then memory usage keeps the same size, otherwise SubData will increase memory by the data amount used every time.
When it updates my memory used goes from 500Mb to 615Mb in increments then settles down. I find this unacceptable, and a bit weird.

'numVert' never changes.

I thought it would work, is this a driver error, or mine?

if (GetAsyncKeyState('Q'))
{
// Delete it all and submit new data... GOOD but slow?
glDeleteBuffers(1, &vertexBuffer);
glGenBuffers(1, &vertexBuffer);
glBindBuffer(GL_ARRAY_BUFFER, vertexBuffer);
glBufferData(GL_ARRAY_BUFFER, sizeof(Vertex)*numVert, vertex, GL_DYNAMIC_DRAW);
}else
{
// Wipe over old data... Increases memory - BAD
glBindBuffer(GL_ARRAY_BUFFER, vertexBuffer);
glBufferSubData(GL_ARRAY_BUFFER, 0, sizeof(Vertex)*numVert, vertex);
}

Does anybody else experience this?
I'm on Windows XP, and a GTX 260 card with latest drivers.
Thanks,
Dave.