AMD are one of the biggest forces in next generation gaming right now. AMD are producing the chips for the next generation consoles, the Playstation 4, Wii U and Xbox One. Additionally, the Radeon R9 290X is one of the best GPU’s on the market right now for performance. During their recent CES conference, they have announced that Mantle’s performance in Battlefield 4 is a rather impressive 45 percent higher in many circumstances than with the traditional API.
AMD have a clear vision for PC and console gaming, seeking to unify and ease game development, and solve some of the biggest challenges currently faced by games and developers alike. They are certainly not alone in competition, with their rivals hot on their heels, but AMD are in a very good position.
I recently got a chance to interview Robert Hallock, Technical Communications, Desktop Gaming & Graphics at AMD and he has been kind enough to submit himself for an interview. During part one of this interview, we’re going to shed light on AMD’s GCN architecture, the vision AMD have for the future of PC gaming, and much more. Hopefully we’ll have the next part of the AMD interview soon, and we’ll have more info regarding APU’s, CPU and a few follow up questions regarding the GPU.
In the next day or two I’ll do some technical explanation and analysis on the questions asked and answered by myself and Mr. Hallock to help those of you who’re not quite sure of what some of this interview means. But for those of you who’re eager to just dive in, then read on below.
Question: CPU’s over the past 3 years or so have only increased marginally in performance compared to huge strides in GPU technology. AMD have drastically beefed up the compute potential of your latest GPU cores, for example Hawaii (R9 290X). With both the PS4 and Xbox One likely to offload a lot of work for compute to the GPU, how do you think compute will affect the future of games development on the PC and console?
Robert Hallock: You’re right, PC gaming performance has come a long way in a short while. For example, the ATI Radeon™ HD 5870 was a flagship product just three years ago with the price to match. Today, roughly equivalent performance can be found starting at $139 in the AMD Radeon™ R9 260X. I digress, but I really wanted to put a fine point on how hard we’ve been working to bring significantly better performance to every gamer year after year.
To your point, compute is more important now than ever. Consider the following effects used by game devs: high definition ambient occlusion (HDAO), global illumination, FXAA, MLAA, TressFX Hair, diffusion depth of field, and contact hardening shadows. What do they have in common? They’re all GPU compute-driven effects. That’s just a small selection of the effects you can accelerate with compute resources rather than the traditional graphics pipeline. Where possible, using GPU computer is a rather efficient way of rendering!
The positive trend of using compute in gaming is reflected in our architectures, where the AMD Radeon™ R9, R7 and HD 7000 Series GPUs have all featured full-fat compute resources that may be used for gaming or other activities (like cryptocurrency mining).
There are numerous performance benefits to AMD’s Mantle technology, for example increased numbers of Draw Calls, can Mantle also benefit Compute performance of a GPU?
Robert Hallock: Mantle was designed to address shortcomings in the current crop of graphics API. It’s pretty specific to traditional game rendering applications. There is a less pronounced need for overhaul in the realm of compute, where today’s languages (like DirectCompute or OpenCL) are quite robust.
Keeping on the subject of compute for a moment longer, how much impact does running compute commands on the GCN 1.1 architecture make to graphics processing performance? Do you often find that a compute command must ‘wait’ to be processed because the GPU is busy processing the scene, or that graphics performance suffers? Or has improvements to compute architecture on the GCN 1.1 helped eliminate these issues?
Robert Hallock: It depends entirely on the effect. With respect to gaming, compute and graphics pipeline resources are interdependent. Being too aggressive with either category of rendering will ultimately compromise overall performance, but that is true of any GPU. Talented game developers will understand a GPU’s fundamentals and design an engine that takes a balanced approach, not just from a total resource perspective, but when to use compute versus pipeline as well.
With respect to products like the AMD Radeon™ R9 290 or R9 290X, we refined the basic GCN Architecture in a couple key ways: accommodating higher pixel rates for UHD content, off-chip buffering improvements to enhance tessellation performance, more robust data storage in the geometry processors to improve geometry shader performance, a smaller and more efficient memory controller, the addition of our “XDMA” technology, support for up to four primitives per clock, and of course we were able to scale Graphics Core Next out to 2816 total shader units. Overall, though, this is the basic GCN Architecture we know and love, but with an extra ounce of love to make it a meaner and more capable engine for multi-purpose work. (note, GCN 1.1 compute is similar to PS4. Check out article here)
Audio technology on PC’s has been fairly stagnant for a number of years, and requires high CPU overhead for processing. Does AMD’s TrueAudio processor take care of all of the processing work with audio, or is there some processing left for the CPU to perform on the audio?
Robert Hallock: AMD TrueAudio fully offloads the CPU if the developer maximally utilizes its capabilities. It’s a programmable audio pipeline, so it will only shoulder as much of the burden as it’s told to. Regardless, AMD TrueAudio sends the voice(s) it’s processing and rendering to the user’s existing audio hardware as a passthrough to the endpoint device (e.g. headphones).
With the next generation consoles featuring 8 AMD Jaguar CPU cores, do you feel that more games on PC will benefit from an increased number of CPU cores as games developers change their engines to better use multi-core environments ?
Robert Hallock: I can’t speak for the future of the console business, but I can talk about what AMD is doing. Mantle is a powerful way to improve the robustness of a game’s multi-threading capabilities. Multiple game developers, notably Johan Andersson of DICE (in his keynote address at APU13), have been quite complimentary to our API and its scalability across cores. The whole talk is very enlightening on this topic, but the heart of Mantle is in addressing aspects of the software layer (like threading) that have lagged behind the capabilities of our hardware.
Currently, most PC’s use DDR3 RAM for main system RAM, with the GPU using GDDR5, although DDR4 will slowly start becoming the norm over the next few years. In situations where you have a discrete card like the Radeon R9 290x taking care of the graphics processing, is a CPU using DDR3 RAM on a PC bandwidth limited, when processing highly complex game engines due to the number of different tasks and data being accessed?
DDR3 is more than sufficient for today’s graphics landscape. Linus over at LinusTechTips did a very informative video on this topic, actually. The final verdict: capacities being equal, anything between DDR3-1333 and DDR3-2400 had negligible impact on GPU performance.
In fact, excellent gaming performance is all about keeping resources local to the GPU and its framebuffer. Farming texture fetches (for example) out to system RAM is very substantial performance penalty. More important to overall GPU performance is the potential of the CPU to feed the beast—the graphics subsystem. As resolutions and fill rates increase, an increasingly powerful CPU is required to capably feed the GPU. If the CPU is not up to the task, then performance tapers off. Most users call this “bottlenecked” or “CPU limited” performance.