The Problem (frames missed due to rendering lag)
Since ~mid 2017 there have been many posts about people with low FPS in OBS despite their in-game FPS being fine. The reason? Most people will tell you to "you're using too much GPU usage, cap your FPS (or enable V-Sync) to allow OBS to render the scene".
The "solution" above is a huge problem; It is very common for a game to vary in frame rate depending on where/what you are doing in the game. This makes it extremely difficult to find a point where you are not intruding on OBS' GPU needs, but have the quality and FPS (on your end) that you want.
Example
A game seems to be running at ~120 FPS most of the time. So I cap my FPS at around 90 to make sure I leave enough leeway for OBS to function. That's a 25% of my frame rate I'm sacrificing to make sure OBS has enough GPU power to function.
Problem #1: I'm missing out on frames that I would have been getting in areas/things with lower GPU rendering needs. I would have exceeded 90 FPS during these times. However because my FPS was limited to 90, I didn't get all the FPS that I could have.
... I enter an area/do something where my frame rate drops to 75 from the 90 I capped it at; the GPU needed extra power for graphics rendering at that moment instead of producing frames. (there was a GPU intensive visual effect or I enter an area that has a lot of high poly textures)...
Problem #2: The 90 FPS limit I set is still too high. Extra GPU power was needed for visual effects, high poly textures etc at that time, as well as trying to maintain the 90 FPS cap. I have intruded on the GPU usage threshold I left for OBS and my stream/recording has now dropped frames. I either need to cap it even lower, or turn my graphics down.
... As you can see, at this point I could even be considering capping at <70 FPS, for a game that could run at 120+ FPS at times. So now I either cap my FPS even lower, or turn down my graphics settings to allow more GPU power for producing frames (FPS) – at this point it is not only affecting my experience, but my viewers are seeing lower detail gameplay.
The Fix
Well, for us who have actually been using OBS for a while know this wasn't always the case. You used to be able to run your game at an uncapped FPS with whatever graphics you want; just like you would if you were playing without OBS running.
OBS used to take the power it needs BEFORE the game took what it needs. OBS would stay locked at 60FPS (as long as your PC was good enough for 60) and the rest of your GPU's power was allocated to the game. If you're in-game FPS did happen to drop from 120 to 75, no problem – OBS is taking the GPU usage it needs and your game's FPS will respond accordingly. No need for you to limit your GPU usage.
So now for a solution I've found. It's not one I'm happy with but IF you are having this problem, it applies to you.
OBS does not function as intended with Windows 10. I have tried locking myself to pre-creators update Windows 10, using old drivers and using old versions of OBS – the issue was still there. This said, Windows 10 used to function as intended with OBS, so the cause is still unknown. Apparently this happens with other streaming programs like XSplit, so something to do with Windows 10 is the culprit I assume.
I have since switched to Windows 7 and everything is fine. I can fire up a game I've never played before on stream and not have to worry about tweaking everything to perfection to make sure my own, and my viewers experience is smooth. I can use 100% of my GPU and OBS stays at a solid 60 FPS, just like it should.
If you see anyone with this issue please refer them to this thread. This is a major issue and everyone is refusing to acknowledge it. It's not how it is supposed to function.
Since ~mid 2017 there have been many posts about people with low FPS in OBS despite their in-game FPS being fine. The reason? Most people will tell you to "you're using too much GPU usage, cap your FPS (or enable V-Sync) to allow OBS to render the scene".
The "solution" above is a huge problem; It is very common for a game to vary in frame rate depending on where/what you are doing in the game. This makes it extremely difficult to find a point where you are not intruding on OBS' GPU needs, but have the quality and FPS (on your end) that you want.
Example
A game seems to be running at ~120 FPS most of the time. So I cap my FPS at around 90 to make sure I leave enough leeway for OBS to function. That's a 25% of my frame rate I'm sacrificing to make sure OBS has enough GPU power to function.
Problem #1: I'm missing out on frames that I would have been getting in areas/things with lower GPU rendering needs. I would have exceeded 90 FPS during these times. However because my FPS was limited to 90, I didn't get all the FPS that I could have.
... I enter an area/do something where my frame rate drops to 75 from the 90 I capped it at; the GPU needed extra power for graphics rendering at that moment instead of producing frames. (there was a GPU intensive visual effect or I enter an area that has a lot of high poly textures)...
Problem #2: The 90 FPS limit I set is still too high. Extra GPU power was needed for visual effects, high poly textures etc at that time, as well as trying to maintain the 90 FPS cap. I have intruded on the GPU usage threshold I left for OBS and my stream/recording has now dropped frames. I either need to cap it even lower, or turn my graphics down.
... As you can see, at this point I could even be considering capping at <70 FPS, for a game that could run at 120+ FPS at times. So now I either cap my FPS even lower, or turn down my graphics settings to allow more GPU power for producing frames (FPS) – at this point it is not only affecting my experience, but my viewers are seeing lower detail gameplay.
The Fix
Well, for us who have actually been using OBS for a while know this wasn't always the case. You used to be able to run your game at an uncapped FPS with whatever graphics you want; just like you would if you were playing without OBS running.
OBS used to take the power it needs BEFORE the game took what it needs. OBS would stay locked at 60FPS (as long as your PC was good enough for 60) and the rest of your GPU's power was allocated to the game. If you're in-game FPS did happen to drop from 120 to 75, no problem – OBS is taking the GPU usage it needs and your game's FPS will respond accordingly. No need for you to limit your GPU usage.
So now for a solution I've found. It's not one I'm happy with but IF you are having this problem, it applies to you.
OBS does not function as intended with Windows 10. I have tried locking myself to pre-creators update Windows 10, using old drivers and using old versions of OBS – the issue was still there. This said, Windows 10 used to function as intended with OBS, so the cause is still unknown. Apparently this happens with other streaming programs like XSplit, so something to do with Windows 10 is the culprit I assume.
I have since switched to Windows 7 and everything is fine. I can fire up a game I've never played before on stream and not have to worry about tweaking everything to perfection to make sure my own, and my viewers experience is smooth. I can use 100% of my GPU and OBS stays at a solid 60 FPS, just like it should.
If you see anyone with this issue please refer them to this thread. This is a major issue and everyone is refusing to acknowledge it. It's not how it is supposed to function.
Last edited: