Hands On With AMD’s Gaming Evolved Client Game DVR
Over the last few years we have seen both AMD and NVIDIA become increasingly interested in developing and nurturing software ecosystems around their products. Born out of a desire to improve sales by offering additional functionality and to get a leg up on the competition in what’s otherwise a market of near-perfect substitutes, we have seen everything from APIs to middleware to software rolled out alongside video cards to develop these ecosystems.
The most recent spurt of ecosystem development has been especially focused on the software aspect, with AMD and NVIDIA branching out beyond drivers and control panels to offer more functionality and features through utility applications. In this respect the originator for this trend and the leader thus far has been NVIDIA, who kicked off this latest wave in ecosystem development with the release of their GeForce Experience utility a bit over a year ago. Since then NVIDIA has continued to flesh out GeForce Experience, and while AMD’s position has largely been one of copying NVIDIA and catching up, there’s something to be said for knowing when to copy a good idea for the benefit of your users.
First announced back at their Hawaii event and released in beta shortly thereafter, AMD’s take on the GeForce Experience style utility is the AMD Gaming Evolved Client. Rather than developing it internally AMD has been developing it as a sort of second-party utility that is a customized version of the Raptr client. This has led to a sometimes odd dichotomy between the utility functions that AMD needs and the monetization that Raptr needs, but none the less over the last half year or so the GEC has progressively improved in functionality and presentation.
With the GEC’s game optimization service now nailed down, AMD and the Ratpr developers have turned their eyes towards game recording and broadcasting, modeled after NVIDIA’s ShadowPlay feature. The first fruits of that labor were released last week with the release the GEC’s Game DVR feature.
Initially released in beta form, Game DVR leverages AMD’s hardware H.264 video encoder – the Video Codec Engine (VCE) – to offer game recording and broadcasting functionality. Game DVR allows for both manual recording and an always-on rolling buffer of video up to 10 minutes long, allowing the buffer to be permanently saved at will (and hence the DVR name).
Traditional video recording through applications such as FRAPS comes with a significant overhead on top of the time required to transcode a video for distribution, whereas leveraging the VCE in this manner is intended to significantly reduce the performance hit from recording and for the first time makes a DVR-like function practical. AMD is entering a slightly more crowded field for video recording utilities than NVIDIA did last year – MSI’s Afterburner recently added similar functionality, VCE and all – but this none the less marks the first time that VCE-accelerated recording has been available in an official AMD utility.
Also of note, along with recording functionality GEC is also adding Twitch broadcasting support. This leverages the same basic capture and encode paths as recording, but instead of going to disk gets uploaded to Twitch’s live video streaming service. As most Twitch clients are still software driven, the same benefits to recording apply to broadcasting here, allowing footage to be broadcasted without the significant overhead that normally comes with it.
Going Hands On
With the above in mind, we took some time to take a look at the GEC’s new Game DVR function. While it’s still in beta (and clearly so), AMD and the Raptr team have put together a solid first shot at a utility that should do for AMD’s users what Shadowplay did for NVIDIA’s users: making high performance/low overhead H.264 video recording accessible and practical for all users.
Diving right in then, as Game DVR is primarily keyboard driven, what little there is to look at takes place in the GEC preferences pane. Here you can set the quality of the recording, the recording location, and the keyboard shortcuts.
The GEC offers 3 default settings plus a customization setting, intended for 480p, 720p, and 1080p captures respectively. Recording maxes out at 50Mb/sec at 60fps, with a maximum resolution of 1080p. Meanwhile the replay buffer defaults to a surprisingly low 15 seconds, but can be increased to as long as 10 minutes. 16:10 and other non-16:9 users will find that the Game DVR only supports 16:9 resolutions, so recording at 1900×1200 and other aspect ratios is not possible. Though we’d like to see AMD take a page from NVIDIA’s playbook and ultimately enable these resolutions.
|Game DVR Default Settings
|1080p60 @ 50Mbps
720p30 @ 30Mbps
480p30 @ 10Mbps
The files generated by Game DVR are MP4 files for maximum compatibility. AMD is using High profile H.264 here, while audio is 192Kbps ABR AAC-LC. The actual bitrate of the recordings ends up being in flux, presumably due to AMD’s encoder having to take a best-shot based on how many frames it expects to encode. The actual framerates of our recordings are usually being reported at between 40fps and 50fps, despite the 290X’s ability to deliver well over 60fps, which is likely a factor in the inconsistent bitrates. When running decoupled – 60fps recording against an uncapped framerate above 60fps – it looks like Game DVR is often capturing frames at a fraction of the frame rate rather than skipping frames in an irregular manner. Recording with v-sync to lock framerates at 60fps produces far more consistent results (generally sustaining 60fps recorded) and is recommended in this case.
|Metro LL: Game DVR
Moving on to image quality and performance, from an image quality perspective at its highest settings Game DVR’s image quality is looking solid. At this bitrate the encoding is reasonably transparent, and even the driving rains of Crysis 3 are handled reasonably well. The only real knock here other than some slight softening is that Crysis 3 exposes some of the pitfalls of the RGB to 4:2:0 colorspace conversion, giving some fine anti-aliased edges a purple/green tint.
As for performance, Game DVR’s performance hit is minimal as promised. Between the 5 games we benchmarked with Game DVR on, the performance hit was consistent, but also consistently less than 3%, a generally inconsequential reduction. This ability to hold and maintain high framerates even with Game DVR enabled is essential towards making the DVR/replay functionality viable, and to that end AMD has delivered the performance they need to.
But with the above said, as we mentioned earlier Game DVR is still considered to be in beta, and as we’ve found out in our testing this is an apt description. Of the 6 games we tested only 4 of them worked correctly. On the other two we encountered different errors.
First and foremost, in the case of Thief there’s an unusual gamma problem that results in the recording coming out far darker than it should be. This problem is only in the recording while the original image as displayed is correctly balanced as you’d expect. Meanwhile Game DVR compatibility is still spotty, with some games/applications not being detected and recorded. Bioshock: Infinite was one such game, and 3DMark (2013) also could not be recorded by Game DVR. Game DVR does not have a desktop recording capability – AMD/Raptr haven’t mentioned whether they’re working on it, but we’d certainly hope they are – so any game that Game DVR fails to detect is currently unrecordable.
The developers for their part say they are aware of both issues and are working on it, but for the time being it reflects on the fact that Game DVR really is still in beta. Ultimately when Game DVR works it works well, however until compatibility is further improved there are going to be cases where it falls flat on its face. AMD and Raptr have built a solid base for Game DVR thus far, so this should just be a matter of working out the kinks.
Finally, it’s worth pointing out that Game DVR is also for the moment limited to Direct3D. OpenGL and Mantle cannot currently be captured, the lack of the former being as much expected, though the lack of ability to use Game DVR to record Mantle is a bit ironic. Though given the low level nature of Mantle and the resulting inability for utilities to hook into it like Direct3D, it will be interesting to see just what the solution ends up being.
Briefly, as for Twich, the broadcasting functionality works as expected. GEC’s Twitch capture support allows for broadcasting at up to 1080p60 at 3.5Mbps, which is in-line with other Twitch software. The software includes the ability to do webcam and chat overlays, covering the basic overlay functions that most broadcasters should need, though there will still be a need for more intricate 3rd party utilities for advanced users.
Wrapping things up, AMD tells us that they are expecting the Game DVR and Twitch features to exit beta later this summer. AMD and Raptr clearly have some polishing to do between now and then, but in the interim it’s already in a very usable and useful state.
As it stands AMD seems to have the basics nailed down for Game DVR, but from a competitive standpoint I don’t think there’s any getting around the fact that NVIDIA’s lead in developing recording software means that they still hold the edge in compatibility and functionality. AMD isn’t publishing a roadmap or feature list like NVIDIA did for Shadowplay so we won’t spend too much time speculating on what might be, but I’d certainly hope to see AMD continue to close the feature gap with NVIIDA. AMD doesn’t need 1:1 feature parity, but after having been spoiled by NVIDIA’s desktop capture, that’s really the last feature they need to make Game DVR a well-rounded utility.