Some time ago, I got involved in a discussion about Microsoft’s DirectX11. While the general air was mixed, nobody was dreading the move to the new API. Since DX10’s release, I hear more people gasping at how beautiful games are, and how stunning Vista looked with the Aero interface. However, a number of people don’t understand what DX11 brings to the table, so let me discuss some of the revealed features, so that you can say more than the other noobs at the dinner table!
A lot of the new features in DX11 aren’t new at all – like Vista, many of these were planned for a release in DX10 or DX10.1, but were cut because of deadlines. For instance, DX10 has a feature called Direct3D 9/9EX, which allowed older applications that were designed to run on DX9 hardware to run properly in DX10. DX11 now carries a “new” feature called DX10_Level9, which allows DX9 hardware to run Aero and DX10-developed games. This could also have been implemented in DX10.1, but was reserved for DX11. I was just as surprised as many others when Windows 7 picked up my GeForce 6200 and ran Aero – beforehand I had no idea whether this would work or not.
The new buzzword for the last few months has been Tessellation – a drawing mechanism that increases the number of polygons from a low-detail polygon model. The feature has been around for ages, but was never properly implemented or supported. Now, I stand to be corrected on this, but such a feature makes it possible for game developers to create objects in the game that have a low polygon count, and they would look just as impressive (if not better) as models with more polygons at higher graphical settings. Not only would this increase drawing speeds, it would also allow gamers on sub-standard computers to enjoy games regardless of their hardware, and improve performance overall.
Games and applications are becoming increasingly reliant on having extra cores to perform their operations. The way this has been implemented thus far is not as efficient, or as fast as DX11’s proposed support for Multi-threaded Rendering – at least, that’s the way Microsoft’s been selling it to the public.
By having extra cores to play with, the idea is that each core works with a separate line of code (perhaps more than one if the CPU supports SMT) and then relays that to the GPU to continue drawing the picture. This is an interesting feature, since we have had many games released that suffer a CPU limitation. No matter what high-end GPU or CPU you try, the frames stay capped. A multi-threading feature might be the answer, although it is ultimately up to developers to use this feature properly.
There are many more features that have been announced, and still more surprises may come our way. One thing’s for sure, DX11, in conjunction with Windows 7, is going to make much more of an impact than Vista ever could.