Question / Help OBS Preview/OBS FPS drop unless outside of game window

Fenrir

Forum Admin
Since you're using x264 to encode, probably want to take a look through at the doom9 forums here: https://forum.doom9.org/
There's a ton of threads about x264 multi-threading and the limitations/expectation. Might explain why you're only seeing 16 threads.

Be careful when you say "OBS has issues with X thing" as we're using external libraries for most of the heavy lifting when it comes to the actual encoding. We have no control over x264 and how it functions, so please understand that if this is a legitimate bug with the encoder, there will not be anything we can do about it.

However, that said, I haven't seen a log that shows the CPU/encoder failing, only logs that show the rendering lag (which means your GPU is somehow overloaded). This is easy to test by doing everything you would do normally during a stream, except have OBS itself closed. Watch GPU usage with a tool like GPUz. If you're hitting high 90's for percent load, you're going to have issues.

I understand it's easy to think that a 1080ti couldn't possibly have overload issues, but it's very easy to see when you are pushing 1440p and 144fps in modern games. Make sure you keep perspective on what your hardware can realistically accomplish.

From what I've seen in this thread. this issue does not appear to have anything to do with the CPU.
 

NoTick

New Member
Well - my observations differ from your thoughts of it being GPU based. (Such as being able to encode 720p@60fps with no FPS drop on a 3770k with the same exact monitor/GPU setup -- whereas the new Threadripper build wasn't capturing between 2-10 fps).

All things I had to modify to alleviate the issues was CPU related. E.g. changing AMD to utilize a 'local' memory displacement; Having to have the GPU downscale before render; Having to remove animated GIF's (which have their own windows processes running simultaneously -- much like a web-browser does for individual tabs).

I will have to tinker with some custom x264 optimizations to see about thread usage. Default x264 only uses 1 thread... So I'd assume there's a default profile already in play, that has been expressed through OBS to send to the encoder? If it was set to auto, it should be using 24 threads, or 48 threads if it counts logical processors, not 16. (( 3/2 * cores -- 3/2*16 == 24 || 3/2 * 32 == 48))
 

OrLoko

New Member
I'm experiencing the same issue.
i7-8700k
GTX 1080ti

While on Alt-tab OBS goes to 60fps (as set):
https://i.imgur.com/ccnFc6Q.png

Just by going in to the game, without playing, streaming or recording...the fps goes down to 24-25...
https://i.imgur.com/XTJKDdD.png

During game test, the fps on OBS keep between 24-39fps

The game itself is at 110FPS (with OBS open), without OBS open, the game goes to 220-250fps.

I check my scene/sources, 4 Text's, 3 Image overlay's, Webcam, Streamboss and TwitchAlerts.
I removed Streamboss to see if would improve, nothing...

Log: https://gist.github.com/a9673b4a12133a18335fc060dfdbb10c

I search for the error : d3d9_shmem_capture: GetRenderTargetData failed (0x88760868)

Found this thread: https://obsproject.com/forum/threads/getrendertargetdata-failed.71076/ poiting to this one... https://obsproject.com/forum/threads/laptop-black-screen-when-capturing-read-here-first.5965/

But I don't find the this option:
NVIDIA ("High performance") adapter

https://i.imgur.com/Q8ZlFZ2.png

This should be there, but isn't...
http://i50.tinypic.com/2lc91r6.png

 
Last edited:

OrLoko

New Member
Code:
00:29:14.807: [game-capture: 'All'] init_hook_info: user is forcing shared memory (compatibility mode)

Turn off multi-adapter compatibility in your game capture properties. You shouldn't have enabled that.

New computer, I had copy the obs config I had working on the older pc...why it worked before it that enable? must be because there isn't any iGPU or display attached to the motherboard on the older pc?...so it was working with that enable


Anyway...Thank you so much!
 

Fenrir

Forum Admin
There are very, very few reasons you should have ever had that enabled. If you had an old PC (i.e. laptop) that was using it, you probably shouldn't have been. It's an absolute last resort method of capturing the game, but it comes with a very high performance cost.
 

LorDVictiM

New Member
Hey guys,

I have the exact same issue as discribed here (see my yt-video I made for a friend here -> https://www.youtube.com/watch?v=eCtHeAPACcY ) it occurs whether the livestream as a process is turned on or off neither which render method is used (Quicksync, h264 CPU, NVENC). I did some investigations around this issue and I like to share my results and tell you how to bypass this odd behavior at last to maintain stable 60 FPS inside an open OBS-Window even if it´s focus is lost.

My solution to bypass this is written down below


1. My conclusions (wall of text + screenshots)
1st of all it seems to be NOT an issue of OBS. Same behavior in other livestream/screengrabbig tools such as GameShow. I am not an expert but it looks to me like a problem of the mix between NVIDIA cards + drivers + Windows (i use 10) + Window manager.

I tested different methods to achieve 60 FPS during the capture/livestreaming process.

My System in a nutshell:

CPU: i7 4790K
GPU: NVIDIA 980 GTX Ti - latest Drivers 388.43 downloaded and installed at 12/09/2017
OBS: Studio 20.1.3
RAM: 16 GB (2400 Mhz)
Capturecard: AverMedia Livegamer HD (old version)

I figured out with my settings inside NVIDIA Control Panel:

nvidia_system_setting46oke.png

the games run perfectly smooth and the game FPS is around 100 to 140 inside a game without a limitation such as VSYNC etc. But with theese settings enabled this leads to the strange FPS drops from 60 down to 23 FPS inside the OBS window.

This also happens if a 2nd system built up with the capture card in it and hooked up to my GC via HDMI.

I decided to do a deeper research and wanna compare this FPS drop behavior in relation to my GPU usage. I used the NVIDIA Inspector 1.9.7.8 by Orbm2k (can be downloaded from https://www.guru3d.com/files-details/nvidia-profile-inspector-download.html Support + Guide can befound here https://forums.guru3d.com/threads/nvidia-inspector-introduction-and-guide.403676/)

If there is no FPS limitation (GPU Usage is 99%-100%) to the game application this leads to the strange random FPS drops. This does not occur in games that are not so demanding in your hardware or built in FPS limiter technology (f.e. All Points Bulletin - APB).

2. Bypass this issue
  1. Download the NVIDIA Inspector Tool here
  2. Extract it and go to it´s folder and open: nvidiaProfileInspector.exe
  3. Scroll down the list to: Sync and Refresh
  4. Select from the Frame Rate Limiter: 60 fps ( Frame Limiter v2)
  5. Click on Apply changes (upper right corner)
This fixed/bypassed my issue of dropping FPS inside the OBS Window

Watch my video about the bypass with a few comments here:


But there are some negative side effects that you should know:
  • causes input lag
  • screen tearing
I hope this fix/bypass your problem until there is a global solution provided by Microsoft and/or NVIDIA
 
Last edited:

BK-Morpheus

Active Member
so long story short, it was GPU overload, and async frames, due to not limiting ingame fps to a value that is compatible with the recording/stream and therefore it will let the GPU run into the bottleneck.
Alt+tabbing out of the game means, the game will run with like 30fps for example (most games do, when they are in the backround), so the GPU load will drop and that's why the obs stutter disappears, when you focus OBS.
 

LorDVictiM

New Member
You could just, you know, cap FPS or enable vsync in the game itself.

You got a point. I gave you credit for that.

Vsync has a bit worse performance to me coz it limits the FPS below 60 that causes some "hickups" in my stream. I achieve more smooth results with the Frame-Limiter which limits the FPS a one or two frames above 60.
 

CiHel

New Member
Hey guys,

hello sorry my english not good

i have good PC (PC just setting for more fps internet 100M)

i get this "obs fps drop" when the PUBG update to "PC 1.0(live server)"

before i play PUBG test server not get this.

when i streaming PUBG test server fps 60 .60. 60. 60

when i streaming PUBG PC 1.0(live server) fps 60 . 40 .10 .15 50 . 54. 59

maybe this game tell my OS focus run this game.

so happen this problem.

i fix when i setting this (process priority set High)

https://i.imgur.com/wAWFggT.png

wAWFggT.png


if use NVENC please close Hardware acceleration process (chrome discord)

Keyframe Interval: 2 seconds real fix it

https://i.imgur.com/D6OsIBV.png

twitch advice set 2 https://stream.twitch.tv
 
Last edited:

TekNeil

Member
Hi, I have the same issue! Frustrating as it didn't used to happen. But yep, Taking focus away from the game makes the OBS preview window and the stream very smooth. As soon as I focus back on the game, the preview window and the stream are choppy as hell! :-(

I started my own topic here about it: https://obsproject.com/forum/threads/choppy-preview-stream-unless-unfocused-vive.83064/

Will read through this topic properly later when I'm back home at the PC.
Cheers, hoping this can be resolved!
 
Last edited:

Tyrakz

New Member
Same issue, my FPS do drop when I'm running Streamlabs. In other words, let's say that I'm playing, and I run Streamlabs, the game will instant drop from 144FPS to 60FPS FIXED! won't move from 60, and that's only if I run the program without live streaming. How do I fix it guys? I've read the whole thread and I could understand that there is a solution but I'm half wild monkey. Could you list the steps to follow to fix this?
Thanks very much :)
 

LorDVictiM

New Member
You lazy boi

In short limit the FPS of your games, simplest possibility is activate vsync or limit the FPS to 60.

Reason there is an overheat with OBS or any other screen grabber if your GPU load is maxed out and you wanna stream in 60 FPS.
 

Tyrakz

New Member
My GPU is not being maxed out, I have 2 1080ti kingping, two of them, 32 GB of RAM DDR4 3200mhz and an i7 8700k. This can't be maxed out by playing LoL I have tons of fps as soon as I run obs the fps drop to 60 even I don't turn on the streaming. There is a settings issue here and it has to do with obs's settings
 

Harold

Active Member
You have two pci-e x16 cards operating in x8 mode because you have two video cards installed. The i7 8700k only has 16 pci-e lanes.
Physically remove the second card.

Also, streamlabs provides their own support for their version of obs.
 

LorDVictiM

New Member
Unlimited FPS might be a part of the reason. Give it a try and limit the FPS to 60. I am sure this will bypass your issue as mine.
 

Tyrakz

New Member
Bro, listen we dontd have to argue about anything here, I already removed my second graphics. This started to happen 2 days ago, before that I was streaming at 144 fps and now I am locked on 60 only if I execute stream labs without turning streaming on. It drops to 60 just by executing the program. With one graphics on it with both it's the same. Days ago I was able to get 144 and now only 60 locked. I use gsync not vsync, vsync is off I tried to switch it didntd help either. If I close the program fps iump baxb again to 144
 
Top