Gaming And Streaming – Which CPU Is Best For Both
Game streaming is immensely popular right now. And with more than 2 million broadcasters serving approximately 100 million viewers a month, Twitch is unquestionably the leading platform for gamers looking to show off their skills.
Streaming is pretty easy to set up once you decide what you’ll use to encode your content. There are several options, each with its own strengths and weaknesses. Hardware-accelerated encoders, powered by Nvidia’s NVEnc, AMD’s Video Coding Engine, and Intel’s QuickSync, all promise to wrap your gaming experience up in a good-looking and easy-to-stream package without hammering your CPU. But it’s generally agreed that these encoders sacrifice quality and flexibility compared to software-based alternatives.
Conversely, software encoding with the x264 library is easy alongside utilities like Open Broadcaster Software (OBS) and XSplit. It offers better stream quality than GPU-driven approaches, but at similar bit rates. That’s important for services with defined bit rate limitations (like Twitch). Streaming can also chip away at bandwidth caps. Just one hour of streaming at 10 Mb/s equals 4.5GB of data, so you want the most efficient encoder possible.
A host processing-based approach offers more flexible configuration options. Better quality comes at a price, though. Software encoding is a CPU-intensive process, which obviously tugs the other way against our usual aim of running games at the highest frame rates possible.
Hitching, stuttering, lag, and generally bad performance curse gamers who try doing too much with limited software encoding resources. Thus, it’s often recommended to use a secondary system for high-quality streaming. In fact, that’s the best way to achieve an unencumbered gaming experience while also providing your audience a crisp video stream. That requires attaching your gaming rig to another computer via capture card or local area network to offload the encoding workload, though. Many casual gamers simply don’t have the money for such a configuration.
Software encoding can have a huge impact on gaming performance. Until recently, if you wanted to stream and game using the highest-quality solutions on one PC, you almost assuredly had to buy a pricey CPU with lots of threads to throw at the problem. But now those high-end desktop processors are more accessible than ever. AMD’s Ryzen 7 chips lowered the bar for getting lots of cores into affordable platforms, and most games can’t fully utilize them. That leaves lots of horsepower leftover for streaming at a reasonable price.
Intel’s Coffee Lake processors recently debuted with more cores as well, giving those Ryzen CPUs a run for their money in multi-tasked, multi-threaded workloads. Good thing, too. As we’ll see, the previous-gen Kaby Lake architecture simply cannot compete against like-priced AMD alternatives. Today’s story compares a number of different host processors in combined gaming/streaming workloads. Along the way, we developed test methodology you’ll see used in our future CPU reviews.
How We Tested
Repeatability is one of the most important components of any useful benchmark methodology. All tests have some degree of uncertainty, but we’re looking for a minimal and consistent amount of variability. Results plagued by wild swings in performance from one run to the next aren’t usable as accurate benchmarks.
As an example, we’ve yet to develop any reliable multi-tasking benchmarks. In response to reader requests, we have worked diligently to create a series of tests that measure gaming performance with background applications like Web browsers, email clients, media players, Discord, and Skype open. Windows’ prioritization appears to be based on fickle and unexplained factors. The operating system suspends various background processes unpredictably during one scripted sequence, then leaves them fully active during the next (even when the test environment hasn’t changed). This unpredictability becomes more, well, unpredictable, as the number of open applications increases. Switching Windows into Game Mode only complicates matters further. So far, we have no solution. Our multi-tasking experiments yield deltas from 5 to 15 FPS between successive runs, which means they land nowhere near our expectations for a reliable benchmark.
Luckily, game streaming is much easier to control. Encoding is a CPU-intensive task that chews up plenty of cycles, so Windows doesn’t suspend or otherwise interfere with it. This allows us to create repeatable benchmarks without extreme outliers.
What We’re Measuring
Evaluating game streaming performance works across two axes: game quality and stream quality. Of course, we’ll measure average, minimum, and 99th percentile frame rates with and without streaming in the background. We’ll also include our usual frame time and variance results, which become more important once we start streaming.
We also need to account for stream quality. That means recording the percentage of frames encoded. Each processor pushes different frame rates, so each run correspondingly generates a different number of frames. As such, we measure the percentage of frames successfully encoded as “% of Frames Delivered.” In the test below, a Threadripper 1950X CPU encoded 98.9% of the frames generated by our gaming session, meaning it skipped 1.1% of the frames due to encoding lag.
We’re streaming at 60 FPS, so we also measure stream quality by listing the percentage of frames encoded within the desirable 16.667ms (60 FPS) threshold. We also include the percentage of frames that land above and below the 60 FPS threshold, which helps quantify the hitching and stuttering a viewer would see on the stream. Subjective visual measurements are still important, so we’ll call out tests that generate a bad-looking stream.
Open Broadcaster System
There are several software encoding applications, but we chose Open Broadcasting System (OBS) due to its flexible tuning options, detailed output logs, and broad compatibility with streaming services. We’re using the x264 software encoder, along with YouTube Gaming for our streaming service. Any run that reports frames dropped due to networking interference is discarded.
Our ultimate goal is to develop a test that measures CPU performance, so we select parameters that remove the most obvious bottlenecks. Gaming at 1920×1080 with an EVGA GeForce GTX 1080 FE side-steps a GPU limitation (as much as possible). Encoding overhead isn’t as high with lesser video cards that generate fewer frames per second. We also test with a 10 Mb/s upload rate, though you can stream at 6 Mb/s or less. Our Internet connection would accommodate up to 35 Mb/s uploads. To vary game selection, we chose Grand Theft Auto V, Middle-earth: Shadow of War, and Battlefield 1 for our tests.
There are several other scenarios we could have added to increase the complexity of our testing, such as a simultaneous video stream from a webcam, recording the game to the host system, or streaming to multiple services at once. We went with just one service to reduce the number of variables…at least for now.
Finding the best streaming options requires some tuning for every game and hardware configuration. There is a delicate balance between game performance on the host system and stream quality for the remote viewer, so fine-tuning is needed to yield the best mix. We picked somewhat general settings that offered a good range of performance by our subjective measure. We also stuck with options that’d establish a level playing field for a wide range of test systems. Just be aware that there are plenty of knobs to turn, some of which could offer better performance than the ones we use (lowering the stream to 30 FPS, for instance, cuts encoding overhead significantly)
Tuning the encoding presets is one of the most direct ways to adjust streaming performance and quality for your system’s capabilities. Slower encoding increases compression efficiency, which provides better output quality and reduces compression artifacts. OBS has 10 presets ranging from “ultrafast” (the lowest-quality setting with the least computational overhead) to “placebo” (offering the best streaming quality and consuming the most host processing resources). The placebo setting is aptly named; there is certainly a rapidly diminishing rate of return on stream quality after passing the “slower” preset (two ticks before placebo). More strenuous settings can quickly cripple even powerful processors, particularly if you are streaming from a single host system. Placebo with care.
We split our test groups into three different classes. After evaluating a few Core i3- and Ryzen 3-class processors and determining that they can’t stream effectively at our settings, we chose Ryzen 5 and Core i5 models for our entry-level systems. We used the “veryfast” encoding setting for this class of CPU. Naturally, higher-end processors, such as our Ryzen 7/Core i7 and Threadripper/Core i9 chips, offer more performance, so we use the “faster” and “fast” settings, respectively, for brawnier CPUs.
Because we’re testing with different encoding presets, you cannot compare test results for the different classes directly.
Intel Core i5 & AMD Ryzen 5
We generated our stream using the “veryfast” encoder preset for this class of processors.
First, we run a set of baseline tests to gauge performance without an active YouTube stream. Intel’s Core i5-8600K fares best, but the Core i5-7600K and Ryzen 5 1600X aren’t far behind.
The story changes when we add streaming to the mix. All three CPUs lose varying amounts of performance, with Ryzen 5 1600X ending up on top (though not by much).
We have two entries in our charts for the Kaby Lake-based Core i5-7600K: normal and high-priority. First, let’s talk about the normal results. Intel’s 4C/4T architecture hamstrings the Core i5-7600K, and it loses nearly half of its average frame rate. Unsurprisingly, this has an impact on in-game frame time variance and unevenness measurements. Those numbers don’t tell the entire story, though. Battlefield 1 is basically unplayable due to hitching and stuttering during our stream.
The stream quality chart shows that Core i5-7600K only delivers 23.6% of its frames during the test, which means it drops an astounding 76.4% of the frames. This also results in a completely unwatchable stream. Flip over to the CPU utilization charts; they tell a profound story. In short, Core i5-7600K doesn’t have any headroom available to handle the parallelized encoding workload throughout most of our benchmark.
The OBS software has several different settings to optimize performance, and adjusting process priority is a common tactic to improve streaming on Kaby Lake-based processors. So, we selected the high-priority setting (marked HP Stream in the charts). Effectively, this allows the encoder to steal cycles from the game engine, resulting in lower frame rates. But the encoder successfully processes 100% of the frames. Our Core i5-7600K fell to 51.6 FPS, and its 99th percentile measurements nosedived. On the flip side, less performance means fewer frames to encode per second, which in turn boosts encoding efficiency. Surprisingly, 91.05% of the frames landed within the desirable 16.667ms range.
We could always dial-back the encoder preset to accommodate Intel’s lackluster -7600K, but similarly-priced processors in the test pool handle these quality settings adeptly. While streaming, Core i5-8600K provides nearly the same in-game average frame rate as AMD’s Ryzen 5 1600X and it encodes 100% of the frames. The -8600K’s streaming quality isn’t as impressive as Ryzen’s: 89.44% of frames land within the desirable range and ~10% of frames fall either above or below the threshold. In our opinion, the stream looked fine, but wasn’t as smooth as the Ryzen 5 1600X’s output.
A glance at the 99th percentile FPS chart tells us that Ryzen 5 1600X delivers the smoothest gaming experience during our streaming session. It also has plenty of reserves left in the tank, even during the streaming workload. In other words, you could probably increase the encoding preset to a higher level than the competing processors.
AMD’s Ryzen CPUs don’t overclock as well as Core processors, though. We tuned each model to see if the Intel’s available headroom turned the tables. The x264 encoder uses AVX instructions extensively, so it serves as a nice stress test for overclocking stability. No doubt, Coffee Lake’s AVX offset could come in handy, though it might also result in lower frequencies during streaming if you activate the feature (or leave it on Auto in the UEFI).
Overclocking nudges the Core i5-7600K ahead of Ryzen 5 1600X during our baseline gaming test, but it does little to rectify the issues encountered during our streaming workload. Four threads just can’t hack it. Streaming suffers even after adjusting the priority status. The -7600K does serve up a higher percentage of frames with the overclocked settings and normal prioritization, but it still costs the chip game performance. Priority adjustments have little bearing on gaming smoothness: the -7600K’s 99th percentile measurements are terrible with both settings.
A 4.9 GHz overclock does boost the Coffee Lake-based Core i5-8600K’s 99th percentile measurements. However, it still trails Ryzen 5 1600X. The tuned -8600K is certainly competitive thanks to a compelling gaming experience, but it can’t match the Ryzen 5 1600X’s streaming performance. It’s apparent the encoder appreciates lots of threads, so Ryzen’s 12 are a big advantage.
The frame time chart summarizes in-game performance well. Kaby Lake-based processors scribble their way across with extreme variance. The Core i5-8600K is also easy to spot during our streaming workload. Meanwhile, Ryzen 5 1600X provides a much more consistent in-game experience.
Grand Theft Auto V
Grand Theft Auto V scales well with additional host processing resources and tends to favor Intel architectures. It isn’t surprising to see the Core CPUs lead during our baseline tests. But we weren’t expecting the Core i5-8600K to maintain its advantage over the competition while streaming.
The Core i5-8600K delivers 100% of its frames during the test, though only 89.71% fall into the perfect 60 FPS bucket. We see a nearly even split of 5% above and below that mark. Visually, the stream looks fine. The -8600K takes more of a hit in the 99th percentile measurements, though it still leads the rest of our contenders.
AMD’s Ryzen 5 1600X starts out with the lowest average frame rate during our baseline and falls to 60.7 FPS during the stream. It doesn’t suffer too badly in 99th percentile measurements. Meanwhile, the chip provides stellar streaming performance, dropping no frames and almost landing at a smooth 60 FPS.
The Core i5-7600K provides a decent gaming experience during normal streaming, churning out 79.2 FPS. That’s because it really isn’t encoding frames, though—it drops 84.9% of them. The stream is unwatchable by any measurement. Again, we can boost the -7600K’s encoding performance to 100% by specifying high priority, but then the gaming experience is terrible. In fact, large portions of the scene simply do not render correctly.
Overclocking the Core i5-7600K doesn’t help; it’s still entirely saturated during the streaming test. But tuning does benefit Intel’s Core i5-8600K, which leads the pack in both average and 99th percentile metrics. Its streaming quality is decent as well.
The Ryzen 5 1600X’s performance improves after overclocking, too. It doesn’t provide the absolute best frame rate while streaming, but it is perfectly playable. Also, Ryzen 5 1600X still offers the smoothest stream, if only just barely.
Middle-earth: Shadow of War
Intel’s Core i5-7600K continues to disappoint. It serves up an average of 51.4 FPS while streaming (using the high priority setting) and encoding 100% of the frames. Unfortunately, game smoothness goes out the window again. The 15.9 FPS 99th percentile measurement tells us everything we need to know.
The Ryzen 5 1600X offers decent gaming performance while streaming, but that Coffee Lake-based -8600K continues leading.
AMD’s Ryzen 5 1600X offers the best of both worlds, though Core i5-8600K is also very capable. Perhaps tuning the encode could get more performance from the Intel chip. Then again, you could say the same thing about Ryzen 5, which offers the best mix of streaming and frame rates in its class. It’s obvious from these results that a Kaby Lake-based Core i5 owner needs to dial back streaming settings dramatically or turn to faster hardware.
AMD Ryzen 7 & Intel Core i7
Paying more for a processor should also get you more performance, right? With that in mind, we’re stepping up to the “faster” encoder preset for this CPU class.
The Core i5-7600K disappointed us in the previous round of tests, and Core i7-7700K picks up where the i5 left off. This chip just isn’t well-equipped for streaming, despite the additional four threads enabled by Hyper-Threading. The -7700K dropped 94.3% of our frames using the normal settings, which comes as a side effect of excessive CPU utilization. We triggered the high priority setting to try rectifying this situation, but were presented the same bipolar behavior as Intel’s Core i5-7600K. There just isn’t a straightforward way around saturated CPU cores. You can either stream well or game well, but you can’t do both with Kaby Lake-based processors and OBS streaming at 1920×1080/60FPS.
The Ryzen 7 1800X bears down with eight cores and 16 threads to provide solid streaming and gaming performance.
Core i7-8700K, which brings Coffee Lake up to a Hyper-Threaded six-core design, also performs well in this test. Overall, it offers the best gaming performance while streaming, 99th percentiles included. It even ekes past Ryzen 7 1800X with 100% of frames encoded to the stream. AMD’s Ryzen 7 delivers 99.9% of the frames, and dropping 0.1% doesn’t concern us. The stream is still smooth.
Overclocked, Ryzen 7 1800X delivers an ever-so-slightly better stream. But the Core i7-8700K leads in overall gaming performance. Of course, the 1800X’s 117.8 FPS average, while streaming, is plenty impressive. Both processors prove up to this task.
Our encoding workload pegs the -7700K’s cores at 100%, while the high priority settings help bring down CPU utilization. Simply, that’s because the CPU has fewer frames to encode as a result of lower gaming performance.
Grand Theft Auto V
The Core i7-8700K takes a healthy lead during the baseline and streaming tests. It even provides more in-game performance while streaming than an unencumbered Ryzen 7 1800X.
Ryzen 7 1800X again achieves lower gaming performance, but a slightly superior stream than Intel’s -8700K. The differences are pretty much imperceptible, though. Kaby Lake, on the other hand, simply can’t compete.
Turning up the clocks benefits Coffee Lake greatly. Core i7-8700K offers the best overall performance, while Ryzen 7 1800X is competitive.
Middle-earth: Shadow of War
Coffee Lake continues to impress with strong in-game and streaming performance. The Ryzen 7 1800X does encode a higher percentage of frames than -8700K within the desirable 16.667ms range, but it also generates fewer frames. AMD’s Ryzen does have more headroom to spare during our streaming workload though, so it’d likely accommodate more taxing encode presets.
We find that the stream frame time variance isn’t very noticeable unless the 16.667ms percentage drops below a 90% threshold, such as what we see from Intel’s Core i7-7700K. The -7700K does serve up better frame rates while it’s streaming, even besting AMD’s Ryzen 7 1800X. But that goes to show why we need to keep an eye on performance from every angle. Core i7-7700K drops 40% of its frames during this test! That makes any gaming performance advantage meaningless.
Ryzen 7 1800X musters a solid 75.4 FPS during the streaming test and provides a crisp stream to YouTube, as well.
Overclocking amplifies the trends we’ve been talking about. The same inherent strengths and weaknesses are still apparent. Ryzen 7 1800X and Core i7-8700K are both solid choices for streaming.
The Core i7-7700K demonstrates lower CPU utilization than usual during this test. Surprisingly, that doesn’t equate to a usable combination of in-game and streaming performance, though, suggesting other architectural influences may be affecting our numbers.
AMD democratized access to high core counts with an attractively-priced Ryzen portfolio. In a way, we can thank the company for Intel’s newfound interest in competing on a $/core basis. Just look at the difference in our results from Kaby Lake to Coffee Lake. As a result, high-quality software encoding on a gaming PC is becoming more realistic to mainstream gamers.
Our testing is indicative of general performance trends. Given enough time and energy, you could almost certainly improve upon our results. Part of that is by design: we’re using these settings to compare large groups of processors against one another on a level playing field, as opposed to wringing the most performance out of any one processor. While we can’t use our benchmarks to make definitive statements about the possibilities with each chip, we can draw some fair conclusions about how certain architectures behave.
Encoding is a parallelizable workload. If software encoding is your primary goal, you’ll definitely want to seek out CPUs with lots of cores and simultaneous multi-threading capabilities. Intel’s quad-core Kaby Lake models illustrate how chips that once offered class-leading gaming performance can fall apart during streaming. You can boost their performance by using less intensive quality presets, lowering the streaming frame rate, or sacrificing some quality with GPU acceleration. However, competing processors offer much more performance than Kaby Lake at the same presets and roughly the same price.
Many streamers place video quality over maximizing the frame rate of whatever game they’re playing, so your own priorities will largely dictate how you tune your system. In fact, turning on v-sync may be a good way to balance streaming and gaming performance.If you seek the highest in-game performance while you stream, Intel’s Coffee Lake-based Core i7-8700K is a good fit. The Ryzen 7 1800X is also competitive and tends to offer better streaming performance. Using our settings, the 1800X also had more CPU headroom leftover for more taxing encode settings, if desired. Granted, some of that extra horsepower is due to the 1800X’s lower gaming performance, which means there are fewer frames to encode.
Two extra cores on the Coffee Lake-based Core i5 certainly help its standing, but the lack of Hyper-Threading has a definite impact on streaming performance. In the end, a six-core Core i5-8600K is forced to battle the 12-thread Ryzen 5 1600X, which offers a more balanced profile. Overclocking does help Intel somewhat. It can’t overcome the advantage AMD gets from a more thread-heavy architecture, but it shrinks the gap somewhat in streaming workloads.
If you’re really serious about streaming and gaming at the same time, the highest-end desktop CPUs are an option. Just expect to pay dearly for them. Most enthusiasts are better served by mainstream processors. Intel’s Core i9 models generally provide better performance than the Threadripper 1950X, but they cost more, too. The 1950X is a solid value choice that also offers a diverse range of capabilities.
There are plenty of other solid options for gaming/streaming, and this introductory round of tests only focused on high-end models from each family. We’ll expand our testing to locked SKUs as we work through coming CPU reviews.