Hands On With NVIDIA's Shadowplay

Though it’s technically not part of the GeForce GTX 780 Ti launch, before diving into our typical collection of benchmarks we wanted to spend a bit of time looking at NVIDIA’s recently released Shadowplay utility.

Shadowplay was coincidentally enough first announced back at the launch of the GTX 780. Its designed purpose was to offer advanced game recording capabilities beyond what traditional tools like FRAPS could offer by leveraging NVIDIA image capture and video encode hardware. In doing so, Shadowplay would be able to offer similar capabilities with much less overhead, all the while also being able to utilize the NVENC hardware H.264 encoder to encode to space efficient H.264 rather than the bulky uncompressed formats traditional tools offer.

With Shadowplay and NVIDIA’s SHIELD streaming capabilities sharing so much of the underlying technology, the original plan was to launch Shadowplay in beta form shortly after SHIELD launched, however Shadowplay ended up being delayed, ultimately not getting its beta release until last week (October 28th). NVIDIA has never offered a full accounting for the delay, but one of the most significant reasons was because they were unsatisfied with their original video container choice, M2TS. M2TS containers, though industry standard and well suited for this use, have limited compatibility, with Windows Media Player in particular being a thorn in NVIDIA’s side. As such NVIDIA held back Shadowplay in order to convert it over to using MP4 containers, which have a very high compatibility rate at the cost of requiring some additional work on NVIDIA’s part.

In any case with the container issue resolved Shadowplay is finally out in beta, giving us our first chance to try out NVIDIA’s game recording utility. To that end while clearly still a beta and in need of further polishing and some feature refinements, at its most basic level we’ve come away impressed with Shadowplay, with NVIDIA having delivered on all of their earlier core promises for the utility

With regards to functionality, all of Shadowplay’s basic functionality is in. The utility offers two recording modes: a manual mode and a shadow mode, the former being self-explanatory while the latter being an always-active rolling buffer of up to 20 minutes that allows saving the buffer after the fact in a DVR-like fashion. Saving the shadow buffer causes the entirety of the buffer to be saved and a new buffer started, while manual mode can be started and stopped as desired.

Shadowplay Average Bitrates
High Quality 52Mbps
Medium Quality
23Mbps
Low Quality
16Mbps

Next to being able to control the size of the shadow buffer, Shadowplay’s other piece of significant flexibility comes through the ability to set the quality (and therefore file size) of the recordings Shadowplay generates. Since Shadowplay uses lossy H.264 the recording bitrates will scale with the quality, with Shadowplay offering 3 quality levels: high (52Mbps), medium (23Mbps), and low (16Mbps). Choosing between the quality levels will depend on the quality needed and what the recording is intended for, due to the large difference in quality and size. High quality is as close as Shadowplay gets to transparent compression, and with its large file sizes is best suited for further processing/transcoding. Otherwise Medium and Low are low enough bitrates that they’re reasonably suitable for distribution as-is, however there is a distinct quality tradeoff in using these modes.

Moving on, at this moment while Shadowplay offers a range of quality settings for recording it only offers a single resolution and framerate: 1080p at 60fps. Neither the frame rate nor the resolution is currently adjustable, so whenever you record and despite the resolution you record from, it will be resized to 1920x1080 and recorded at 60fps. This unfortunately is an aspect-ratio unaware resize too, so even non-16:9 resolutions such as 1920x1200 or 2560x1600 will be resized to 1080p. Consequently at this time this is really the only weak point for Shadowplay; while the NVENC encoder undoubtedly presents some limitations, the inability to record at just a lower resolution or in an aspect ratio compliant manner is something we’d like to see NVIDIA expand upon in the final version of the utility.

Finally, let’s talk about performance. One of Shadowplay’s promises was that the overhead from recording would be very low – after all, it needs to be low enough to make always-on shadow mode viable – and this is another area where the product lives up to NVIDIA’s claims. To be sure there’s still some performance degradation from enabling Shadowplay, about 5% by our numbers, but this is small enough that it should be tolerable. Furthermore Shadowplay doesn’t require capping the framerate like FRAPS does, so it’s possible to use Shadowplay and still maintain framerates over 60fps. Though as to be expected, this will introduce some frame skipping in the captured video, since Shadowplay will have to skip some frames to keep within its framerate limitations.

Shadowplay Performance (GTX 780 Ti)

On a related note, we did some digging for a technical answer for why Shadowplay performs as well as it does, and found our answer in an excellent summary of Shadowplay by Alexey Nicolaychuk, the author of RivaTuner and its derivatives (MSI Afterburner and EVGA Precision). As it turns out, although the NVENC video encoder plays a part in that – compressing the resulting video and making the resulting stream much easier to send back to the host and store – that’s only part of the story. The rest of Shadowplay’s low overhead comes from the fact that NVIDIA also has specific hardware and API support for the fast capture of frames built into Kepler GPUs. This functionality was originally intended to facilitate GRID and game streaming, which can also be utilized for game recording (after all, what is game recording but game streaming to a file instead of another client?).

This functionality is exposed as Frame Buffer Capture (NVFBC) and Inband Frame Readback (NVIFR). NVFBC allows Shadowplay to pull finished frames straight out of the frame buffer directly at a low level, as opposed to having to traverse the graphics APIs at a high level. Meanwhile NVIFR does have operate at a slightly higher level to inject itself into the graphics API, but in doing so it gains the flexibility to capture images from render targets as opposed to just frame buffers. Based on what we’re seeing we believe that NVIDIA is using NVFBC for Shadowplay, which would be the lowest overhead option while also explaining why Shadowplay can only capture full screen games and not windowed mode games, as frame buffer capturing is only viable when a game has exclusive control over the frame buffer.

Wrapping things up, it’s clear that NVIDIA still has some polishing they can apply to Shadowplay, and while they aren’t talking about the final release this soon, as a point of reference it took about 4 months for NVIDIA’s SHIELD game streaming component to go from beta to a formal, finished release. In the interim however it’s already in a very usable state, and it should be worth keeping an eye on in the future to see what else NVIDIA does to further improve the utility.

The Test

The press drivers for the launch of the GTX 780 Ti are release 331.70, which other than formally adding support for the new card is otherwise identical to the standing 331.65 drivers.

Meanwhile on a housekeeping note, we want to quickly point out that we’ll be deviating a bit from our normal protocol and including the 290X results for both normal (quiet) and uber modes. Typically we’d only include results from the default mode in articles such as these, but since we need to cover SLI/Crossfire performance and since we didn’t have 290X CF quiet mode results for our initial 290X review, we’re throwing in both so that we can compare the GTX 780 Ti to the 290X CF without being inconsistent by suddenly switching to the lower performance quiet mode numbers. Though with that said, for the purposes of our evaluation we will be focusing almost entirely on the quiet mode numbers, given the vast difference in both performance and noise that comes from using it.

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
Monitor: Asus PQ321
Video Cards: AMD Radeon R9 290X
AMD Radeon R9 290
XFX Radeon R9 280X Double Dissipation
AMD Radeon HD 7990
AMD Radeon HD 7970
NVIDIA GeForce GTX Titan
NVIDIA GeForce GTX 780 Ti
NVIDIA GeForce GTX 780
NVIDIA GeForce GTX 770
Video Drivers: NVIDIA Release 331.58 WHQL
NVIDIA Release 331.70 Beta
AMD Catalyst 13.11 Beta v1
AMD Catalyst 13.11 Beta v5
AMD Catalyst 13.11 Beta v8
OS: Windows 8.1 Pro

 

Meet The GeForce GTX 780 Ti Metro: Last Light
Comments Locked

302 Comments

View All Comments

  • Gadgety - Thursday, November 7, 2013 - link

    @Conduit

    Those who want the maximum number of CUDA cores (SPs) for the minimum amount of money, and apply those CUDA cores for GPU based ray trace rendering. Disregarding memory size differences this is what it looks like:

    The Quadro K6000 is $5000 for 2880 CUDA cores: 0.576 CUDA cores/dollar
    The TeslaK20 is $3500 for 2496 CUDAs: 0.7 CC/dollar.
    When the Titan launched it was a bargain at $1000 for 2688 CUDAS: 2.69 CC/dollar
    When the memory limited GTX780 launched it was 3.55 CC/dollar

    Now the GTX780Ti provides 2880 CUDAs for $699: 4.12 CC/dollar. Since it brings a decent 3GB memory, it's both cheaper and more powerful than the 1.5GB equipped GTX780. I get 576 extra CUDA cores for only 50 bucks!

    For larger scenes the Titan still is better, but for those that create smaller renders, the GTX780Ti is the absolute value leader. I can fit four of them in my chassis, at a total cost of $2800 for 11520 CUDAs. If I need the larger 6GB memory, the Titan alternative would be $4000 and provide 10752 CUDAS. Still cheap compared to four K6000 Quadros, which would be
    $20 000, for 11520 CUDAs. Although I would much prefer a 4GB, or larger version, of course.

    So that is who the hell pays the ultra bargain $700 for a GTX780Ti. It's not all about gaming.
  • Ananke - Thursday, November 7, 2013 - link

    Why are you still using CUDA instead of OpenCL is beyond me :).
    GTX780Ti is overpriced, NVidia probably doesn't even care, because they care about HPC market for their 110 cores. On the other hand, they do feel some financial heat recently - Tegra was a flop, everybody and his grandma is buying Qualcom today, and it seems Intel tomorrow...HPC computing moves towards Intel and FPGAA.
    NVidia indeed got EXTREMELY greedy in the last two years, and the industry has punished them.

    p.p. 3GB is not enough for "high-end" pricing. It is the minimum size already.
  • Gadgety - Thursday, November 7, 2013 - link

    What software are you using? The blazingly fast Octane runs only on CUDA. Blender Cycles runs on CUDA. VRay RT runs better on CUDA. Bunkspeed Shot and Bunkspeed Move for moving images, CUDA. 3DS Max, CUDA.

    The choice just seems less with OpenCL. What is there besides Luxrender? OpenCL, seems to have been in development, and there is hope for a brighter future, but I don't currently see it as on par with the CUDA applications, and it needs something to really take a big leap.
  • colonelclaw - Friday, November 8, 2013 - link

    I work in archvis, and we can't yet make full use of VRayRT because of memory usage. A typical housing development consumes >20GB Ram on our render nodes, and we don't make nearly enough money to justify buying K6000s or K5000s. Our still image output size is typically 5000x3337, so I think it's gonna be a few years until we can really embrace the whole GPU rendering, but it's definitely coming. I do use VRayRT a lot to set up lighting and materials at much lower resolutions, and it's pretty damn fast on a K4000.
  • TheJian - Thursday, November 7, 2013 - link

    One person out of how many that actually gets it? :)

    Heck you could sell the 3 AAA games for $100 off each card too ;) I just raised your CC/$ right? :)
  • Gadgety - Friday, November 8, 2013 - link

    Yes you did. Thanks. Assuming one can get $100 for the games, it's now 4.8CC/$. I assume the game bundle is temporary, though.
  • hero4hire - Sunday, November 10, 2013 - link

    Sold my 2game bundle for $40. Everybody won.
  • Trenzik - Thursday, November 7, 2013 - link

    Lol why is everyone's comments to Wreckage so MEAN? He made a simple comment and some of the replies are just ridiculous. Is he not allowed to state his opinion? And is it that hard to reply to something you don't agree to with dignity, class, and without having to cuss?
    Good old merica at its finest eh?
  • kyuu - Thursday, November 7, 2013 - link

    Because Wreckage is a blatant troll with nothing useful to contribute. No one is under any obligation to be nice to a useless shill, regardless of which company s/he is shilling for.
  • kyuu - Thursday, November 7, 2013 - link

    Oh, and I'd add that Wreckage posted his/her comment well before anyone could have actually read the article, so it's pretty obvious s/he came specifically to spout off.

Log in

Don't have an account? Sign up now