DirectX 12 Explained
For the average gamer, PC game development should appear a tricky business – because it is.
With consoles, developers have one hardware set for each brand (Xbox, PlayStation, Nintendo): one processor, one graphics chip, predetermined memory, input options and other standard hardware components.
For the PC, however, game developers face an infinite number of hardware configurations. Getting games to work correctly over a vast universe of graphics cards, motherboards and so on seems like pulling a rabbit out of a magician's hat.
This is why, based on what's been whispered over the last decade, developers have swarmed around the consoles: they have decent hardware on the cheap, piracy is low and developers virtually have direct access to the hardware components when programming their software.
This latter feature is key, as developers can squeeze every ounce of performance out of hardware as well as take advantage of built-in component features. This is why Microsoft's DirectX is so important for PC gaming.
What in the world is DirectX?
DirectX, simply put, is software developed by Microsoft that talks to a PC's hardware components. Specifically, it's a collection of application programming interfaces, or APIs, designed to handle tasks related to rendering 2D and 3D vector graphics, rendering video and playing audio on the Windows platform.
It rivals OpenGL, another graphics-oriented API suite introduced in 1992, that's open source and in continuous development by the Khronos Group technology consortium. And, while OpenGL is a cross-platform API, it doesn't have the advantage of being native to the Windows platform.
DirectX first appeared in Windows 95. At the time, most PC games ran on the old DOS platform, which allowed developers to "talk" directly to PC components such as the audio card, video card, mouse and more.
Many veteran PC gamers should remember the old days of editing the Config.sys file and the Autoexec.bat file to set up the correct settings environment so that a specific game could work correctly (IRQs and DMAs were edited too, but that's another story).
Windows 95 didn't have this direct line of communication – until Microsoft developed its DirectX suite of APIs.
At first, DirectX didn't take off, as developers mostly relied on OpenGL at the time and programmed efficiently in the DOS environment. Microsoft's graphics API suite gained momentum over time once developers figured out it wouldn't ever go away.
Thus, DirectX seemingly pushed OpenGL out of the way by the time version 9 (aka DX9) hit the PC gaming scene in 2002. Windows XP likely accelerated DirectX's growth, as that particular platform was highly stable and is still in use across the globe. Windows 10 is slated to be just as popular, and with it arrives the latest in the DirectX series, DirectX 12.
What DX12 can do for you (and your games)
The drawback with DirectX before this latest release is that it still didn't provide "low-level" access to hardware components as seen with the consoles. To address this, AMD released its Mantle API suite, so that developers could better optimize their software for AMD chips.
Essentially, graphics chips have become just as powerful as the main processor, taking on computing tasks other than graphics rendering.
AMD's Mantle allowed developers to utilize this power in compatible Radeon graphics chips. Mantle was seemingly well-received and performed spectacularly, but it was short lived, as Microsoft quickly released a version of DirectX that finally gave developers better access to hardware.
"DX12's focus is on enabling a dramatic increase in visual richness through a significant decrease in API-related CPU overhead," said Nvidia's Henry Moreton last year. "Historically, drivers and OS software have managed memory, state, and synchronization on behalf of developers. However, inefficiencies result from the imperfect understanding of an application's needs. DX12 gives the application the ability to directly manage resources and state, and perform necessary synchronization. As a result, developers of advanced applications can efficiently control the GPU, taking advantage of their intimate knowledge of the game's behavior."
By dumping more tasks onto the graphics chip, the main processor has less to do, thus the game isn't bogged down by what's going on in the operating system's background. The more cores the better, meaning a processor with two cores (aka two processors crammed into one package) isn't quite as perky as a processor with four cores.
The same is true with a graphics chip, and you can get a speed boost if you install two of the same graphics chip into a system (known as SLI via Nvidia and CrossFire via AMD). With DirectX 12, games will likely see better performance because the load is tossed between the multiple cores simultaneously instead of dumping loads onto one core at a time.
This is a big deal, as DirectX 11 doesn't take advantage of multiple cores in this fashion, thus a single core is doing all the work while the others remain idle. The days of having a single CPU core and a single GPU core went out in the early aughts, and Microsoft is finally getting up to speed with this latest DirectX release.
Look at it this way: computers have moved from a single-lane to an eight-lane superhighway, allowing the CPU to throw rendering and compute commands to the GPU faster than ever before. For the gamer, that means better framerates and a better image quality.
Want DX12? Better get on Windows 10
The beauty of DirectX 12 is that it's a native API of Windows 10. In turn, Windows 10 is used on a multitude of devices from desktops, to laptops, to tablets, to phones and even on the Xbox One. DirectX 12 is also backwards-compatible to some degree, allowing PC gamers to play their favorite titles without having to rip out their graphics card for a new "compatible" model (in most cases).
If you want a more detailed explanation of DirectX 12's three key three areas, check out Microsoft's DirectX 12 blog here, written by Matt Sandy. In a nutshell, he outlines what's called a pipeline state representation, work submission, and resource access.
He also provides a chart revealing that DirectX 12 provides a 50% improvement in CPU utilization over DirectX 11, and a better distribution of work across multiple sequences of programmed instructions, or threads.
The good news here is that there are a number of PC games that are already taking advantage of DirectX 12. These include Ashes of the Singularity, The Elder Scrolls Online, Rise of the Tomb Raider, Gears of War: Ultimate Edition and Hitman among others. Quantum Break is expected to support the new API as well as Deus Ex: Mankind Divided, Star Citizen, Forza Motorsport 6: Apex and several others.
Please keep in mind that this is a very simplified explanation of what DirectX 12 brings to the PC gaming table. Essentially, this API should provide better performance in games that support it, but that also means developers will likely have to shell out patches to bring their titles up to DirectX 12 speed, if possible.
GPU providers AMD and Nvidia are already knee-deep in support with their drivers, so it's just a matter of time before we really see the benefits of what DirectX 12 offers.
If you have yet to upgrade to Windows 10, DirectX 12 is as fine a reason as any to do so. We've also seen no reason for Microsoft to bring DX12 support to older versions of Windows. So, if you want to play the latest games at their best, you might not have a choice regardless.
Then again, given that it's free and is essentially a souped-up Windows 7, it shouldn't be all that tough of a transition – especially in the name of better games.
- These are the best gaming laptops
from blogger-2 http://ift.tt/1WixSGd
via IFTTT
No comments:
Post a Comment