What is DX12?

Solution


DirectX is a suite of multimedia APIs written by Microsoft for their operating systems. These APIs are designed to abstract the underlying hardware so that application developers do not need to design their applications with specific vendor hardware in mind. Instead, vendors design their hardware and drivers around DirectX (where required) thus putting hardware outside of the realm of concern for the application developers. The advantage of this is that properly...
some of the graphics vendors want to make a direct access method to their hardware only. This is on the assumption that it would be faster than Microsoft direct X generic access to graphics cards. I think the real reason is to lock game developers to particular graphics card brands. Anyway, microsoft directX 12 will have generic version of these programing interfaces that will be mapped to several graphic card vendors with very limited overhead. Game dev person just programs to directx specs and will passively get the benefits of the direct hardware access and will not have to make a version of the game for each vendor. I really don't know the features of directx 12 other than it is supposed to be better at multi threading and on multi core system. I think it will be part of windows 10. not sure on when it will be released. I would expect you could install it on windows 8.x but not a dead product like windows 7 (dead = end of life software)

 


DirectX is a suite of multimedia APIs written by Microsoft for their operating systems. These APIs are designed to abstract the underlying hardware so that application developers do not need to design their applications with specific vendor hardware in mind. Instead, vendors design their hardware and drivers around DirectX (where required) thus putting hardware outside of the realm of concern for the application developers. The advantage of this is that properly written applications should behave more consistently across a wide range of operating systems and hardware configurations.

For example, one of the more well known DirectX APIs is Direct3D. Direct3D is used to render high performance 3D (and 2D) graphics. An application developer can target a particular version of the Direct3D API (such as 11.2) and take advantage of all of the features exposed by that particular version of the API. Then, the Direct3D library, OS kernel, and GPU driver convert these features into equivalent operations that the underlying hardware understands. When done properly, the application developer doesn't need to write anything that is specific to AMD GPUs, NVidia GPUs, or even worry about minor differences in feature implementation.

However, performance hunting developers often want to bypass the abstraction layers of Direct3D and work with the underlying hardware itself. Direct3D 12 is designed to expose lower level access to the hardware than previous versions which can enable developers to better optimize their titles for the most common hardware configurations. However, removing layers of abstraction may have the side-effect of undoing much of the unifying work that DirectX has done and may very well increase bugs and performance problems. Fortunately, this level of hardware access is optional, so only diligent engine developers will have to play with it.

DirectX 12 as a whole is aimed at bringing console-level efficiency to the PC by decreasing driver and OS overhead. Preliminary testing shows similar performance gains to AMD's Mantle API. The biggest benefactors are PCs with comparatively weak CPUs and highly symmetric system configurations.
 
Solution