Guys as most of you know AMD will release a new driver real soon, this one coming with Mantle support. I just heard that the driver is delayed a bit more so it likely won't be today. However we are allowed to share some stuff with you guys. The upcoming 14.1 Beta driver will receive many improvements. Two important ones though, read more after the break.
Frame pacing (Frame latency)
The first being that AMD Catalyst 14.1 is the “phase 2” frame pacing driver they announced in October of last year. It enables frame pacing support in DX10 and DX11 applications on resolutions higher than 1600p with products that don’t feature AMDs XDMA technology. Example products include the HD 7000 Series, or the R9 280X and R9 270X GPU. This driver also helps improve the frame pacing in AMD Dual Graphics configurations, such as the new “Kaveri” APU paired with an AMD Radeon R7 250 GPU! We encourage you and your readers to test our initial implementation, and provide feedback as you’re able.
The upcoming catalyst driver is also AMD’s first HSA-enabled graphics driver, which allows the GPU and CPU silicon of the new “Kaveri” APU to intelligently cooperate for improved performance. Supporting applications for testing include Libre Office v188.8.131.52+ and Corel AfterShot Pro v184.108.40.206+, with many more to come soon.
Obviously AMD will launch the driver with Mantle support, DICE will rool out an update today that should allow Mantle compatibility.
Here's the thing, you've been seeing a lot of speculation (intentionally spread by AMD) with 40% performance gains. That is both true and not. For high-end systems with fast CPUs it's not, you will definitely see gains in performandce. But Mantle helps where the CPU is limited, and that is great news for slower CPU products like say Kaveri. Mantle is an incredibly powerful tool for alleviating CPU bottlenecks--such as API overhead or inefficient multi-threading--so systems with entry-level, mid-range, or otherwise modestly-priced processors stand to see the biggest gain.
Here are some initial numbers as delivered by AMD:
- CPU-limited scenario: 40.9% (1080p) and 40.1% (1600p) performance improvement under Ultra settings and 4xAA on the AMD A10-7700K with an AMD Radeon™ R9 290X.
- GPU-limited scenario: 2.7% (1080p) and 1.4% (1600p) performance improvement under Ultra settings and FXAA on the Core i7-4960X with an AMD Radeon™ R7 260X
- Average uplift for 1080p: 13.28% (Average of 290X and 260X data on the i7-4960X, A10-7700K, FX 8350 and i5-4670K)
- Average uplift for 1600p: 11.35% (Average of 290X and 260X data on the i7-4960X, A10-7700K, FX 8350 and i5-4670K)
In reality you'll be GPU limited extremely fast, everybody with say a mid-range GPU and normal processor is GPU limited. However of you have a more low-end setup, that's gonna kick ass in extra performance. All of the sudden APUs make much more sense, if the software supports Mantle of course. That's all I can share right now.
Below a White paper primer on Mantle (courtesy of AMD):
Mantle has been many years in the making by AMD, but we were not alone in this effort! Mantle was also directly shaped by the input we received from the greater game development community that has long sought a low-level graphics API for PCs. We worked shoulder-to-shoulder with developers like DICE and Oxide Games to create Mantle in the image of their needs: a streamlined, robust, efficient API for modern graphics work. In fact, Mantle is the very first API designed directly by game developers for their modern craft! At the simplest level, Mantle is an Application Programming Interface (API), or a language that game developers can use to write code that creates the beautiful graphics on your screen. In its current iteration, the Mantle API uniquely leverages the hardware in the Graphics Core Next architecture (GCN) of modern AMD Radeon. GPUs for peak performance. More broadly, Mantle is functionally similar to DirectXR and OpenGL, but Mantle is different in that it was purpose-built as a lower level API. By ¡§lower level, it ¡s meant that the language of Mantle more closely matches the way modern graphics architectures (like AMD¡¦s own GCN) are designed to execute code. The primary benefit of a lower level API is a reduction in software bottlenecks, such as the time a GPU and CPU must spend translating/understanding/reorganizing code on-the-fly before it can be executed and presented to the user as graphics. Mantle comes in contrast to the ¡§high level API,¡¨ which offers broader compatibility with multiple GPU architectures, but does so at the expense of lower performance and efficiency.
DESIGN PRINCIPLES OF MANTLE
First and foremost, Mantle is primarily designed to improve performance in scenarios where the CPU is the limiting factor (so-called ¡§CPU-bound¡¨ cases); CPU-bound scenarios are legion in gaming, as existing APIs have heavy validation overhead, along with difficulty scaling out to multiple CPU cores. In addressing this common problem, Mantle enables a pronounced improvement for the majority of global PC gamers that have entry-level and mid-range processors. Some of the techniques to achieve this include:
- Low-overhead validation and processing of API commands
- Explicit command buffer control
- Close to linear performance scaling from recording command buffers onto multiple CPU cores
- Reduced runtime shader compilation overhead
In turn, Mantle makes less of an impact in cases where high resolutions and ¡§maximum detail¡¨ settings are used, as these settings are likely to be maximally taxing GPU resources in a manner that is more difficult to improve at the API level (so-called ¡§GPU-bound¡¨ scenarios). While Mantle provides some built-in features to improve GPU-bound performance, gains in these cases are largely dependent on how well Mantle features and optimizations are being utilized by the developer.
Some of those features include:
- Reduction of command buffers submissions
- Explicit control of resource compression, expands and synchronizations
- Asynchronous DMA queue for data uploads independent from the graphics engine
- Asynchronous compute queue for overlapping of compute and graphics workloads
- Data formats optimizations via flexible buffer/image access
- Advanced Anti-Aliasing features for MSAA/EQAA optimizations
It¡¦s also prudent to note that Mantle is still in the beta phase and may not reflect the full performance we might be able to achieve through the optimization time we¡¦ll be investing in the months ahead. And, as developers are still familiarizing themselves with Mantle and its relationship to Graphics Core Next, they may not have capitalized on all available opportunities for optimizations¡Xbut that will come with time.
One such optimization is the approach to multi-GPU performance scaling, which now rests in the hands of the game developer in the Mantle ecosystem. Developer control of multi-GPU performance empowers them to design an optimal multi-GPU codebase that perfectly matches the approach their rendering engine takes to graphics. Battlefield 4 is currently enabled with multi-GPU capabilities on Mantle, but the Oxide Games StarSwarm demo will be enabled with these capabilities in a later build.
THE ROAD AHEAD
Throughout the months that have followed our October unveiling of Mantle, you have been patient and kind to us as the Mantle consortium labored to make the first release the best it could possibly be. Concurrently, your support and coverage have been real and personal encouragement for every person working on the API. While we can never truly repay your kindness with a piece of software, we hope that it goes into the world with no uncertain amount of gratitude from us. We thank you so very deeply for your support, and vow to bring an even more sensational experience in the months ahead!