Question / Help OBS Studio + Game Capture + Win 10 + High GPU Core Usage = Inconsistent FPS in OBS

Gozen

New Member
EDIT 2/14/2017

I thought I'd provide an update just in case this information becomes helpful for anyone else. I'm just doing an edit instead of adding a new post as I don't see a need to bump this post up.

While I occasionally stream PC games, I also stream from my consoles using an Elgato HD 60S. A game I frequently stream is Super Mario Maker. I also use a browser source in OBS for Warp World, https://warp.world/ when I play Mario Maker.

For whatever reason, if I have Warp World added as a browser source, and I attempt to stream a PC game, even with the Warp World bar not visible, I had FPS issues. This only seemed to happen when using the "Game Capture" option in OBS with games. I eventually went into the properties for the Warp World bar browser source and made a change to shutdown the browser source when it is not visible. By doing this, my FPS issues went away when using Game Capture. I can't answer or say why this happens, as I have other browser sources that don't cause issues, but I was happy to finally come across the cause of my issues.

I also want to thank OG See OH Zee for the guide in their signature as well, found here https://docs.google.com/document/d/1P5E5SsauiKY-EVcWAThO4HAUY3CFM7KWfM40xd_qkQo/edit?usp=sharing

Reading that, along with re-reading the links I originally shared below, made me think some more.

Initially when I was using my GTX 970 on a 1080 60 Hz monitor, while I played all of my games at 1920x1080 and with most of the graphics settings very high, or nearly maxed out (depending on the game), I always enabled V-Sync due to screen tearing. This locked my in-game FPS to 60.

I later got the 2560x1440 144 Hz monitor and used my GTX 970 with that for a brief period. I then changed my in game resolutions to 2560x1440 from 1920x1080. After doing this, I did make sure to lower my in game graphics settings from what I was originally using back when I was on 1920x1080 resolution. With all of this though, I did turn off V-Sync in all of my games to unlock the frame rate.

Present day, I now have the GTX 1080 with games still set to use 2560x1440 with V-Sync disabled. I did crank up in-game graphic settings once again due to the increased capabilities of this new card.

In the end though it came down to making sure the Warp World bar browser source is set to shutdown the browser source when it is not visible. In addition, locking the in game FPS to 60, or enabling V-Sync (with the monitor refresh rate set to 60 Hz) if the option to lock the FPS in game isn't available, also helped as well before I came across the Warp World issue.

-------------------------------------------------------

TL;DR
Using 'Game Capture' with Steam games, along with having V-Sync disabled and the frame rate unlocked, causes the FPS in OBS Studio to be inconsistent. If V-Sync is enabled or the frame rate is locked to 60 FPS, the frame rate stays pretty consistent in OBS. Using 'Display Capture' with a Windows game such as Gears of War 4, while having V-Sync disabled and the frame rate unlocked, doesn't cause an issues in OBS. Attempting to use 'Display Capture' with Steam games causes major lag in the OBS preview window and the FPS is still inconsistent.

From what I'm about to describe, I believe the problem I am having is related to Windows 10 in some way based on the following posts I have come across already.

Here are some links to related posts:
https://obsproject.com/forum/threads/higher-fps-in-game-obs-cant-keep-60fps.57058/
https://obsproject.com/forum/thread...mirillis-action-doesnt-why.56453/#post-247283
https://obsproject.com/forum/thread...-studio-comparing-logs-on-w8-1-and-w10.55169/
https://www.reddit.com/r/Twitch/comments/4htl8e/psa_cant_keep_your_fps_target_in_obs_studio_heres/

Some members who have mentioned/confirmed what I experience include, @Unknown Richard, @Guilherme Hoffmann, @soulreaver2662, @Andy Hexagon, and @xSonic521x.

My specs are as follows:
Windows 10 Professional (Anniversary Update installed) 64-Bit
Intel Core i7-4790K
16 GB RAM
GTX 1080 (Upgraded from a GTX 970 recently)
2560x1440 144 Hz G-Sync Monitor (Upgraded from a 1920x1080 60 Hz recently)

I use OBS Studio only for streaming at this time, I don't do any local recording.

Previously using my GTX 970 and my 1920x1080 60 Hz monitor, I would play PC games with V-Sync on/enabled. I did this because I would get noticeable screen tearing without it enabled. Whenever I would stream in OBS Studio, I never noticed my FPS drop below 60.00, which is seen in the lower right-hand corner next to the CPU utilization. I never had a problem with dropped frames once I was live streaming.

I recently swapped out my old monitor with a new 2560x1440 144 Hz monitor. At first, I was still using my GTX 970. As such, I disabled V-Sync in any games I was playing. After doing this and attempting to stream, while my local FPS in-game would be great, I noticed the FPS in OBS Studio were inconsistent. Constantly fluctuating from 60 FPS to other FPS values such as 34, 48, etc. It is worth noting that this happens just with OBS Studio open on my computer and I don't have to be streaming, recording, etc.

After the new monitor, I installed a GTX 1080, but much like above, I noticed the same symptoms, with fluctuating FPS in OBS Studio while my actual in-game frame rate would be excellent.

Doing some experimenting, with setting my monitor's refresh rate to 60 Hz and enabling V-Sync in-game, I found that OBS Studio was pretty much consistent with keeping a solid 60 FPS.

I also did some testing and found that with some games, if I am able to set/lock the FPS, I can set it to 60 FPS in-game, while keeping my monitor's refresh rate set to 144 Hz along with keeping V-Sync disabled, and see that 60 FPS stays much more consistent in OBS Studio.

Based on the other posts I have come across, it seems like enabling V-Sync or locking the in-game FPS to 60, seems to keep the FPS in OBS Studio consistent as well.

From what I've read and seen myself, it seems like the issue is somehow related to Windows 10 and high GPU usage. Once GPU usage climbs to 90% or higher, the FPS drops in OBS Studio. By locking the FPS for a game to 60, it lowers GPU usage and thus allows OBS Studio to capture at a consistent 60 FPS.

In OBS Studio for games from Steam, I use the 'Game Capture' option.

Games I've tested on include, Alien Isolation, Max Payne 3, Conan Exiles, and Resident Evil 7. All games are running at 2560x1440 on my local monitor with ultra or near maxed out graphic settings. With RE7, even with my locking the in-game FPS to 60, in certain areas of the game, GPU usage will rise pretty high, thus causing the FPS to drop in OBS Studio temporarily, even though my local FPS are staying consistent at 60 when having the FPS locked in-game. Granted, I am running RE7 with pretty high graphic settings overall which I'm sure can add to GPU usage.

Another game I play is Gears of War 4. In order to capture GoW 4 in OBS studio, I have to use the 'Display Capture' option as the game was purchased through the Windows 10 store. A few months ago, I was having the issue, when using my GTX 970 and old monitor, where attempting to stream in OBS Studio using 'Display Capture' where OBS Studio would eventually freeze up and my stream would end. I recall reading about how this was an issue somehow related to the Anniversary Update for Windows 10. My workaround at that time was to disable the preview in OBS Studio. This allowed me to stream without issue. I noticed that one of the updates for OBS Studio addressed this issue and I no longer had issues streaming GoW 4 with the live preview enabled.

Interestingly, I just did a test with GoW 4 using 'Display Capture', and I did not see OBS Studio drop below 60 FPS, even though I had V-Sync disabled in addition to having the frame rate unlocked in-game. As far as I could tell, GPU usage was very high, but for whatever reason, OBS Studio would keep a consistent 60 FPS when using 'Display Capture'.

I attempted to see what would happen if I tried to play RE7 using 'Display Capture' instead of 'Game Capture' and not only were the FPS inconsistent in OBS Studio, but the actual live preview had an excessive amount of lag so this is not an option unfortunately.

Other than locking the FPS in a game to 60 or enabling V-Sync while having my monitor's refresh rate set to 60 Hz, or going to a different Windows OS such as 7 or 8.1, are there any other options at this time or are there any plans to address this in a future OBS Studio update?

Thank you.
 

Attachments

  • 2017-02-09 16-08-04.txt
    8.6 KB · Views: 57
Last edited:
I'm going to put that ever since I upgraded from GTX 750 Ti to GTX 1060 6GB, the lagged frames were much less on my end. However, even if I do keep 60fps in OBS Studio, it looks a bit weird like there's weird frame pacing or frametimes if that's what they call it. It's only when GPU is under load but I should note it there. I would like to know what line in the log is basically showing framepacing/frametimes if possible.

EDIT: I haven't tested it on my GTX 1060 recently, but I'll check to see what the framepacing is on Windows 8.1 in the same settings just for the heck of it soon. I know I had some higher frametimes on it with my GTX 750 Ti which is only when GPU is under load, despite keeping 60fps.
 

Attachments

  • 2017-02-09 20-18-25.txt
    12.3 KB · Views: 48
Last edited:

HydraulicTater

New Member
I have had the same problem that you are describing. I also think it is a problem with windows 10. Something about how OBS is grabbing frames is inconsistent bad frame pacing. I have done a lot of googleing to find info about it, and though lots of people seem to be having similar problems I havent seen any way to fix it. It could also be related to Gsync, I have a Gsync monitor also and have the exact same problem. Hope a fix comes up soon.
 

IMI4tth3w

New Member
+1 for having this exact same issue.

PC Specs: i7 4770k, 780ti, dell 1440p 144Hz gsync monitor

here's a curve ball. My pc has NO issues keeping a solid 900p 60fps 6k bitrate stream going even when playing GTA V pegging the gpu usage to 99% with an unlocked and variable frame rate.

PC Specs: i7 4790k, 980ti, same dell 1440p 144Hz gsync monitor

both pcs are fully updated windows 10. both pcs tested using a scene with ONLY game capture. Its really baffling..

Please be our savior and find a solution other than "your maxing out your GPU" the OBS support guys are shoving around.
 
Last edited:

Lapppy

Member
It really sucks that VSync is essential for a capture without any duplicated or skipped frames.
Generally if you are experiencing any frame drops due to encoding lag then you must lower graphics settings in your game or limit the frame-rate in your game to a reasonable level so that there is enough GPU power to allow OBS to render frames/encode the video.

However I've seen a number of posts, as well as in my own experience where the log reports zero dropped or skipped frames but the output video file is a stuttery mess. The GPU does not have to be maxed out for this to happen, and the problem is not the encoder being overloaded. It happens regardless of what encoder you use or what graphic settings you use.

It all comes down to how game capture/OBS is pulling frames from your graphics card. OBS can't seem to capture frames properly if your frame times are not consistent. The fix is to enable VSync so that each frame is supplied in perfect sync with your monitor and OBS captures the correct frame. And even then that's not a perfect fix because the precise timings will eventually drift and after a while the recording will have some duplicated frames. (this probably depends on your monitor, for me its around every 40 minutes)

It gets even worse if you have a 144Hz monitor for example, cause you can't sync your monitor/frame times to a perfect 60fps. Though I can't say for sure, since I don't own one.
 
Last edited:

Thiefyo

New Member
Hello i got the same issue described in the 1st post,

My config is i7 6700k 16g ram ssd gtx 1080 and a monitor set to 144hz.

i played with obs studio trying to obtain 60 stable fps for my livestream no mater what i tried i had drops under 60 like 32 25 55 57 45 random.. inconsistent fps.

So for now there is no fix for this? only shadowplay seems to be doing it wright. Sadly for now Shadowplay is not so customizable like obs... so is not such a good stream platform for a creator is good for random kid who wants to stream his gameplay on a platform. Hope they fix this issue because is just a big mess...
 

Osiris

Active Member
It's kind of expected that if GPU usage is maxed, OBS can't keep a steady FPS. The game and OBS will compete for the same resources, resulting in performance issues. The reason Vsync (or a frame limiter) is recommended is because it lowers GPU usage (assuming you can actually get 60fps in the game).

On Windows 10 the gaming mode in the creator's update can also cause problems.
 

Thiefyo

New Member
sounds stupid if my game runs 200 fps for example or 100 cant keep a stream of 60 fps only in obs..when the resource is available... how shadowplay manage to do it and obs not? is not a solution for me from 144hz to limit my game to 60 hz just in order to obtain a smooth obs stream i should be able to play at my 144hz and obs should record 60 frames top without issues... I have the creators update but xbox dvr is disabled and i dont think that gaming mode would affect directly obs to capture correct frames or resources from the gpu at task.
 

Osiris

Active Member
How on earth does it sound stupid? OBS needs some GPU resources to render the scene, if your game is using all of the GPU resources, OBS won't be able to render the scene fast enough.
So if 144fps maxes out your GPU, then yes you will need to limit the framerate.

Also you can't compare OBS to Shadowplay. Shadowplay does no scene compositing.
 

Thiefyo

New Member
you mean for example random indie game that does "max" out a 1080 to render a simple scene can`t handle a extra window with 60 fps... anyhow i don`t see a reason to limit my framerate to 60 in order to stream.. so you say the problem would be that it needs to render a scene what if it does not render the scene disable the preview will that help ? :-/ all it apply also in off screen?
 

Xaymar

Active Member
No, that will not help as the problem is still that there are not enough GPU resources available.

Imagine the situation as this, you have 40 apples. Now another person (the game) takes 39 and 1 is left for the remaining people. But the remaining people are many (operating system, OBS, overlays, Steam/Origin/UPlay, drivers, other applications), so now you've got a resource conflict - not enough apples remaining after the game took almost all of them.

The game took too much and now you get framerate fluctuations, which is why you have to frame-limit every game either using VSync, an ingame frame limiter or an external software doing the frame limiting. Additionally it could help to reduce the game's GPU load by lowering the quality setting but this will only help with a frame limiter applied. Until GPU vendors finally agree on some kind of process priority for GPU task scheduling, it will unfortunately always be this situation.
 

tanvan

New Member
How on earth does it sound stupid? OBS needs some GPU resources to render the scene, if your game is using all of the GPU resources, OBS won't be able to render the scene fast enough.
So if 144fps maxes out your GPU, then yes you will need to limit the framerate.

It's kind of expected that if GPU usage is maxed, OBS can't keep a steady FPS. The game and OBS will compete for the same resources, resulting in performance issues. The reason Vsync (or a frame limiter) is recommended is because it lowers GPU usage (assuming you can actually get 60fps in the game).

On Windows 10 the gaming mode in the creator's update can also cause problems.

Also you can't compare OBS to Shadowplay. Shadowplay does no scene compositing.


I am sorry but your wrong. I used to be able to stream on one PC using a 15 3570K.. 720p 30Fps no problem at all. Upgraded to 6700K last year but up the stream. Worked great until that past few months. I could stream 720p60 no problem. Now it drops to 25 fps. Its not my CPU it runs at 22%. Its not my 1080. Not even close with destiny 2 on full thats its using all the memory. (which I just upgraded to fix this problem) I am now running Dual PC to run 720p60. Something has gone wrong with OBS. Something inst working right. Its not always user error.
 
Top