The final piece of technology that I want to explore with regards to its integration into Kaveri is AMD’s Mantle API. This will by no means constitute an in-depth explanation of Mantle, but I feel like the demonstrations that AMD showed during the Kaveri tech day conference warranted the inclusion of Mantle as a feature fully exploited by Kaveri.
Mantle is a low level application programming interface designed by AMD to more fully utilize their GPU hardware and to improve performance over higher-level APIs like DirectX and OpenGL. Mantle allows developers to write code that takes advantage of AMD’s GCN architecture by utilizing the GPU more efficiently. This allows the application to have much faster draw calls, which AMD says are the biggest bottleneck in the DirectX API.
Being a low-level API, Mantle gives developers more fine-tuned control over the use of hardware, and specifically the GPU by allowing direct GPU memory access. Mantle also supports parallel rendering for up to at least eight CPU cores. Because it almost completely eliminates hardware abstraction, Mantle can overcome problems you might have in other games like texture corruption, frame dropping, or stuttering. Mantle should also alleviate the need to wait for performance increases from new driver versions. Games written using Mantle will already benefit from higher performance with only minor fixes needed through drivers.
During the Tech Day, we saw a demonstration of Starswarm using the Nitrous engine (used in games like Star Citizen and Thief) running on the same hardware (a Kaveri APU with an R9-290X) and written for DirectX and Mantle. The DirectX implementation had a rough time reaching above 10 FPS because of the thousands of individual objects being simultaneously rendered on screen. The Mantle implementation, on the other hand, ran at over 40 FPS consistently. The best proof of whether or not Mantle is going to be as big a deal as AMD claims should come fairly soon, when Battlefield 4’s Mantle implementation is released. AMD is shipping a copy of BF4 with each Kaveri A10-7850K processor with the intent of proving Mantle’s superiority. I’ll be testing the DirectX version of BF4 with the A10-7850K for now, and I’ll be sure to let you know the results when the Mantle update hits.