Bug Report Game Capture sources create FPS lag with OBS studio open/not recording

xylotism

New Member
I'm having the exact same problem as this person though not with Minecraft. I just did some testing in CS:GO and found the following:

--Testing--
CS:GO running without OBS open: ~300FPS
CS:GO running with OBS open but no source: ~300FPS
CS:GO running with Game Capture source added but disabled (preview on or off, doesn't matter): ~300FPS
CS:GO running with Game Capture source added and visible (preview on or off, doesn't matter): ~120FPS
CS:GO running while recording in OBS: ~90FPS
CS:GO running with Window Capture source added and visible (preview on or off, doesn't matter): ~300FPS
CS:GO running while recording in OBS CLASSIC (capture mode doesn't matter): ~300FPS

--Results--
As you can see, it's something specifically wrong with the Game Capture source in OBS studio -- using Window Capture or switching to OBS Classic fixes the FPS drop, and oddly the FPS drop happens as long as OBS Studio is running and the source is enabled, whether the preview is on or the software is even recording/streaming anything.

--Games--
Now OBVIOUSLY it's not an issue to stream at 90FPS in CS:GO but it's been happening in League of Legends as well, and the FPS values for that are closer to 60/45/15 rather than 300/120/90, which is a major problem if I want to stream League at a stable 30fps let alone 60. I've tested a handful of other games and seen pretty consistent results.

--Version--
The problems I'm having have been occurring on both 15.1 and 15.2, but I haven't gone back and reverted to anything previous to test if it's a problem with version .15.x.

--Encoder--
These settings are pretty much the same whether I use NVEnc or x264 encoding, allowing for a little less fps if the CPU is being taxed in x264 mode. I've tried every other setting I could think of that might affect this, but I can't seem to find any.

--Monitor--
I should also mention that I just upgraded my main monitor a few days ago -- I'm pretty sure this issue was happening before that as well, but I've only been able to confirm 100% that it's happening now. The new monitor is a 144hz with Nvidia G-Sync (Although G-Sync is turned off in favor of ULMB)

I'll be happy to export any logs if needed, right now this issue's keeping me from streaming anything serious. Here's the current log from a short test I did on the CS:GO weapons course:
https://gist.github.com/anonymous/bc50b8c9d5cbdc1c1698c9f5824123a6
 

Osiris

Active Member
No, you do need to limit the fps even on those systems. This is true for a lot of games, OBS needs CPU/GPU resources too, so you can't let the game use it all.
We see this a lot especially with CSGO, as soon as people limit their fps, it suddenly runs a lot better when streaming or recording.

For recording you can ofcourse try to remove the need for cpu resources by using a hardware encoder in OBS.

I also noticed that for some reason the game capture is running in memory capture mode instead of shared texture mode, this should only happen with multi-adapter compatibility enabled or if shared texture capture somehow fails.
 
Last edited:

Schyler

Member
No, you do need to limit the fps even on those systems. This is true for a lot of games, OBS needs CPU/GPU resources too, so you can't let the game use it all.
We see this a lot especially with CSGO, as soon as people limit their fps, it suddenly runs a lot better when streaming or recording.

For recording you can ofcourse try to remove the need for cpu resources by using a hardware encoder in OBS.

I also noticed that for some reason the game capture is running in memory capture mode instead of shared texture mode, this should only happen with multi-adapter compatibility enabled or if shared texture capture somehow fails.
I have a 4790k and a 980 Ti and when I stream CS:GO I don't limit fps and I get steady 300 fps. CS is extremely resource light.
 

xylotism

New Member
No, you do need to limit the fps even on those systems. This is true for a lot of games, OBS needs CPU/GPU resources too, so you can't let the game use it all.
We see this a lot especially with CSGO, as soon as people limit their fps, it suddenly runs a lot better when streaming or recording.

For recording you can ofcourse try to remove the need for cpu resources by using a hardware encoder in OBS.

I also noticed that for some reason the game capture is running in memory capture mode instead of shared texture mode, this should only happen with multi-adapter compatibility enabled or if shared texture capture somehow fails.

I tried limiting FPS, but whatever I limit it to, OBS just drops it below that. In fact the 300FPS is already a limit (fps_max 300 in console), otherwise I'd be seeing 500+. If I limit CS:GO to 60FPS, having OBS open drops it to 45 while open and 15 when recording. Two other things to note here are that the CPU and GPU aren't maxed out -- they only run at less than 65% on average, and also this only happens in Game Capture mode, Window Capture gives the appropriate fps drop (20-30fps) instead of 50-75%.
 
Top