short answer: d3doverrider can easily detect Elite Dangerous and enable triple buffer for it.
extended answer: For good VR you need low latency in the input-to-rendering path but you need also VSync ON to avoid tearing that in VR it's a very bad thing.
Elite seems to have a good low latency but it can be better because it freeze for few frames so often, very annoying.
back to vsync, so when vsync it's enabled there are 2 buffers involved in the rendering path, front and back buffers. The gpu render on the back buffer and the display scanout from the front buffer at a fixed frame rate, 75fps in thw case of the DK2. A signal from the display to the gpu, the vsync signal, allow the gpu to swap the 2 buffers in the exact moment a new refresh of the display must happen. this is the sync part.
if the gpu can keep up rendering 75 new images every second, one every 13.3ms, this is what happens:
- from the t=0 to t<13.3ms a new image is rendered into back buffer and in the same slot of time the previous rendered image is scanout to the display from the front buffer.
- at t=13.3ms the vsync signal swap the 2 buffer so the rendered image is scanout from the front buffer to the display and the game engine can begin to render another one into the back buffer.
so the gpu and the game engine are in sync with the display, if the rendering of a new image require less than 13.3ms the gpu just wait the vsync to begin the rendering of a new one, a waste of time.
what if the rendering of an image take more than 13.3ms? for example it takes 15ms.
at t=13.3ms the gpu refuse to swap the 2 buffers because it can't show an incomplete image so the display scanout the previuos image again, the rendering will be completed at t=15ms but the new image will start to be scanout only on the next vsync signal, at t=26.6ms.
if every images require more than 13.3ms to be renndered a display that run at 75hz will show only 37.5 new images every second, very bad for VR.
when the display show the same image for 2 or more times in a row we get very bad VR experience with double or triple images and a lot of stutter.
The triple buffer architecture use 2 back buffers to decouple the rendering loop from the vsync signal. At the end of a rendering the gpu can start rendering a new image on the second backbuffer without wait the vsync.
with vsync on you can have 75fps or 37.5fps, with triple buffer you get an avg fps between 37.5fps and 75fps, higher then vsync on, maybe 65fps or 70fps or 74.5fps, without drop to half the rafresh rate of the display.
triple buffer allow you to use all the power from your gpu, there is no waiting for the vsync signal before start rendering the next image.
Triple buffer option in the nvidia control panel is valid only for OpenGL application. why it's not valid for D3D applications? because d3d implement a deep buffer stack just because it can render a lot of images in advance, just for fun, queuing up to 8 images.
This is very bad for VR, it's useless and introduces so much latency, up to 100ms.
Triple buffer do not queuing images more than VSyncOn and in general can increse the fps without introduces latency.
it's possible to configure the D3D deep buffer stack to work like Triple Buffer, the developers can do this but most of the times no one does, D3DOverrider do this at runtime.
Triple buffer is the right way to do vsync, please Frontier implement it in ED.
edit: I correct some syntax error.