DJWoodgate #1 I assume that whenever AddVertex and AddTriangle are called, these buffers are locked and unlocked. Why do you assume that, as opposed to it only happening once per frame, if a surface has been modified?