I just came accross some weird behavior in the game I'm currently working on, and I having a hard time pointing out what's wrong. I'll expose what I think might be the problem, please let me know if I'm wrong
Let's say I have a succession of Update and Draw calls :
Update1 => Draw1 => Update2 => Draw2 => Update3 => Draw3 => ...
I have a drawable object with a DynamicVertexBuffer containing its geometry and a Draw method which consist of a call to Device.DrawIndexedPrimitive with the correct buffer parameters.
Now let's say that I call SetData on this DynamicVertexBuffer during Update2 : is there any possibility that the Draw1 call is using the new DynamicVertexBuffer data ? Or more generally, when EndDraw() is called on a Game object, is everything already rendered to the GPU ? Or can the rendering happen later (in this example while the Update2 is running) ?
Thanks for your help !