Question / Help OBS prioritize GPU?

SuperiorJT

New Member
I'm currently doing a 1 PC stream setup. When streaming, I get render stalls because I am pushing my GPU to get more than 60 fps (my monitor is 144hz). Is it possible to give GPU priority to OBS and sacrifice in-game fps to eliminate the render stalls?

I included a log file with some local recording samples. Not sure if it is needed.

Thanks!
 

Attachments

  • 2016-12-27 23-30-54.txt
    23.9 KB · Views: 91

c3r1c3

Member
1. In your game capture properties select the Limit frame rate capture option.
2. Limit the fps in your game to 144fps.
3. If you need more then that, try turning down a shader quality and/or texture resolution setting (or 2).
 

SuperiorJT

New Member
Right, I can limit the fps, but say that there is a lot of action and the GPU can't get up to 144fps. Instead of pushing so hard on the game, causing my stream fps to dip, I want the GPU to prioritize OBS so that there won't be a render stall. Does that make any sense? I see that it does this already when I'm streaming games like LoL.

I'll play around some more with fps limiting. Thanks for the tip. If anybody else has any other advice I would appreciate it.

Thanks!
 

enthalpy87

New Member
I got the same question/problem. Before the Creators Update OBS was never reducing fps of the stream, even if the game just had 20fps. Now every game seems to be prioritized over OBS, even with game mode disabled!
 
Right, I can limit the fps,

yeah, the "solution" you were given wasn't the solution you were asking for. I too want to know if there's a setting somewhere within OBS or Nvidia control panel to set an app as priority so that we never get reduced frame rate (getting HORRIBLE reduced frame rate in BO4 because my geforce 1080ti is pushing 90-95% of it's processing just to the game; looks nice though) and I want it to prioritize obs for the 5-8% it needs to render and send to obs on my streaming pc for glorious 60fps
 

c3r1c3

Member
@HotelCharliHill True, but OBS doesn't write the OS or drivers or design the hardware. So if you want what's being asked for, please talk to Microsoft and convince them to put that option in the OS, and then ask NVidia to allow for it in their drivers. The only thing we can do is give you some tips to help avoid the problem in the first place.
 

Reaps

New Member
Hi there,

Sorry to hijack the thread.

For this issue - I'm running 1440p, 8086k and 1080TI, pubg - I get the same render issue where obs reports downwards of 40fps and it looks terrible. I can get rid of the lag on the stream, by reducing in game fps to 110~ but that's no good for me.

Is there an option that costs, to make this better?
eg. Would a 2nd gfx card stop this issue?
I'd like to offload everything that OBS is doing, to a 2nd card... although, the way i'm thinking about it - my 1080TI will still need to send the image to somewhere, so surely it's still gonna be involved to a degree?

I'd be happy just to duplicate my screen and send it to a 2nd streaming PC, but no one makes a decently priced card that natively supports 1440p ?

What are my options?

Edit:
I've done so more testing on this.
I'm running through a replay on pubg. Watching the grass areas where my fps in OBS tanks to 30 fps.
I can tab out of the game - PUBG still running at 120FPS
The moment I select the OBS window (as if windows is allowing it processing power) the OBS fps flies up to 60fps constant.
My in-game FPS is not touched either. It's sitting at 120FPS still.

Is there a way to tell windows to always give it that amount of power to run?
I've tried adjusting the processor priority to all obs processes, but it makes no difference. Thanks again! Happy to open a thread if it needs its own one.
 
Last edited:

BK-Morpheus

Active Member
Nope, not really any real solution, other than making sure, the GPU is not running into a bottleneck situation, which can only be done by choosing the correct fps limit in your game.
Keep in mind, that offloading the encoding job will not help, as encoding is not really causing GPU load (rendering does).
So rendering with NVENC on a second GPU will not help.
If you can make OBS run and render on a different GPU, it will help (in theory), but the highly increased PCI-e bandwidth load might cause worse problems, than the rendering lag with one GPU.

And keep in mind, that a dedicated streaming PC might still not be the solution. First of all, if the main monitor is running more than 60Hz, the capture card would also need to be able to run at that refreshrate and even if it does, there is still the problem of Windows introducing stutter or reducing both refreshrates (main monitor + capture card) as soon, as GPU accelerated programs are displayed on the second monitor (or the capture card).
NDI could do the trick, but then again, the rendering problem kicks in, if I'm not mistaken.
So the "best" or let's say most reliable way, to keep the stream smooth is to avoid max GPU load, which can only be done with a frame limiter.
You could check, if there is a single GPU on the market, that can run all your games at the desired resolution with 144fps in every situation, without ever reaching over ~95% load and buy that one (or maybe downlock the CPU, so it will bottleneck first). From what I've seen, even a 2080TI will drop under 144FPS at 1440p in some situations/games.


Right, I can limit the fps, but say that there is a lot of action and the GPU can't get up to 144fps. Instead of pushing so hard on the game, causing my stream fps to dip, I want the GPU to prioritize OBS so that there won't be a render stall. Does that make any sense? I see that it does this already when I'm streaming games like LoL.

I'll play around some more with fps limiting. Thanks for the tip. If anybody else has any other advice I would appreciate it.

Thanks!
Yeah, would be cool, if Microsoft would implement a way to let the user prioritize the GPU load for different processes, but at the moment, you can only prioritize processes for the CPU.
 
Last edited:

Reaps

New Member
That's a significant OS limitation.
Thanks for the knowledgeable feedback!

Happy Christmas
Reaps
 

Reaps

New Member
Having watched a bunch of guys on twitch, this question keeps popping back to me.

How do they get high FPS in game... as well as high stream fps?
They are not limiting their FPS, as I can see it from their stream hitting 180/200fps etc..

They have the same setup as me, some even less powerful with the same game.

How can I get my setup like theirs?
 

Reaps

New Member
1. WIndows button + G
2. Enable Game Mode.
3. Then disable game mode.

4. Start > Type 'Settings' (purple square with cog) > Gaming > Record game clips, screenshots and broadcast using Game bar > OFF
OR Scroll down to 'Game Mode' and set to OFF/disable.

Windows button + G now no longer works.

My OBS streams are now a solid 60FPS whereas before, they were not getting enough priority to run. The stream is now perfect!!!

I hope this helps someone else!
 
Last edited:

Moquay

New Member
I found the setting on windows 10 to give OBS the GPU priority and it works for me fine now!

1. Klick on the Windows Start button
2. type Graphics settings and klick on it
3. Klick Browse and find your OBS.exe (The icon to start OBS) and klick Add
4. Klick Options (at OBS on the Graphics settings Window)
5. Set the Point on "High performance" and klick "Save"

6. Visit me on my stream twitch.tv/moquay86 and follow me ;)

After that i can play on unlimited fps and i got 60 fps on my stream. without that i only have 8-15 fps on my stream.
OBS use only 4 % of my graphic card (980 ti) and i lose not much fps ingame.
 
Last edited:

R1CH

Forum Admin
Developer
That doesn't affect GPU priority, only which adapter the app runs on. OBS normally defaults to the high performance GPU.
 

kingbily

New Member
Hi there,

Sorry to hijack the thread.

For this issue - I'm running 1440p, 8086k and 1080TI, pubg - I get the same render issue where obs reports downwards of 40fps and it looks terrible. I can get rid of the lag on the stream, by reducing in game fps to 110~ but that's no good for me.

Is there an option that costs, to make this better?
eg. Would a 2nd gfx card stop this issue?
I'd like to offload everything that OBS is doing, to a 2nd card... although, the way i'm thinking about it - my 1080TI will still need to send the image to somewhere, so surely it's still gonna be involved to a degree?

I'd be happy just to duplicate my screen and send it to a 2nd streaming PC, but no one makes a decently priced card that natively supports 1440p ?

What are my options?
Bluestacks Kodi Lucky Patcher
Edit:
I've done so more testing on this.
I'm running through a replay on pubg. Watching the grass areas where my fps in OBS tanks to 30 fps.
I can tab out of the game - PUBG still running at 120FPS
The moment I select the OBS window (as if windows is allowing it processing power) the OBS fps flies up to 60fps constant.
My in-game FPS is not touched either. It's sitting at 120FPS still.

Is there a way to tell windows to always give it that amount of power to run?
I've tried adjusting the processor priority to all obs processes, but it makes no difference. Thanks again! Happy to open a thread if it needs its own one.
ways you can reduce resource utilization and, hopefully, make both OBS and your programs run faster while encoding:
Downscale your output resolution. ...
Lower your frame rate. ...
Change your x264 preset. ...
Try Quicksync, AMF, or NVENC. ...
Check your sources. ...
Upgrade your hardware. ...
Other programs/games use CPU too.
 
Last edited:
Top