DiRT: R7 1700 vs. 7700K 1080p60 Streaming at 10Mbps
We’ll start with DiRT Rally, then move to DOTA2. The video version of this article has on-screen playback of the streamed output for both CPUs, including some examples of the process priority playback on Intel vs. the “standard” Intel playback. We’d recommend watching at least parts of the video for that information.
The Intel i7-7700K ($310) stock CPU dropped 44.3% of its frames during encoding due to inability to meet the 16.67ms deadline as the CPU became overloaded. The R7 1700 ($270) CPU dropped 0.1% of its frames, amounting to double-digit numbers versus thousands of total frames. Hang on a second, though, because we do some process priority optimization in a moment that has interesting results for Intel.
Within +/-2% of the 16.67ms window – or 60FPS, if you prefer – the 7700K delivers 63% of its frames at around the 60FPS delivery cadence, while the R7 1700 manages to deliver 85.5% of its frames during the 60FPS cadence. We want this number to be as high as possible, and we want the next two numbers – frames above and below 16.67ms – to be as low as possible. Even though faster frames than 16.67ms will be, well, faster, it doesn’t mean the experience will be better – we want consistency at 60FPS, not frames delivered at varying intervals, which leads to choppiness: a frame at 8ms followed by a frame at 20ms is going to look choppy.
The 7700K delivers about 16% of its frames faster than 16.67ms, with the 1700 delivering 6.6% of its frames faster than this window. We’re at 20.6% versus 8% for the frametimes above 16.67ms.
As shown in the overclocking figures, the 7700K claws back some ground in dropframes by going to 4.9GHz, but not enough to even the battle.
DiRT: R7 1700 vs. 7700K 1080p60 Streaming at 6Mbps
Dropping to 6Mbps streaming will lighten the load on the CPU, so let’s do that next.
At 6Mbps, the 7700K drops 26.4% of its frames for a marked improvement over 10Mbps, and the R7 1700 now drops about 0% of its frames. Frames within our 16.67ms window improve a bit, bringing the 7700K to 64.4% and 76.5%. AMD is delivering about the same as the 10Mbps test, and is still in the lead – though its lead in dropframes is significant and the most notable.
The 7700K is delivering more frames in some instances, but that doesn’t mean that the experience is good or fluid on both the streamer and viewer ends of the pipe. The question is whether we can hit 60FPS sustained output to the viewer, or whether those viewers would have a choppy enough stream to warrant leaving. Critically, we ended up solving all of Intel’s streaming issues by tweaking process priority in task manager – but that introduced new concerns.
DiRT: Optimizing the 7700K with Process Priority to OBS
We drop down to effectively 0% dropped frames on the 7700K by switching to High Priority for OBS, resulting in all rendered frames being delivered to the stream, but fewer rendered frames total. The 7700K is now matched with the R7 1700 for streaming performance, and it’d seem the fix was easy – except there’s still the FPS side of the argument. Remember, just because we deliver 100% of the frames to the streaming service doesn’t mean that the framerate is high or that frame latency is low. All this means is that we’ve delivered all the frames, however many that may be.
This improvement occurs because we’ve taken resources from rendering the game and have given them to OBS to encode the stream, so we’re not adding resources anywhere, we’re just re-assigning them. There must be loss elsewhere in the experience to do this – it’s just a matter of how relevant that loss is.
DiRT: Streamer-Side FPS R7 1700 vs. 7700K – 10Mbps
Let’s look at FPS to find out.
Our baseline FPS performance shows how each of the CPUs performs without any active streaming. The stock 7700K manages 114FPS AVG, 90FPS 1% lows, and 82FPS 0.1% lows for fluid performance across the board. Overclocking doesn’t get us much more in this case. The stock 1700 operates at 108FPS AVG in this particular workload, with lows at 88FPS and 76FPS. Remember, this isn’t the number we actually care about today – it’s just to give perspective of performance loss client-side when streaming.
During the 10Mbps stream, the 7700K drops to 104FPS AVG, with lows at 77 1% and 30 0.1%; we have traditionally seen a big hit to the 0.1% frametime metrics resultant of streaming, which causes more intermittent spikiness. The performance loss from baseline is 9%, and the client-side streaming performance is consistent for the player, with no seriously jarring hitches. AMD experiences a 16% performance loss from baseline to 10Mbps streaming, but again, is able to sustain a better stream output for the viewer.
As for the 7700K with high process priority on OBS, we drop down to 64FPS AVG, with 1% low frametimes computing to 17FPS and 0.1% lows at 10FPS. The experience is a stuttery mess and dismal, despite all frames being encoded and delivered by OBS. There just aren’t that many frames to work with, so the job isn’t as hard as it once was.
DiRT: Streamer-Side FPS R7 1700 vs. 7700K – 6Mbps
DiRT: Power Consumption While Streaming – R7 1700 vs. i7-7700K
Let’s now look at power consumption during the 10Mbps DiRT stream. We’re measuring power consumption by clamping the 12V wires going to the EPS12V CPU cables, then multiplying the current clamp reading by the 12.3V output of our power supply. The 7700K plots first with a very stable and consistent 66W draw from the EPS12V cables.
Overclocking the 7700K – which did improve stream output performance somewhat significantly, if not enough to compete – resulted in about 89W drawn at the PSU rails. Plotting the R7 1700 power consumption last, we see power consumption that averages out to about 64-67W, with the peak consumption at 68.9W. The 7700K and 1700 are drawing effectively equal power in these tests, though the 1700’s response seems more varied.
Thermally, both CPUs are well within spec. HWINFO 64 plotted Tdie for the 1700 at ~40-41C (ambient 23), with AVG core temperature on Intel at ~62C. We’re not generating a chart for this as we’re concerned folks will glance at the chart and not think about the numbers. Intel and AMD have different TjMax and thermal targets, and so they are not directly comparable. The placement of their thermal sensors is also different and not directly comparable. Both are within spec and cooled by our X62 at max RPMs.
DOTA2: R7 1700 vs. 7700K 1080p60 Streaming at 10Mbps
DOTA2 is next. Again, side-by-side comparisons can be found in the video above, and show the viewer version of the stream output.
Starting with streaming output performance at 10Mbps, we observe about 59.9% dropframes, with the overclocked version dropping 54% of its frames. Of the frames that the 7700K does successfully deliver without dropping, 85% are dispatched within 2% of 16.67ms. The R7 1700 manages to deliver 95% of its total encoded frames within 2% of 16.67ms. Remember, this metric isn’t counting dropframes since those frames were never delivered.
DOTA2: R7 1700 vs. 7700K 1080p60 Streaming at 6Mbps
Dropping to 6Mbps improves performance across the board, as expected. Well, for Intel – AMD’s performance couldn’t get much better in this test. The 7700K now drops 47% of its frames stock, 38% overclocked, with 94% of the total delivered frames landing within 2% of the 16.67ms window. That’s good for consistency, but the actual delivery isn’t enough to make use of it. AMD’s R7 1700 didn’t drop any frames in this test, and delivered 98% within the 16.67ms window.
Giving OBS a process priority of high and ranking it above DOTA, we’ve again resolved the issue of dropping frames, and are now delivering all frames to the stream service. Theoretically, this smooths things out – but not if FPS tanks. Let’s take a look at that.
DOTA2: Streamer-Side FPS R7 1700 vs. 7700K – 10Mbps
Moving on to FPS testing with DOTA2, we found baseline performance to be about 171FPS AVG with the 7700K, with lows at 89 and 47FPS 0.1% -- DOTA has some issues here. The 1700’s baseline is 102*FPS AVG. Again, and this is important, the point here isn’t to test the two against each other right now – we’re just establishing a baseline for comparison versus the same product while streaming. NOTE: We have issued a correction to the DOTA2 charts. The original baseline 1700 results for DOTA 2 read 167FPS, which was actually a framerate number from one of our 7700K passes (averaged later) -- so a typographical error. Fortunately, it does not impact tone of content or performance for either CPU in streaming, which is what we were interested in. Just the baseline 1700 number has changed, nothing else. This means that the 1700 is actually much further behind Intel than originally thought in baseline performance, but also means that the 1700 doesn't fall as far as thought in the streaming tests (streaming results, again, are unchanged).
While streaming at 10Mbps, the i7-7700K manages a 118FPS AVG, for a 31% reduction in baseline AVG FPS performance when not streaming. The R7 1700 manages 73FPS AVG, for a 56% reduction from baseline. The 7700K delivers a higher framerate and overall better experience to the client-side streamer in this instance, while the R7 1700 delivers a better experience for the viewer. The difference is that the 1700 manages a still-adequate framerate for the streamer, despite being lower overall, while offering a significantly better framerate for the viewers. This is a balancing act, and in our current round of tests, AMD appears to be doing that better.
Our test with process priority on OBS yields an AVG FPS of 92 – still better than AMD’s R7 1700 streaming AVG FPS – and our lows are at 34 and 21. Overall, results are worse than the stock 7700K tests with normal process priorities, but better than AMD’s results. It’s a hell of a fight for Intel to get there, but in this lighter weight game that’s more frequency-intensive, the 7700K pulls it off. Not gracefully, mind you.
DOTA2: Streamer-Side FPS R7 1700 vs. 7700K – 6Mbps
DOTA2: Power Consumption While Streaming – R7 1700 vs. i7-7700K
Moving on to power consumption at 1080p60 with a 10Mbps stream rate, the 7700K sustains a flat, consistent power consumption of 63.96W at the EPS12V rails – identical to last time – and the 1700 is bouncing around near 60-63W of power consumption, with the minimum at 52W and maximum at 65W. The 1700 averages a couple watts lower power draw overall versus the 7700K, but there is no major difference between them.
Conclusion: Streaming Box vs. 1700 vs. 7700K
Streaming on the 7700K can work. If it must be done, it could be – it just depends on a few items of varying import:
- The streamer will have to sacrifice stream quality. This can be done by moving from “Faster” to “Veryfast” or “Ultrafast,” in one part.
- The streamer may w ant to set process priority for OBS, or play with affinities. This begins exiting “works well out of box” and entering “enthusiast project” territory rather quickly, but will help. The downside is that there’s some for the streamer-side framerate.
- More resource-intensive games will have more difficulty coping with process de-prioritization (or streaming in general), as resources get assigned to OBS rather than strictly to the game.
- Lowering bit-rate, e.g. to 4Mbps, can help further lighten workload on the CPU, but does so at the cost of output quality.
In this way, Intel’s CPU has now become the “project car” product. AMD Ryzen started its life as a project car – the product you buy because you’re OK with being under the hood a few hours a day, just to get the thing running perfectly. Now, with Ryzen’s initial launch issues somewhat smoothed out (but not completely), the CPU is holding well in streaming performance with minimal out-of-box tweaks. To get the 7700K to hold performance, we need quality tweaks, overclocks, and other “under the hood” modifications.
Our testing is by no means fully definitive of all approaches to streaming, but we can draw at least some firm conclusions based on the numbers we’ve collected thus far. Right now, today, Intel’s 7700K is getting crushed by the R7 1700 in our DiRT Rally test stream. The field levels a bit with DOTA2, but requires playing with process priority and forces Intel up against a wall. DOTA2, as a reminder, leans heavily on higher frequencies and isn’t as abusive as most other games on the market. The 7700K holds quite a lead in baseline DOTA2 performance, but again, it levels out when streaming.
For game streamers – people who hope to live-stream output while simultaneously using the same host CPU to play/render their content – we absolutely recommend the R7 over the ~$300 class i7 CPUs. We’d recommend the R7 approach for folks who wish to avoid using NVENC for their livestream encoding. For professional streamers who absolutely must hold both tight frame latencies and quality stream output, we’d still recommend a dedicated capture box. The low-end frametimes drop with live encoding on the system, producing variable frametimes (0.1% lows, in our metrics) that can impact the experience for professionals concerned about framerate/frametimes in CSGO or DOTA2, for example. This is likely a non-issue for a lot of the more casual streamers or for people less concerned about high framerate consistency, but may matter for ultra-competitive players in an environment where money exchanges hands for shooting first. In those scenarios, a stream box fixes the latency challenge.
If that’s not a concern – and it may well not be one – then the R7s get our recommendation over the i7-7700K presently, hands-down, based on today’s testing. The R7 1700 didn’t need an overclock to produce its consistent stream output while maintaining relative gaming performance (“relative” because, like the 7700K, we still see reduced frametime consistency). Overclocking would further bolster numbers, of course, but may end up being unnecessary for most folks. We’d still recommend the 1700 over the 1700X or 1800X, purely because a simple OC gets any 1700 within range of both alternatives. The money can be put toward something else, like RAM.
Editorial, Testing: Steve Burke
Video: Andrew Coleman