We have a working implementation of vertex double buffering, rendering from one buffer and uploading vertex data to next frame buffer at the same time.
However I am concerned that CPU spends quite a lot of time uploading vertex data. Is the upload blocked by video driver because it's busy with drawing?
Or is it caused by driver's pipeline using the frame N+1 buffers for internal rendering of the frame N-1 frame while the drawing thread is issuing commands for frame N and I should consider switching to triple buffering (however I seriously doubt that it can improve FPS)?
Or should I rather queue the frame N+1 vertex uploads and do them after frame N commands have been issued so that there are no blocks in driver?
It's just that the thread that uploads vertex data also does much other work and is now a bottleneck and I want to offload it as much as possible and definitely don't want to see it blocked by driver.