This is the starting time office of an investigation into game streaming, a topic that we've been requested on before -- particularly after we review CPUs -- but that has purposely been left out because it'due south quite complex to explore all the nitty gritty details of streaming along with everything else in those reviews.

In the side by side weeks nosotros'll dedicate a couple of articles to game streaming and provide yous with a definitive answer on what sort of setup is the best, and what quality settings brand the nigh sense to apply. Today's investigation is focused on streaming quality settings, we desire to observe out what encoding settings evangelize the all-time residuum between quality and performance, and how each of the various popular encoding modes differs in terms of results.

I of the key things nosotros desire to figure out first: whether software encoding on the CPU, or hardware accelerated encoding on the GPU is the better arroyo...

A chip of backstory on our test platform before nosotros get into the results... one of the key things we desire to figure out starting time, is whether software encoding on the CPU, or hardware accelerated encoding on the GPU is the better approach. This is actually one of the key battles, because if GPU encoding is the way to go, what CPU you need for streaming becomes largely irrelevant, whereas if CPU encoding is better, naturally your choice of processor becomes a major cistron in the level of quality, not just in terms of consistency of streaming, but game operation on your stop.

Over the final few months in item, GPU encoding has get more interesting because Nvidia updated their hardware encoding engine in their new GPU architecture, Turing.

While a lot of the focus went into improving HEVC compatibility and functioning, which isn't really relevant for game streaming at the moment, Turing's new engine is besides supposed to bring 15% better H.264 quality compared to the older engine in Pascal (GTX ten serial). And so that's something nosotros'll look into, and run across how Turing stacks upward against x264 software encoding.

On the GPU side, we'll be using the RTX 2080 for Turing encoding, a Titan 10 Pascal for Pascal encoding, and we'll also see how AMD stacks upwards with Vega 64.

The second role of the investigation involves software encoding with x264, using a diverseness of presets. We're going to exit a CPU comparison with software encoding for a carve up article, in this one we're more interested in how each preset impacts operation and quality.

All testing was done with the Core i7-8700K overclocked to 4.9 GHz and sixteen GB of DDR4-3000 memory, which is our current recommended platform for loftier-terminate gaming. In the future nosotros'll encounter how the 9900K fares along with AMD Ryzen CPUs.

For capturing this footage nosotros're using the latest version of OBS, set to record at 1080p lx FPS with a abiding bitrate of 6000 kbps. These are the maximum recommended quality settings for Twitch, if yous were simply recording gameplay for other purposes nosotros'd recommend using a higher bitrate, but for streaming to Twitch y'all'll demand to proceed information technology to 6 Mbps or lower unless you are a Partner.

We're testing with two games hither, we have Assassin's Creed Odyssey which is a highly GPU and CPU demanding title, something that CPU encoding struggles with; and Forza Horizon 4, which is less CPU demanding only a fast paced title that low bitrate encoding tin have issues with. Both titles present a bit of a worse instance scenario for game streaming, but in dissimilar and unique ways.

We'll start with GPU encoding, because this is something that has been known to be rather terrible for a long fourth dimension now. The primal bit of involvement hither is to see how Turing has managed to improve things compared to past GPU encoding offerings, which were pretty much unusable next to CPU encoding options.

For Nvidia cards we used the NVENC option in OBS, and set information technology to use the Loftier Quality preset at 6 Mbps. In that location are a few other preset options but High Quality produces, equally the name suggests, the highest quality output. For AMD's Vega 64 we tried a range of encoding options, both in terms of preset and bitrate, without much luck as you'll encounter in the comparisons soon.

Putting Turing and Pascal'due south NVENC implementations side by side, there honestly isn't that much of a difference at six Mbps. Both suffer from serious macroblocking effects, and in general at that place is a consummate lack of detail to the image. In Forza Horizon 4 in particular, blocking is very noticeable on the route and looks terrible. Turing's encoder is perhaps a piddling sharper and in some situations is less blocky, but really both are garbage and if you want to stream games, this isn't the sort of quality that will print your viewers.

AMD's encoder is even worse in that when your GPU utilization is up near 100%, the encoder completely craps its dacks and can't render more than about 1 frame per second, which wasn't an issue with the Nvidia cards.

I was able to become the encoder working with a frame limiter enabled, which brought GPU utilization down to around threescore% in Forza Horizon 4, but even with the 'Quality' encoding preset, the quality Vega 64 produced was worse than with even Nvidia's Pascal cards.

With AMD'due south encoder out of the question correct from the starting time, permit'southward await at how Nvidia's NVENC compares to software x264 encoded on the CPU. In the slower moving Assassinator'southward Creed Odyssey criterion, NVENC even using the Loftier Quality preset is noticeably worse than x264's veryfast preset, particularly for fine detail, even when both are limited to just 6 Mbps.

Veryfast x264 isn't amazing by any stretch, but the level of blocking and the lack of detail to Turing'southward NVENC implementation is terrible in comparing.

In the faster moving Forza Horizon 4 benchmark, Turing's NVENC does outperform x264 veryfast in some areas, NVENC again probably has slightly worse blocking merely veryfast actually struggles with moving fine detail. With this level of motility, NVENC is approximately equal to x264's "faster" preset. There is no doubtfulness, however, that x264's "fast" preset is significantly better than NVENC in fast motility, and completely smokes it when in that location is dull or no motility.

These results are possibly a little surprising considering Nvidia claims their new Turing NVENC engine for H.264 encoding is around the mark of x264 fast encoding or fifty-fifty slightly amend at 6000 Kbps for 1080p threescore FPS streaming. But from what I observed, peculiarly in Assassin'due south Creed Odyssey, software encoding was much better.

When looking purely at software x264 encoding presets, there are noticeable differences betwixt each of veryfast, faster, fast and medium. In the slower moving Assassin's Creed Odyssey – and ignoring the clear functioning bug with some presets for now – veryfast and faster don't deliver a groovy level of quality, with a lot of smearing, blocking in some areas, and a lack of fine particular particularly for objects in motion.

These two presets really should exist reserved just for those that want to stream casually, because the presentation when capped to vi Mbps isn't great.

The fast preset is the minimum I'd consider using for a quality game stream, particularly if you value image quality for your viewers. It provides a noticeable quality jump over faster, to the point where blurred fine particular now has definition.

Medium is a noticeable improvement over again, but the gap between fast and medium is smaller than the gap between faster and fast. And as we'll run into in a moment, good luck using the medium preset on the same organization the game is running on. I did also check out the slow preset but at this point nosotros're into diminishing returns for a massive performance hit.

For faster movement in Forza Horizon iv, once more I'd completely dismiss the veryfast preset immediately because it's worse than NVENC for this type of content. Unfortunately the tight bitrate limit of 6000 kbps prevents any preset from doing true justice to the source material, simply in one case again medium gets the closest and provides an improvement over fast.

The faster preset looks terrible then again I'd suggest fast every bit the accented bare minimum for this type of content, really I'd recommend medium at a higher bitrate only hey, Twitch has set the limit to half-dozen Mbps and so it's basically the best we tin can practise.

Performance

Simply prototype quality is only i part of the equation, of course, the other is operation, and when you're streaming your gameplay from the very same computer you lot are playing on, it'due south important that both your gameplay experience and the performance of the stream are adequate.

We'll starting time here by looking at GPU encoding and come across how that affects performance...

Enabling either Pascal or Turing's NVENC engine affects the frame rate of the game by around ten to xx% depending on the game, in other words, you'll see a x to xx% drop to frame rate when capturing footage using NVENC, compared to not capturing the game at all. The more GPU limited the game is, the more than of an impact NVENC will take, which is why Forza Horizon 4 is impacted more heavily than the heavy CPU user in Assassin'south Creed Odyssey.

The good news, though, is while you'll be running the game at a lower framerate while NVENC is working, the stream itself will have perfect performance with no dropped frames, even if the game is using 100% of the GPU. AMD's encoding engine doesn't affect the game'southward framerate nearly as much, but information technology drops virtually 90% of the frames when the GPU is being heavily used, making it useless as we already discussed earlier.

Software encoding functioning depends on the blazon of game you lot're playing. In the example of Assassinator's Creed Odyssey which heavily utilizes both the CPU and GPU, streaming using the CPU will accept a noticeable affect on frame rate, and high quality encoding presets will struggle to go on up.

With the Core i7-8700K and the RTX 2080 playing Odyssey using our custom quality preset, we were only able to encode the game using the x264 veryfast preset without suffering from frame drops in the stream output. X264 veryfast encoding also reduced the frame rate past 17%, which was a larger reduction than only using NVENC. Veryfast encoding is amend visually than NVENC for this type of game, and so the operation hitting is worth it.

However moving to fifty-fifty the 'faster' preset introduces frame drops into the stream output. With a frame drop rate of 8.five%, the output is stuttery and hard to watch. Meanwhile, game performance has dropped from xc FPS on boilerplate, to just 63 FPS with a 1% low only just higher up 30 FPS. It's clear this preset is choking the system. And it gets worse with fast and medium, which see frame drop rates of 62 and 82 pct respectively. Interestingly, game performance is slightly better with these presets than with faster, but I doubtable that's due to the encoder being overwhelmed which allows the game to get a small corporeality more CPU headroom for rendering the game.

One strategy to improve performance might be to cap the game to lx FPS, as those watching your stream will be limited to lx FPS anyway. Simply with this cap in identify, the story isn't much ameliorate: the fast preset still sees 9% of all frames dropped, while the faster preset merely scrapes in with no frame drops, just with a i% depression in the game of around twoscore FPS. The only option to apply fast would exist to reduce the visual quality and attempt again, but for this commodity we weren't really interested in optimizing Assassin's Creed specifically for streaming with our hardware.

With the 8700K limited to veryfast streaming or GPU streaming in this title, it will be interesting to encounter how other CPUs stack up in function 2 of this investigation. But certainly with the 8700K – a high-end, popular gaming CPU – what we've shown here is a typical scenario for streaming in a title that heavily utilizes the CPU and GPU. Those with lower-tier CPUs and in item, lower core count Intel CPUs, will see this veryfast limit more often.

As for Forza Horizon iv, which is far less enervating on the CPU, it'southward an interesting state of affairs because software encoding on the CPU actually delivers college game performance than hardware accelerated GPU encoding. This is because there is enough of CPU headroom to encode on the CPU without eating in to GPU performance.

Using the x264 veryfast preset impacted game performance by half dozen% looking at 1% lows, but the difference between veryfast and fast was only a further v% drib despite the massive increase in CPU power required to encode using the fast preset.

On the stream side, nosotros saw no frame drops with the veryfast and faster presets, still moving to fast saw a 12% frame drib rate for the encoded stream. This caused unpleasant stuttering in the stream. However considering we are running the game at nearly 120 FPS, nosotros can quite easily implement a sixty FPS cap to reduce the game's stress on the CPU. With that cap in place, the fast preset becomes usable with zero frame drops in the output. The cap also opens upwardly the choice of medium preset encoding, although with the 8700K we all the same saw around a ii% of all frames dropped with the threescore FPS cap in place, which isn't ideal. If we wanted to go with medium encoding nosotros'd have to await at reducing the game's CPU load through quality setting tweaks.

Wrap Up (Until Part 2 of this Series)

So with all that testing done, there's a few interesting takeaways here. The primal finding for GPU buyers at the moment is that Turing'south GPU encoding engine for H.264 isn't significantly improved compared to Pascal and certainly doesn't turn GPU encoding into a viable selection for streaming.

The only fourth dimension I'd suggest using NVENC is with fast paced, high motion games with a system that cannot CPU encode using the x264 faster preset or better. Games with less motion should be encoded using the veryfast x264 preset rather than NVENC, and veryfast should exist achievable on most PCs that have been congenital with streaming in listen.

On the AMD front, their encoding engine needs enough of piece of work to exist fifty-fifty considered. Information technology doesn't work with high GPU loads and when it does work, the output quality is terrible.

CPU encoding is obviously a more catchy story as what level of x264 encoding you tin can manage will depend on your CPU and, crucially, the blazon of game yous are playing. With our 8700K system we ranged from being stuck with veryfast encoding in a CPU demanding game, to being able to use the fast or even medium preset with a steady 60 FPS game output at decent quality settings in a less CPU demanding championship.

But what streamers should be aiming for is to use the fast preset at a minimum, that'south the first preset where the output quality is decent enough at six Mbps for Twitch streaming, and while it's non fantastic for fast motility scenes, fast is much better than either the faster or veryfast presets yet it'south still achievable on decent hardware. Medium is also worth trying for those with tiptop-end systems, while I really wouldn't carp with any of the fifty-fifty slower presets.

While it'due south nice to be able to game and stream on the ane PC, this advice really only applies to casual or role-time streamers. Anyone who is streaming professionally or full time should use a second, dedicated stream capture PC with a decent capture card and CPU. This then fully offloads the encoding work, allowing you lot to comfortably utilise the medium preset or slower for the all-time quality streams, without impacting your game performance.

Nosotros've now discovered what the optimal presets are from a quality perspective. The second function of this series on game streaming we'll investigate which CPUs are capable of encoding at these presets, so stay tuned for that.

Shopping Shortcuts
  • Intel Core i7-8700K on Amazon, Newegg
  • Intel Core i9-9900K on Amazon, Newegg
  • Intel Core i7-9700K on Amazon, Newegg
  • Intel Core i5-8400 on Amazon, Newegg
  • Intel Z390 motherboards on Amazon, Newegg
  • AMD Ryzen 5 2600 on Amazon, Newegg
  • AMD Ryzen seven 2700X on Amazon, Newegg
  • AMD Threadripper 2950X on Amazon, Newegg
  • AMD X470 motherboards on Amazon

Masthead credit: Sean Do