Original Link: http://www.anandtech.com/show/7868/evaluating-amds-trueaudio-and-mantle-thief
Evaluating AMD's TrueAudio and Mantle Technologies with Thiefby Ryan Smith on March 18, 2014 1:15 AM EST
Scheduled for release today is the 1.3/AMD patch for Thief, Square Enix’s recently released stealth action game. Following last month’s Battlefield 4 patch, Thief is the second big push for AMD’s recent Radeon technology initiative, becoming the second game to support Mantle and the first game to support TrueAudio Technology.
Thief has been something of a miss from a Metacritic perspective, but from a technology perspective it’s still a very big deal for AMD and Radeon owners. As a Mantle enabled title it’s the second game to support Mantle and the first single-player game to support it. Furthermore for AMD it showcases that they have Mantle support from more developers than just EA and other Frostbite 3 users, with Square Enix joining the fray. Finally it’s the first Unreal Engine based game to support Mantle, which can be particularly important since Unreal Engine 3 is so widely used and we expect much the same for the forthcoming Unreal Engine 4.
But more excitingly the release of this patch heralds the public release of AMD’s TrueAudio technology. Where Battlefield 4 was the launch title for Mantle, Thief is the launch title for TrueAudio, being the first game to receive TrueAudio support. At the same time it also marks the start of AMD enabling TrueAudio in their drivers, and the start of their TrueAudio promotional campaign. So along with Thief, AMD is also going to be distributing demos to showcase the capabilities of TrueAudio, but more on that later.
Diving right into matters then, at the end of last week AMD was able to get the press access to today’s patch, giving us a short opportunity to look at Thief from both a Mantle perspective and a TrueAudio perspective. As this week coincides with GDC 2014 we haven’t had a ton of time to spend with Thief, so this overview is going to be relatively brief, but it has given us enough time to play with both of AMD’s technologies.
As this is a brief overview we’re going to skip recapping the technical details behind Mantle and TrueAudio. But if you haven’t read our previous works on those subjects, you can find more details on TrueAudio and Mantle in their respective articles.
Finally, launching alongside today’s Thief patch will be the latest rendition of AMD’s Catalyst drivers, Catalyst 14.3 Beta 1 (build 13.1350.1005). We don’t have a change log for these drivers at this point – expect one to be posted alongside the drivers today – but the important point is that these are the drivers intended to be used alongside the newly patched Thief and AMD’s TrueAudio demos.
|CPU:||Intel Core i7-4960X @ 4.2GHz|
|Motherboard:||ASRock Fatal1ty X79 Professional|
|Power Supply:||Corsair AX1200i|
|Hard Disk:||Samsung SSD 840 EVO (750GB)|
|Memory:||G.Skill RipjawZ DDR3-1866 4 x 8GB (9-10-9-26)|
|Case:||NZXT Phantom 630 Windowed Edition|
AMD Radeon R9 290X
AMD Radeon R7 260X
|Video Drivers:||AMD Catalyst 14.3 Beta 1|
|Headphones:||Sennheiser PC 360|
|OS:||Windows 8.1 Pro|
First and foremost, let’s talk about Mantle. Whereas Battlefield 4 was primarily a multiplayer game, Thief is the first single player game to gain Mantle support. So although Thief isn’t the first Mantle game, by virtue of being a single player game it presents gamers and Mantle with a very different and much more tightly structured workload to work off of. Perhaps more importantly, since it is a single player game it has a much more consistent performance profile than Battlefield 4, and better still it even has a built in benchmark to go with it.
On the whole, Thief is a better than average game from a graphics technology perspective. It is a multi-platform title based on Unreal Engine 3, and at higher quality settings includes a number of graphical features such as tessellation, contact hardening shadows, and even supersample anti-aliasing (achieved through internally rendering at a higher resolution). However even with those effects, unlike Battlefield 4, Thief is much easier to CPU bottleneck. On our fastest video cards it tends to be SSAA (or very high resolutions) that leads to Thief being bottlenecked, allowing it to otherwise become CPU bottlenecked at 1080p without SSAA.
When it comes to being CPU limited, Thief’s preferences are clear: 4 cores with as much performance per thread as you can throw at it. This leads to Thief strongly favoring Intel CPUs – first the quads and then the dual cores – with AMD’s CPUs and APUs falling into place after that. As a result of these CPU bottlenecks Thief can trend very close to being a best case scenario for Mantle, so long as it’s not outright GPU bottlenecked.
With that in mind we quickly took a look at Thief’s Mantle performance on an R9 290X (Uber mode to rule out throttling) and an R7 260X to cover both a high-end GPU and a mainstream GPU. Furthermore we tested both of those configurations with a variant of the game’s Very High settings – dropping SSAA down to Low in exchange for 16x AF, alongside the game’s Low settings. Finally we ran the above against both a high-end CPU configuration of 6 cores/12 threads at 4.2GHz, and a low-end configuration of 2 cores/4 threads at 3.3GHz.
On a quick side note, AMD included the following notes with their instructions for testing Thief. In short, Mantle is up and running for all compatible AMD cards, but multi-GPU is not yet working, and memory management is in need of further optimization.
- Mantle performance for GPUs with 2GB framebuffers will receive additional optimization in a future application path for Thief™. Currently, these products may see limited gains in scenarios requiring large amount of video memory (e.g. maximum detail settings with SSAA enabled).
- Multi-GPU support under the Mantle codepath will be added to Thief in a future application patch
- As with other first-person titles, relatively smaller gains will be observed in GPU-bound scenarios
Looking first at the R9 290X, we can see that even at our modified Very High settings, there are still some small performance gains to be had from enabling Mantle. Switching out Direct3D for Mantle gets us another 3.6fps, or a 5% boost in performance. As we would expect however, a far more significant gain can be found when using Low settings. He we can see the 290X top out at 86.8fps with D3D – indicating that our earlier Very High settings weren’t all that far from being CPU bottlenecked – while Mantle boosts that up to 117.7fps, for a gain of 30.9fps or 36%.
From a practical perspective we would expect most 290X owners to be playing at settings similar to Very High, so the performance gains, though appreciated, aren’t especially influential in the long run. But it does give us some idea of what to expect.
Meanwhile if we start slowing down the CPU to just 2 cores at 3.3GHz, we can see the Mantle performance advantage grow. In this CPU bottlenecked scenario the performance gains from enabling Mantle are anywhere between 33% for Very High settings to a rather sizable 49% when using Low settings. This scenario, though contrived, makes for a good reminder of how significantly the current Direct3D rendering pipeline can bottleneck a GPU in the wrong (right?) circumstances.
Moving on to the 260X, to no surprise we’re completely and utterly GPU bottlenecked with our Very High settings. The performance gains with Mantle are inconsequential at best, indicating that Mantle isn’t being used to significantly alter the rendering process on the GPU itself.
Shifting over to Low settings still leaves our setup GPU bottlenecked when testing against the 6 core setup, however we do see a very distinct performance gain on the 2 core setup. In this scenario enabling Mantle is worth an 11.1fps boost, or 25%, pushing the framerate up to 55.4fps.
Despite this being an artificial test on our GPU testbed, we would consider this to be a very real scenario overall given the price of the 260X. At $119 (MSRP) the 260X is very likely to be paired with a dual-core CPU or equivalent, so to see a meaningful performance gain in this scenario is promising. Whether any other Mantle-enabled single-player games will be this badly CPU limited remains to be seen, but if other games were to behave like Thief, then we may see similar gains on lower-end setups such as this.
Ultimately we’ve only had a limited amount of time with the Thief Mantle patch, so we’ll have to take a look at the competitive landscape another day. But as a pure Mantle analysis Thief is probably the greater beneficiary from Mantle at this time. The gains at the high end aren’t worth writing home about, but since we need the CPU to churn out a fairly high framerate regardless, there’s a much greater opportunity to benefit from Mantle on lower end Intel CPUs and AMD’s CPUs/APUs.
Getting to what I feel is the more exciting aspect of today’s patch and driver release, we have our first look at AMD’s TrueAudio technology. To preface this with an appropriate degree of expectation management, nothing being presented with TrueAudio today is going to qualify as being all that groundbreaking. TrueAudio is an audio processing technology designed to offload advanced audio processing that could be done on the CPU, and in years past would have been handled on dedicated sound cards. To that end unlike the world of graphics where we’re usually talking about technologies and rendering techniques that are breaking new ground, TrueAudio is closer to a new way of retreading it.
The upside however is that TrueAudio is the first serious attempt in almost a decade to improve the quality and quantity of audio spatialization and effects on the PC. With Windows Vista having moved audio processing into software, and multi-platform titles (i.e. console ports) becoming increasingly common, PC audio has by most metrics regressed since the middle of the last decade. This has led to game audio ranging anywhere from good to terrible, depending on the capabilities of the audio stack used in a game. The best of games will offer a solid spatialization algorithm – and spend the CPU time to do it – while the worst of games will usually be optimized for a 2 and 5.1 speaker setups, mixing down from that for other setups while using minimal environmental processing and effects.
This is ultimately all work that could be done in the CPU, but good audio effects aren’t always cheap, and game developers as a whole have been apprehensive about dedicating significant CPU time to audio when they could be using it to improve graphics or lower the system requirements. In the meantime the launch of the current generation of consoles presents an interesting opportunity as those devices are equipped with dedicated audio DSPs – technology similar to TrueAudio in the case of the Playstation 4 – so offering DSPs in the PC offers the chance to piggyback on those developments. The end result is that for headphones gamers (such as myself), the combination of the new console generation and AMD’s push for better audio processing with TrueAudio offers the hope for an improvement in PC audio processing, and some neat hardware to back it up.
For our look at TrueAudio we’ll kick things off once again with Thief. As the first game to implement TrueAudio support it gives us our first chance to evaluate TrueAudio within a game, both from a performance standpoint and a quality/benefits standpoint.
With today’s patch Thief is gaining support for Convolution Reverb, which can be done in either software or the TrueAudio hardware. Convolution reverb is the only effect being offloaded – all other processing stays on the CPU – so what Thief will be showing off is only one possible use for the TrueAudio hardware. Unfortunately software convolution reverb processing doesn’t seem to be working at this time (see our sample below), so we can really only evaluate it running on TrueAudio versus the effect being disabled entirely. Accordingly, we can’t really measure the CPU performance costs of convolution reverb either, and our testing has found no performance hit from enabling the TrueAudio implementation.
Convolution reverb itself is a relatively simple effect that can quickly ramp up in processing requirements as the number of reflections increases. In convolution reverb a real world audio sample of an environment (the impulse response) is used to model how sound should reverberate through an artificial environment, essentially allowing games to mimic real world reverb by using the impulse response as a template. The quality of the effect in turn will depend on both the quality of the initial sample and how developers choose to use it, so unlike a modeled approach (e.g. real time ray casting) the accuracy of the effect is only as good as the inputs.
With that in mind, compared to graphics it’s much more difficult to objectively compare audio technologies. Convolution reverb’s simple nature naturally separates listeners into groups that either like the effect or don’t, but in either case it’s hard to argue that there’s a definitive answer. Not unlike something like G-Sync, all we can really do is offer some samples and discuss the experience, since we can’t fall back on hard numbers.
Convolution Reverb: Off, Software (broken), and TrueAudio
In our above sample we’re banging a knife on a brick wall, a simple but effective way to test with the effect enabled and disabled with a high degree of accuracy and repeatable. And having played through the first level of Thief with convolution reverb both on and off, I unfortunately find myself distinctly in the group of people who would find it unnatural. Throughout that section of the game, with reverb enabled many sounds come off as sounding out of place.
Now what is a Victorian Era alleyway supposed to sound like? I honestly have no idea, hence the subjective nature of it. But throughout Thief the effect feels overdone; every sound source affected by reverb seems to have too much of the effect, from NPCs talking to weapons striking. Without convolution reverb there’s a very noticeable lack of reverb altogether, but with it turned on I can’t shake the impression that there’s now too much reverb.
Ultimately I’m not sure if there really is too much reverb in Thief, or if it’s in my head (figuratively speaking). Have I just grown too used to games that are light on reverb, and now that I’m playing a game with convolution reverb it’s merely not what I’m used to? Or is it really overdone, if only to show off the technology and to make sure it’s noticed?
As a graphics and GPU guy, it reminds me a lot about the debate about film frame rates. I for one find 24fps material jerky, blurry, and blatantly unnatural. And yet most people around me would say that it’s high frame rate material that’s unnatural, as they have become accustomed to 24fps films and anything above that breaks their perception since it’s not what they’ve come to expect. I’m left to wonder if I’m in a similar situation, except for audio.
In any case, on a purely subjective evaluation, I don’t feel that Thief is a strong showcase for TrueAudio. The question isn’t one of technical merit – audio DSPs aren’t new and have proven their value – but rather whether the game is a good example of what the technology can do and how it’s used. And since Thief only uses it for convolution reverb, and I feel uses that reverb too heavily, I would most likely play with the effect turned off, thereby bypassing the TrueAudio hardware entirely. As just one game out of what will hopefully be many more I won’t base my entire opinion on TrueAudio off of this one game, but at the end of the day it’s not the strongest argument for TrueAudio. Hopefully future games put it to better use, both in terms of using the hardware for more types of processing, and not overdoing the reverb as is occurring here. To draw a historical parallel, for anyone that was around back in 2001 to play the original Unreal Tournament with the EAX patch, Thief’s additional of reverb feels a lot like the unnatural reverb that occurred on several of UT’s maps.
With that in mind though, Thief isn’t the only sample of TrueAudio for today. AMD is also releasing one of their in-house demos today for public consumption, and this is a demo that I feel is a much better example of TrueAudio’s potential.
Set in a simple simulation of a Tuscany villa, the aptly named Tuscany demo is a short but effective demonstration of TrueAudio in action. Built in Unity and using GenAudio’s AstroundSound 3D RTI plugin, the Tuscany demo is a combination TrueAudio and Occulus Rift demo. On the visual side it offers input and output support for Occulus’s 3D headset (though it works with regular setups relatively well), while on the audio side it implements AstroundSound’s 3D audio spatialization algorithms on the TrueAudio hardware. Tuscany uses a number of sound sources, all of which are processed by the TrueAudio hardware to do elevation, distance, and positioning spatialization.
This is recorded directly from our Tuscany walk-through, so if you’re listening on headphones without any processing, this should sound exactly like it did for us
As we alluded to at the start of this section, audio spatialization is nothing new. However relatively few games do a good job of it, and even fewer do a good job of it on headphones. So to have a demo utilizing full spatialization, doing it well, and doing it in hardware is quite refreshing compared to what we see with most games.
But with that in mind, the Tuscany demo doesn’t really lend itself to comparison. It doesn’t work without the TrueAudio hardware and it doesn’t support other types of hardware, so we can’t compare it to remaining hardware solutions such as Creative’s SoundBlaster or Asus’s Xonar parts, or even to post-processing technologies such as Dolby Laboratories Dolby Headphone technology. That said, to get back to subjective opinions, I feel like AstroundSound 3D implementation in Tuscany is similarly accurate and realistic as (if not better than) any Asus or Creative solution I’ve tried in the past. Reverb aside, as a gamer I’d first like to see better spatialization in games, and this I feel is an example of where it’s done right both for quality and for making use of the underlying hardware.
Wrapping things up, even with the launch of Thief I’m not sure much has changed for TrueAudio at the moment. Subjectively speaking, Thief’s convolution reverb effect just isn’t that impressive due to how overdone it feels, so while it shows us a bit of what the TrueAudio hardware is capable of it’s nowhere near being the killer app for the technology. On the other hand the Tuscany demo, though just a simple spatialization demo, is very impressive for how accurate and realistic it sounds. The catch is that it’s just a demo.
As such the ultimate value of TrueAudio remains to be seen. Even if AMD can get game developers and middleware developers to support TrueAudio, they need to be putting it to good use to make it worth using, and more importantly valuable enough to justify purchasing an AMD video card over an NVIDIA video card. This is a problem I feel NVIDIA has yet to solve with PhysX even after all of these years – it’s still rarely used, and doesn’t seem to influence many gamers – and while it’s far too early to declare TrueAudio’s fate I can certainly see it ending up in a similar rut. Or widely adopted, or not adopted at all as the case may be. But for the time we have finally seen that the hardware is capable of delivering on its premise and its promise, so long as there are developers out there willing and able to put it to good use.