Civilization V is the first game that supports DX11 multi-thread rendering

By on April 11, 2011

One of the big aces of DX11 was its multi-threaded capabilities. DX11 would enhance the scaling and would be quite beneficial to all those CPU bound games. Ironically, there wasn’t any game that offered proper DX11 multi-thread rendering till recently. Hell, even Nvidia hadn’t included any command lists to their drivers about the multi-thread rendering. Everything is about to change though, as the first 270.xx ForceWare drivers have finally enabled the full support of it.

To understand and fully appreciate it, we have to explain what the API actually does to any game that supports the DX11 multi-thread rendering. According to Ryan Smith from Anandtech, rendering is a very serial process:

“The game needs to setup a bunch of objects and then pass that on to the video drivers and finally to the GPU. As a result of this, it’s possible to choke the CPU while submitting a large number of objects to the GPU. In DirectX 11, multi-threaded rendering is achieved by turning the D3D pipeline into a 3 step process: the Device, the Immediate Context, and the Deferred Context. The important bit here is that the deferred context is full of things that have yet to be sent to the GPU, and that you can have a deferred context for each thread. When developers talk about multi-threaded rendering with DX11, this is what they’re referring to. When you use DX11s multi-threaded rendering capabilities correctly, you can have several threads assemble their deferred contexts, and then combine them into a single command list once it comes time to render the scene.”

Basically what Ryan says is that the multi-threaded rendering is a massive undertaking on the driver and hardware side, given the fact that the GPU invents the multi-tasking operating system. This is why the command lists are so crucial for it. And this is why we witnessed huge gains in Civilization V with the 265.xx ForceWare drivers. Those drivers enabled support for Civilization V DX11’s multi-threaded rendering features, while the latest 270.xx ForceWare enabled full support of multi-threaded rendering. This means that any game or application can take advantage of the feature, and not just Civilization V. This is also one of the reasons we see such huge performance gains in Dragon Age 2 under DX11 path.

These are great news indeed and we are really looking forward to more games that will take advantage of DX11’s multi-threaded rendering techniques. DX10 cards will also be benefited by these multi-threaded rendering techniques when the game is running under the DX11 path. We also do know that the much anticipated Battlefield 3 will fully support DX11 multi-thread rendering. And it’s essential for all the latest games to support it. Especially for all those games that are being ported from consoles and are CPU bound!

 

About David Scarpitta

I am a critical guy, and love to review and give my professional opinion on just about anything. Though have a love for tech/gaming and music alongside the cinema. You can catch me consulting and developing the net any day of the week.