The news of Microsoft’s new API has spread around the internet rather quickly, and despite there still being a little confusion regarding the API it’s going to be great news for PC gamer’s. In theory, it should provide huge reductions in the overheads which have long been associated with PC gaming, allowing a more console like API environment.
At GDC 2014 Microsoft unveiled their API, showing off a ported version of Forza 5 which was running on DX12, with the GPU said to be Nivida’s Titan Black. The release of DX12 isn’t going to be immediate – we’re going to be waiting until late 2015 before the API is ready to support games. Right now, AMD are pushing their Mantle interface, and with the Frostbite engine, along with Cryengine to support it, AMD gamer’s are able to enjoy its benefits now.
What is an API?
Application Programming Interface is the piece of software which allows the game to ‘speak’ with the hardware. The purpose of an API is to provide a fairly consistent development environment among a sea of different hardware. The game application speaks to DirectX (or whatever API the game is using), which then in turn talks with the hardware driver, which then in turn tells the hardware what to do. Traditionally there are newly released drivers in which AMD or Nvidia improve the performance of a game title by the way the driver itself handles the game. This is very important for them to do, particularly if it’s a big title which has the potential to sell a lot of new graphics cards.
AMD released Mantle, which features a ‘thinner’ abstraction layer, in other words their’s less translation which needs to take place. This reduces overheads, and Mantle also vastly improved on the multi-threading capacity of DX11. Multi-threading performance has remained an issue with PC for along time, with often the main rendering thread being placed solely on a single processor core. In today’s modern gaming PC’s this isn’t ideal because while the performance levels of CPU’s have improved thanks to additional CPU cores, the performance of a single core hasn’t improved so drastically. Indeed, if we were to go back even to Intel’s own Sandybridge processors (which were released early 2011) until now, with Haswell, per core performance has only improved roughly 20 percent (depending on tasks and so on).
There has been a lot of rumors and speculations flying about the internet regarding the origin of DX12. Many have cited that Microsoft effectively ripped off Mantle, while others (particularly MS) are keen to point out they’ve had DX12 in development for around four years now. I spoke with some sources at AMD to get a little information regarding this.
RGT: Can you provide some insight into the DX12 vs Mantle debate? Clearly Mantle has some major advantages regarding lead time and the ability to work on a variety of different platforms, instead of being pushed onto only Windows. Do you believe that Mantle’s support from developers will be helped largely due to its ability to run on Linux in the future?
Robert Hallock: I believe that Mantle’s current principal advantage is in its very nature: a low-overhead API. It’s the only low-overhead API available on the market today, and it’s a proven technology supported by four game engines and a number of games. If you’re a game development studio that wants to become familiar with low-overhead API development, Mantle is the only game in town and we’d love to hear from you!
RGT: There are many who’re claiming and reporting rumors that MS ‘copied’ parts of Mantle’s design and effectively re-branded it. Can you comment on this or perhaps provide a little insight?
Robert Hallock: DirectX 12 is Microsoft’s own creation, though they have welcomed input on its development from many different technology partners including AMD. We have welcomed the same input on Mantle by sharing the full specification with Microsoft since the early days of our API. As the industry moves to embrace the principles of ‘closer to the metal’ API design, it is evident that our pioneering work with this concept has been highly influential.
RGT: A few sources are reporting that AMD currently don’t have a DX12 driver in the hands of developers, can you provide any info on if this is true or if you’re simply in the middle of testing out the API internally?
Robert Hallock: I don’t know the answer to this question. I will have to get back with you, though I cannot yet provide an ETA on my answer until I do some digging internally.
So according to AMD, DX12 is their own creation. Clearly with DX12 having just been announced, and even with Mantle still not fully complete (it’s in the testing stages technically even now) we’ll be waiting awhile to see the two API’s performance compared. But there’s one thing for certain, now is a fantastic time to be a PC gamer.