Question / Help i7-7700k Over Encoding at 720p60

Sensational

New Member
So I just recently upgraded my PC (a big reason I chose to upgrade was due to the limitations on my older PC [4790k]). I'm running into an issue I didn't have before. Even at 720p60 my streams are struggling when playing R6Siege during firefights and whatnot. I've tried 1080p30, 1080p60, 720p60 and 720p30. All give me the same issue.

I've attached the log file from streaming today, which consists of attempting to find something that remotely works. I'm sorry if it's rather lengthy to read through, but when I did, I couldn't find anything that said, "man, this right here is the issue".

I'm not sure if it's a setting I need to change or something but I was not expecting an i7-7700k to suffer this badly, (I realize it isn't made for streaming but it still shouldn't be this bad. I'm extremely stumped and really hoping I can achieve at least 720p60. I've messed with hardware encoding using NVENC, and while it works, obviously the stream quality drops. I've also tried using different bitrates as well as the different presets for software encoding. I feel like somewhere I'm missing something.

CPU - I7-7700k @ 4.2Ghz.
Motherboard - MSI Z270 SLI
RAM - 16Gb HyperX Fury @ 2400.
GPU - EVGA GTX 1080 SC.

If I missed anything, or it would help to know something beyond what I've laid out above, please do not hesitate to ask.
 

Attachments

  • 2018-01-09 20-44-14.txt
    51.3 KB · Views: 322

BK-Morpheus

Active Member
Hi there, you are right, in most scenarios, you should be fine with 720p 60fps when it comes to CPU power.
Your log shows varying amounts of encoder overload, even with settings that should run fine.

Here are my thoughts about it and how I would analyze it.

I suspect, that there is some serious CPU load that is not directly related to your encoding process, or the CPU is throttling (could be a device driver, another background software, whatever).
Maybe you can install HWMonitor and let it run in the background while testing, so you can check if the CPU clock is dropping or the temperatures are too high.
Also check other processes in the task manager, maybe some service or program (other than your game and OBS) is causing high CPU load.

Also make sure, that it is not the game, that is stressing your CPU so much, that OBS struggles to encode.
Even games with mediocre CPU demands can utilize your CPU to its maximum, the usual GPU bottleneck is eliminated: You got an 1080 (fast GPU) and if you only play at 1920x1080, and your game is not demanding, it is possible, that your game is running into a CPU bottleneck.

To prevent this, you need to limit your ingame fps.

If you want to check, if your GPU or the CPU is the bottleneck, just do this:
Run GPU-Z or MSI Afterburner, so you can monitor your GPU load. Play the without an fps limit and observe the GPU load, while doing it.
If your avg. GPU load is over 95%, your game is running on a GPU limit. If the GPU load is below 90%, you are running on a CPU bottleneck.
Even if your CPU cores are not at high load, the game engine could run on a CPU limit (it's hard to see on the CPU load, especially with virtual cores at play, like the intel i7 HT or Ryzen SMT technology).

So a missing ingame fps limit could stress your CPU so much, that OBS is struggling.

Another possible source for the problem might be a browser source or filter in your OBS scenes.
You could create a new scene collection, where you add only the game_yource and test this. After that, you add the webcam (still without any filter) and test again.
Check the CPU load while doing so.
 

Sensational

New Member
Hi there, you are right, in most scenarios, you should be fine with 720p 60fps when it comes to CPU power.
Your log shows varying amounts of encoder overload, even with settings that should run fine.

Here are my thoughts about it and how I would analyze it.

I suspect, that there is some serious CPU load that is not directly related to your encoding process, or the CPU is throttling (could be a device driver, another background software, whatever).
Maybe you can install HWMonitor and let it run in the background while testing, so you can check if the CPU clock is dropping or the temperatures are too high.
Also check other processes in the task manager, maybe some service or program (other than your game and OBS) is causing high CPU load.

Also make sure, that it is not the game, that is stressing your CPU so much, that OBS struggles to encode.
Even games with mediocre CPU demands can utilize your CPU to its maximum, the usual GPU bottleneck is eliminated: You got an 1080 (fast GPU) and if you only play at 1920x1080, and your game is not demanding, it is possible, that your game is running into a CPU bottleneck.

To prevent this, you need to limit your ingame fps.

If you want to check, if your GPU or the CPU is the bottleneck, just do this:
Run GPU-Z or MSI Afterburner, so you can monitor your GPU load. Play the without an fps limit and observe the GPU load, while doing it.
If your avg. GPU load is over 95%, your game is running on a GPU limit. If the GPU load is below 90%, you are running on a CPU bottleneck.
Even if your CPU cores are not at high load, the game engine could run on a CPU limit (it's hard to see on the CPU load, especially with virtual cores at play, like the intel i7 HT or Ryzen SMT technology).

So a missing ingame fps limit could stress your CPU so much, that OBS is struggling.

Another possible source for the problem might be a browser source or filter in your OBS scenes.
You could create a new scene collection, where you add only the game_yource and test this. After that, you add the webcam (still without any filter) and test again.
Check the CPU load while doing so.


Morpheus,

Firstly, thank you for taking the time to respond. I've gathered some different in-game graphics settings from a handful of streamers who stream the same game, with setups similar to my processor and GPU. So I'll definitely be testing your suggested route in regards to the game itself causing a CPU bottleneck. It very well could be the game, as I'm running it on the highest settings with v-sync disabled. With that, I've benchmarked the game and got an average of 141 FPS. To further test this, I'll try different games and see what happens. Also, when running a test through prime95, my CPU temperatures never once rose above 70C, but that is also just pure computing and not encoding an actual 3D game. The evidence is pointing to the actual game's resolution it seems. Another thing, my webcam had some filters applied to it as well, would that increase CPU usage noticeably?

I've reset OBS (uninstalled/reinstalled) so I'll test the stream with just the game source, see how it plays, then start adding in miscellaneous sources that might tax the CPU. The webcam would be running at 720p, but I've heard that it can be run at a lower resolution as it is not going to be taking up but a small portion of the screen. Aside from that, I don't think there is a lot that would cause the CPU to struggle. I've noticed everything is fine when the game is just idle at the main menu, and it ONLY ever has the over encoding issue when there is a lot going on in the game (my CPU usage sits at about 2-3% when idle, and will spike to around 30-40%, which is when the encoding issue happens). Which makes me believe the issue with the in-game graphics settings.

I'll be sure to download HWMonitor, as I already monitor my GPU temps/load through EVGA's XOC program. I'll check again, but I don't believe the GPU has any issues with the game at max settings, and even overclocked, IIRC, the temps stay pretty normal ~55-60C.

I'll be sure to post feedback after work.
 
Last edited:

Sensational

New Member
So, as a follow up post, I finally managed to stream with zero encoding issues for a roughly 2 hour stream tonight. I switched to Streamlabs OBS client, just because I like the features it brings to the table on top of utilizing OBS. At a video bitrate of 3000, an encoder preset of superfast, and downscaling from 1080p to 720p, everything ran really smooth.

I managed this by trying the first thing that Morpheus recommended: Change some in-game graphics settings and see if that isn't the issue. Turns out, that is indeed the issue. I had R6 absolutely maxed out, so it makes sense. I used settings from one of my favorite streamers (TangyD) and the game doesn't look that much different but man does OBS like the new settings so much more. I'll be fiddling with the settings more tomorrow and see if 1080p60 is obtainable. If not, I'll just use a slower encoding preset and a higher video bitrate to achieve near-perfect 720p60 streaming.

Huge thanks to Morpheus. Pointed me in the right direction, and subsequently helped solved my issue.
 
Top