Can someone please explain how the VR APIs fit into things

Man of Honour
Man of Honour
Joined
23 Dec 2002
Posts
10,181
Location
London
Here's a question for the more knowledgeable amongst us.

If I'm using a game via a monitor, my understanding is that:
- The game talks to the graphics API (e.g. Nvidia drivers)
- The drivers talk to DX11, as hosted by windows
- The DX11 talks to my graphics card and then outputs a display

If I then introduce say an Oculus VR solution, there's an additional logical component added. What talks to that? Is it the game > Oculus > Nvidia drivers > DX11 > graphics card?

I was curious about the above, why Oculus don't support SLI, whether Vulkan might help and so on.
 
Nope, your game talks to an API such as OpenGL, Direct3D or Vulkan. The graphics cards manufacturers provide the "glue" (the driver) that knows how to instructions from the API should be translated to things their GPU understands. It's also the drivers that interface with Windows, as they need to make the allocation requests like "I need to take over the screen now", though that is initiated originally by the game (the API passes it on to the driver, which then coordinates with Windows to make that happen). The GPU plus other hardware on the card drives the pixels on the screen directly, one of the reasons they have all that VRAM.

When a VR headset is involved, there's another layer that sits between the game and the API, so Game > Oculus/SteamVR -> API -> drivers -> GPU. The drivers also have support for that.

My understanding is that SLI isn't supported in VR because of latency. Initially there was a lot of marketing material about "one GPU per eye" but in practical terms it's apparently difficult at best to make that work. Maybe that's a solveable problem, but at least not solved just yet. And SLI/CF are difficult in general, particularly because Direct3D11 and OpenGL don't have any way to address any individual GPU so there are only the drivers that can help with this, which means it's much more difficult for the game developers and it makes for additional work for the driver developers plus the game developers would have to not do things in a way that would break SLI/CF.
 
Back
Top Bottom