Intel i7-8700K Streaming & Recording Benchmarks
We have two streaming and recording tests prior to our gaming workloads: For the first test, we’re benchmarking livestreaming capabilities as encoded on the CPU, using OBS and X264 with the Faster preset, outputting to YouTube at 10Mbps. The second test is done with local recording, captured at 15Mbps and using X264 Fast for the preset. The second test is the more intensive of the two, and is more likely to stress the CPU into a point of dropping frames. We primarily care about dropped frames, here: The benchmark looks at experience for the player and for the viewer, with player-side experience measured by a 5-minute FPS capture of gameplay, and viewer-side experience measured by outgoing log files and analysis of the final video output.
Realistic Workload: YT Streaming at 1080p60 / 10Mbps / Faster (DiRT)
We’ll start with the easier workload. Streaming DiRT Rally to YouTube at 10Mbps and with the Faster preset, we end up encoding 100% of frames out of both the 8700K and R7 1700, with effectively no dropped frames on either. We’re at or below 0.1% drop frames on the R7 1700, but that’s within test variance and margins. At this quality setting, the two produce the same viewer experience for the stream. The 7700K dropped 44% of its frames prior to process prioritization, with the overclocked variant dropping about 30% of frames. Manually assigning process priority allowed the 7700K to deliver 100% of frames, dropping 0, but did require manual tuning. The 8700K and R7 1700 avoid this requirement.
The next side of the coin is the player experience, shown in FPS. The 8700K delivers a baseline performance of 136FPS AVG, with 1% low frametimes measured at 109FPS, or 98FPS for 0.1% lows. Streaming drops us down to 122FPS AVG – really not a bad drop – with 1% lows at 87FPS, which is also not bad. 0.1% lows have fallen down to 37FPS, which seems a trend for all of our streamed outputs – we just can’t sustain low latency 99.9 percentile frametimes when streaming while gaming. A separate capture box is needed for that. It’s not something we noticed in this title, but highly competitive eSports players may want to take note.
The R7 1700 places at 108FPS AVG baseline, with its streaming output at 91FPS AVG, 65FPS 1% low, and 37FPS 0.1% lows. AMD suffers from the same frametime degradation as Intel in these single-system streaming tests, but starts at a lower baseline performance, managing to lose less of its initial performance offering. This comes down to the threads versus frequency argument: Ryzen has more threads at a lower frequency, and the game wants frequency, but the stream wants threads. It’s able to keep up with both, but at a hit to game performance.
The 7700K performs well in this title when left to baseline or non-prioritized performance, but remember that we dropped 30-45% of our frames when not prioritized, so the performance is shallow. Prioritizing viewer-side streaming performance meant no dropped frames, but also tanked our player-side performance.
The 8700K significantly improves on the 7700K’s former position, and manages to keep-up with the 1700 at these settings when streaming, with a faster framerate when gaming.
The question is how it keeps up when we turn up the heat and push a more synthetic, torturous workload on both CPUs.
Torture Scenario: 1080p60 / 15Mbps / Fast (Local Recording of DiRT & DOTA)
This is more of a worst-case scenario, meant to stress the CPUs to a point of showing differences. We’re recording locally at 15Mbps and using the fast preset, done for both DiRT and DOTA.
With DiRT, we deliver 54.6% of frames to the recording, dropping 45.4%. The R7 1700 manages to deliver 57.8%, dropping 42.2%. Extra threads are helping in the encoding process and manage to push the R7 1700 stock CPU into the lead over the 8700K stock CPU, with room for both to improve from an overclock, obviously, but we reserved that time segment for other tests.
Where the R7 outperforms by a few percentage points in delivered frames to the stream, it does technically deliver them with more variable latency. The 8700K delivers its 54.6% of frames with 90.8% averaging the desired 16.667ms, with roughly 4.6% above and below the 16.667ms 60FPS delivery window. The R7 1700 CPU delivers its higher percentage of frames, 57.8%, with 75.6% of those frames averaging 16.667ms. Just under 11% of frames are faster than 16.7ms, with just under 14% slower than 16.7ms. Neither of these outputs is playable, obviously, but the goal isn’t playability – it’s a stress test, at which point you’d obviously step-down to something like the Faster or Ultrafast preset. The R7 1700 and 8700K both have pros and cons here, with the R7 delivering more overall frames, albeit more chaotically.
As for FPS, the 8700K averages 136FPS baseline, without any capture interference, and the R7 1700 averages 108FPS baseline. Neither CPU drops very far in its captured performance: We fall to 126FPS AVG on the 8700K and 92FPS AVG on the R7 1700, which amount to 7.4% and 14.8% reductions from baseline, respectively. Both CPUs have room in player-side FPS to improve capture-side delivery. In heavy workload scenarios, we’d recommend playing around with process priority and affinities to better manage where the resources are spent. There’s not much point in spending all those CPU resources on FPS at or above 100, for either CPU, when the recording can’t keep up. The 8700K has more room to play with this particular title and greater consistency, despite a slight deficit in total frame delivery.
DOTA2 Torture Scenario
With DOTA2 under the same conditions, the story changes a little bit: The R7 1700 captures 85% of its frames successfully, dropping 14.9% in this torture workload. The i7-8700K captures 68% of its frames successfully, dropping 31.9%. We won’t show a chart for this quick fact, but both CPUs push 88% of their frames within the 16.67ms window – it’s just that the 1700 manages to deliver a significantly higher count of frames to the capture file. Playing these files back side-by-side, the result is obvious: In this particular title, the R7 1700 does provide a better capture output than the 8700K, though neither is ideal for our torture load. You’d want to drop settings a little bit on the 1700 to recoup those 15% of dropped frames, but you’d have to drop significantly on the 8700K or start tuning priorities.
Here’s a look at the framerate chart, which gives a better idea as to where the 8700K’s power is going. Baseline performance is 158FPS AVG for the 8700K, or 80FPS for 1% lows. This is significantly bolstered over the 110FPS AVG and 56FPS 1% low of the R7 1700, which is already known to drag a bit in DOTA2. Beginning the game capture, the 8700K drops 36% of its throughput, to 101FPS AVG, with the 1700 dropping a similar 35%, to 72FPS AVG.
Where the 8700K significantly outperforms the R7 1700 in player-side framerate, it is significantly underperforming in capture framerate. Giving process priority to OBS would solve some of this problem, as would an overclock, but that’s exiting out-of-box territory.
To make things very clear: Both these CPUs, the 1700 and 8700K, are perfectly capable performers for live streaming in our earlier-tested 1080p60 / 10Mbps scenario. The torture workload immediately above is meant to draw-out differences between powerful CPUs.