Question / Help Dropped Frames, Stuttering and Performance Issues

MazeMatik

New Member
Hi,

It's my first time here so I hope I'll do this right. I already posted this but for unknown reasons it seems like my post disappeared even though I posted it, read it and even edited it two times but hey let's do this again...

Here's my Log File and stream session.

MY SETUP

PC: XPS 8700 i7-4790 3.6 GHz / 16 GB / GTX 745​
Console: Xbox One X​
Game Capture: Elgato HD 60S​
Internet: 120 Mbit/s (Download) - 22.5 Mbit/s (Upload)​

MY GOAL

Stream a 720p @ 30 fps Xbox One gameplay captured with an Elgato HD 60S on a dedicated streaming PC.​


Is it realistic and achievable given the goal and the setup?

I've been streaming for a year now but I never experienced that much lag, stuttering and skipped frames. I know I have a very old video card and that my upload speed is low but I've always managed to maintain a steady 720p stream @ 48fps without any of these new issues I'm having now.

I did everything I could to improve the stream and lower the performance issues as much possible such as:
  • updating the drivers and programs
  • removing unnecessary programs and processes
  • reinstalling OBS
  • creating a new scene collection
  • even lowering the frame rate from 48 to 30

I do remember installing new Windows 10 critical updates lately before the issues started to appear.

Thank you for any possible help.
 

carlmmii

Active Member
The main problem you have from each attempt is encoding lag with x264. Even at 720p30 ultrafast, you were encountering encoding lag -- this isn't normal for your CPU. Check that you don't have anything else running in the background, and check your CPU usage while recording. For reference, your CPU should easily be able to handle 720p60 encoding on the faster preset.

I did notice you have quite a lot of media sources that are set to remain active even when not visible. This *possibly* could be a source of problems, but that is generally going to affect rendering lag more than encoding. Still, you should try seeing if you can get a smooth recording using a completely fresh scene, with just the elgato capture. If you have no issues there, then that means there's something with your scene collection that is causing issues. If you still have issues, then it is something else that's eating up your CPU usage.

Alongside this, you have a constant problem with rendering lag. This is less apparent, and only accounting for 5-10% of your skipped frames, but it is a sign that your GPU isn't able to keep up with the task.

I will point out that when you switched to NVENC, your encoding lag completely went away, and it was just the rendering lag that remained.
 

MazeMatik

New Member
Wow! Thanks a lot for the fast reply! Very useful information in your answer and it helps me better understand what is going on.

I do have a lot of medias and my video card can't keep up with the task like you mentionned which make me wonder if a video card upgrade (GTX 1070 8 GB) would considerably improve the stream or not.

What is strange is that I used to have more medias open in the background and I would use non optimized scenes filled with medias, effects and even blur and 3D filters and the stream looked better than it is now... @ 48 fps!

I'm thinking reinstalling Windows 10 but I've read so many people saying they tried that solution but it didn't help at all.
 

carlmmii

Active Member
As I said, I would start by troubleshooting down to where the problem actually exists. If it's something in the background eating up your CPU, then upgrading your GPU won't help one bit.

(also, I had typed all of that up for your initial thread before it disappeared... pasted it in once I saw the new one)
 
The main problem you have from each attempt is encoding lag with x264..

In the log:

01:24:05.389: [NVENC encoder: 'streaming_h264'] settings:
...
01:26:22.827: [NVENC encoder: 'streaming_h264'] settings:
...
01:27:59.603: [NVENC encoder: 'streaming_h264'] settings:

So no, he's using NVENC and not CPU x.264

En every stream session on that log, there are some number of lagged frames due to rendering lag/stalls and no lagged frames due to encoding lag at all. So NVIDIA's NVENC encoding chip is working as intended, CPU is working as intended, and the NVIDIA GTX 745 seems to be having a rough time to render all that sources.

First of all, try different NVIDIA driver versions. If you don't have the latest driver, try it. If it worked better some time ago, try to go back to previous drivers (uninstall current ones with DDU first).

If nothing of that works, create a new scene with only one source, the video from the capture card, and test. If rendering lag dissapeared, start adding some sources one by one and testing to see what's the limit your system can render without lag.
 

carlmmii

Active Member
The log I viewed may have been a different one that's currently linked. That log had several different x264 encoding sessions, all with a range of 17%-84% encoding lag, and ~10% rendering lag. There was a final encoding test with NVENC that had 10% encoding lag. (can't verify the currently linked log right now -- at work, can't view pastebin links)
 

MazeMatik

New Member
(also, I had typed all of that up for your initial thread before it disappeared... pasted it in once I saw the new one)

Here's the first Log File for that streaming session. The one in my initial post is the second one so perhaps the first one could help because I think I did switch from x264 to NVENC during that time (to put you in context, the initial log file covers the second half of my stream and the second log file covers the first half of the stream).
 

MazeMatik

New Member
In the log:



So no, he's using NVENC and not CPU x.264


I did use it but then switched to NVENC for the rest of the stream. Here's another Log File that covers the first half of the stream.


First of all, try different NVIDIA driver versions. If you don't have the latest driver, try it. If it worked better some time ago, try to go back to previous drivers (uninstall current ones with DDU first).


I updated the drivers to the latest version. I also tried a couple of old versions but it didn't help. What does DDU mean?


If nothing of that works, create a new scene with only one source, the video from the capture card, and test. If rendering lag dissapeared, start adding some sources one by one and testing to see what's the limit your system can render without lag.


I'll try that. It's just killing me that I have to "downgrade" my stream kind of since my PC can't no longer deliver a stream that I've always been able to push with the current and actual setup. As I said, I even had more scenes and they were filled with 3 times more medias and they were heavier in size but the stream was almost perfect.

I really don't understand what's going on but like you guys mentioned, it might be the heavy scene collection although it's not heavy compared to my old one that I tried but it didn't help. So I'm guessing that maybe it's just the video card but again, the CPU seems to struggle too and it should be able to perform well no?

Right now I'm having OBS opened with almost nothing running in the background except this website in Firefox and everything is running fine in the preview window (I can easily see dropped frames and stuttering when I switch between scenes using my stinger transition but now that only OBS is opened it runs smoothly).

Here's a theory: it seems like my video card struggles way more since a month or so and I know I've updated the drivers and then rolled back and then came back again with the latest version but it seems like the drivers may have something to do with it but I'm not sure what version to install and it drives me crazy. It looks like the video card can't handle the tasks like before which was to run OBS and having Firefox opened for some tools and utilities (YouTube, countdown and so on). I feel like it's power is not used efficiently like it should.
 
Last edited:

MazeMatik

New Member
Here's a small update:

So I fired up everything I normally use while streaming (OBS, Firefox, Streamlabs Chatbot, Xbox App for party chat and Clownfish Voice Morpher for mic effects) and the lag and stuttering still occur BUT I downloaded and opened up Process Explorer and I noticed my CPU being used at 99.99% while switching between scenes in OBS with a stinger transition and it was lagging and stuttering a lot.

I then tried setting the priority to "Realtime: 24" and the performance issues disappeared by at least 85% BUT I did notice some stopping for seconds (example: music playing in the background).

So my guess is that when I use NVENC instead of x264, the stream doesn't lag nor does it skip frames BECAUSE I'm using my GPU to encode. The CPU seems taxed by all the other programs I'm using while streaming, causing OBS to not get all the necessary CPU computing power it needs UNLESS I set OBS priority level to Realtime: 24 in Process Explorer.

EDIT: Setting OBS Priority Level to "High: 13" in Process Explorer seems to eliminate the lag and stuttering in preview mode especially when I switched between scenes which would cause the stream to lag and skip frames as OBS wasn't able to keep the pace but when I give it more CPU it is WAY better.
 
Last edited:
Top