Streaming performance with Deus Ex: Mankind Divided and OBS
One of the uses that Intel and AMD have hyped the most for their highest-end desktop processors this year is single-PC gaming and streaming. The most avid Twitch streamers, as we understand it, have tended to set up dedicated PCs for video ingestion and processing to avoid affecting game performance, but the advent of these many-core CPUs may have opened up a world where it might be more convenient to run one's stream off a single PC. Intel calls this kind of thing "megatasking," and it claims the i7-8700K is quite good at it. Let's find out.
Although one might wonder why people are still making a hullabaloo about CPU encoding performance when hardware-accelerated game streaming is available from both major GPU software packages, the fact of the matter seems to be that the most demanding professionals still choose to use software encoding. The reason for this is that Twitch and other streaming services have restrictive bit rates for streamed content. GPU-accelerated services like GeForce Share (née Shadowplay) and Radeon ReLive make it easy to stream without affecting gaming performance that much, but they might not offer the highest-quality viewing experience to fans within the bounds of those bit rates. For achieving the best results possible, the name of the game is still software encoding with x264.
Let's start off by noting that gaming at 1920x1080 and streaming that same gameplay at 60 FPS will be difficult, if not impossible, with a CPU-bound title like Deus Ex on four cores and eight threads. The gameplay experience and the stream alike look like crap, even on our otherwise excellent Core i7-7700K. You can safely forget trying on older quad-core chips. One could perhaps get away with looser encoder settings and lower frame rates on such chips, and you might not see the same problems with games that aren't primarily CPU-bound, but this is a benchmark, dangnabit. We're trying to find limits, not shy from them.
Even with that in mind, the Core i7-8700K couldn't quite keep up with DXMD running at 1920x1080. I found that easing the load on the CPU by upping the game resolution to 2560x1440 and downscaling the capture to 1920x1080 at 60 FPS was the optimal solution. In simpler terms, we're giving the CPU some breathing room by shifting more of the load to the graphics card. I maintained this approach across all of the chips I deemed streaming-capable.
If you really want to do no-holds-barred 1920x1080 gaming and stream it from the same machine, it seems you really want a Ryzen 7 1800X at the very least. A Core i7-7820X or a Core i9-7900X are even better yet, if Hitman is any guide. No, this is not a cheap way to do things, but if you're dead-set on single-PC streaming performance, you will eventually have to pay the piper for the equivalent of two systems' worth of processing power.
The GTX 1080 Ti can still play DXMD in an enviably fluid fashion at 2560x1440, so it's not much of a sacrifice to play at the higher resolution and broadcast at the lower one. To get my final setup, I played with OBS' various x264 settings to achieve what looked (to my eye) like the best visual quality possible without unduly bogging down any of my test rigs. To my video-snob tastes, that was the "faster" x264 profile. For the curious, though, it's interesting to note that looser encoder settings didn't make 1920x1080 gaming and 60-FPS streaming possible on the i7-8700K, either. That suggests streaming framerate is a much bigger initial obstacle to clear when tuning one's setup than the choice between "veryfast" or "faster," for example.
We're still not considering x264 encoder performance in isolation for this review. While metrics like dropped frames are certainly important to the viewer experience, we don't have the methods to effectively process or present that data yet. We did monitor stream quality during our testing and ensured that our particular encoder settings weren't producing choppy or otherwise ugly stream delivery, and we figure that what looks consistently good to the eye is fine in light of the fact that there are possibly dozens of network hops between us and a final viewer. We might consider these metrics in future articles, but for now, we're mostly worried about the gameplay experience these CPUs deliver to the streamer.
There are a lot of moving parts in the graphs above. We've presented frame-time plots, average frame rates, and 99th-percentile frame times for both streaming and non-streaming gameplay, so take some time to flip through the various graphs above to get a full sense of the performance picture.
For all that, the results are stark. The i7-8700K suffers only a minor performance hit with OBS running, while the Ryzen 7 CPUs lose about 20% of their performance potential (as measured by average FPS). DXMD is apparently GPU-bound at these settings, as evidenced by the nearly identical performance across the board for these parts without OBS engaged, so it seems flipping on a stream is enough to expose a major bottleneck on the Ryzen chips. Once again, this result is not unprecedented: the Ryzen 7 1800X's average frame rate plunged 30% in our Hitman streaming tests during our Core i9-7980XE review.
x264 is one of the more prominent applications with AVX support, so it's possible that Coffee Lake's wider AVX pipes may be giving it a leg up here, among other things. Whatever the cause, it's clear that the i7-8700K can deliver a smoother and more fluid gaming experience at our test settings than even a Ryzen 7 1700 can with all cores ticking away at 4 GHz. The large performance drop we observed with the Ryzen 7 parts might not be as severe with less CPU-bound games, and admittedly, that describes more of today's titles than not. Still, it's not like Intel is charging huge amounts more money for the i7-8700K for the pleasure of this experience, CPU-bound games or not.
One thing our results don't capture is that at stock speeds, the Ryzen 7 1700 is not quite capable of an entirely smooth stream. I noticed a number of frame drops while watching my test stream as I played, so I held onto my log file and found that the stock 1700 was dropping about seven percent of the frames destined for Twitch. Blame the chip's constrictive TDP and low resulting base clock, I guess. If you want to stream CPU-bound games with the 1700, you definitely want to take a trip into the BIOS and turn up some multipliers.
Our time-spent-beyond-X graphs basically confirm what we've already discussed: the i7-8700K is delivering a much smoother gaming experience than the Ryzen 7 parts while streaming, no matter what threshold you choose to examine. Let's see if our productivity results show as wide a gulf between these competitors.