High OBS GPU Compositing Load
I've recently started trying to setup a 2PC stream using an elgato 4KX to let me move 2 camera and some ultrawide gameplay
In the scene composting 2 cameras and the game into a single scene, OBS will draw close to 30% load on my 3090TI which results in a fairly negative impact on gameplay.
Is this GPU loading normal for what I assumed would be relatively light loading?
Are there anyways to reduce OBS's footprint while running a 4k-60 canvas to my streaming computer?
18 Replies
Your streaming PC should be doing all the work… are you capturing the game on the gaming pc?
Yeah, so the idea was inspired by this Nutty video.
https://youtu.be/uN76AC_egmQ?si=jCEFP2grIiqtNt2g
I have my cameras and mics attached to my gaming PC, and then connect the capture card to the hdmi out on the GPU.
I then use OBS to composite a single 4k canvas with the cameras and game capture to output to the capture card for the streaming PC to do the more complex scene out put (will post examples in a few)
nutty
YouTube
How I Set Up My Dual PC Streaming Setup | Elgato 4K X
Use VIP-SCDkey 30% discount code :Nutty
Windows 11 PRO($21):https://www.vip-scdkey.com/sks/nutty11
Windows 10 PRO($15):https://www.vip-scdkey.com/sks/nutty10
Windows10 home($14):https://www.vip-scdkey.com/sks/nutty10h
Windows11 home($20):https://www.vip-scdkey.com/sks/nutty11h
Office 2016 PRO($26): https://www.vip-scdkey.com/sks/nutty16
Office 2...
so you're defeating the point of having a second PC and capture card
got it
Ok and of course when I want to catalog impact everything just works perfectly and gameplay is rock solid at 60fps (monitor Vsync rate, roughly 90 fps uncapped and full ultra settings with no ray tracing) when it has almost never done this.
So first here is the canvas I'm capturing from the gaming PC to send to the stream PC and then the output canvas that goes to stream
Previously from running that overlay and effects package I think I was hitting the gaming PC GPU for about 40-50% of 3D resources (I forget what baseline load was at that time), and currently building and previewing the canvas (output to capture) is pretty steady around 27-30% 3D resources (7-10% above baseline) and about 3.1 gigs of VRAM. (System Idle and OBS running attached)
TLDR for the setup: No it is not wholly offloading all capture work to the streaming PC, it is offloading the most system intensive parts of the production (didn't capture this, but it is using about 50% of a 4070TI Super who is only running OBS, and maybe a Firefox tab or 2 for stream moderation). Also because of using spanned triple monitors I'd only be able to capture 1/3rd of the gameplay going the traditional hdmi mirror route, This gives me some flexibility to capture 2/3rds of the game scene
Since it was working as smoothly as I've seen it function I figured I'd take some more profiling data to see if I can figure out any other potential anomalies in the future So test running Assetto Corsa Competizione (ACC) and Forza Motorsport (FM) . My 2 most demanding titles, and what I've had the most issues with. This morning the system managed 60fps Vsync with normal fluctuations staying mainly between 58-60, occasional drops to 45 while playing ACC but no major fluctuations observed on the GPU, but ACC seems much more sensitive to CPU calls.
ACC dropped to single digit framerates at one moment, and then the framerate remained firmly int he high 40's and this seems to be associated with NVIDIA Broadcast launching in the background for some reason. I closed Broadcast and it seems whatever it was doing was having a major impact, because frame rates returned to the relatively solid 60fps I've been seeing
So, started pushing my luck at this point, I made sure all apps I have on my gaming PC are open, Sim telemetry, Spotify, and discord, even a really dumb amount of chrome tabs to try and cause the issues again, while just running the game and outputting to the capture card, then taking a 4K recording while playing (not certain if replay buffer was active or not during).
- Gaming with current settings appears to add:
- 29-30% CPU load
- ~7 Gigs of VRAM usage
- 32% additional 3D Resource usage
- adding my frequent simultaneously used apps, discord and spotify, into the mix increases CPU, Ram, VRAM, usage by about 1% or less
- Gaming and recording (4k-60 nvenc) with current settings appears to add an additional:
- 91% Video Encode load
- 7% 3D Resource load
- 4 gigs of VRAM usage
- 4 gigs of RAM usage
- ~10% CPU usage
I like the idea of having the clean sources for future editing projects, but not totally wedded to the idea yet
Yeah so I'm pretty sure you can clone a triple monitor setup to a virtual monitor that outputs to the capture card so you get all three screens captured
Doing any compositing on the main PC, even if you're just using OBS's virtual output to the capture card, is going to incur some performance penalty, especially if you're also including cameras in the scene since OBS has to decode the video of those devices too
I'd recommend working on cloning your monitors to a virtual display that gets sent at the driver level to the capture card, and then plugging your cameras and everything else into the streaming PC
Relevant graphics to observations above
1. System idle
2. OBS Open and idle, capturing cameras and outputting
3. Gaming all additional apps open
4. Gaming (FM8 multiplayer session on games biggest and worst optimized track) while recording 4K, and dumb amount of Chrome Tabs open
Also, after the issue with NVIDIA Broadcast it got me looking at the background applications that are running, and I'm unsure if these are unusual levels for lighting services, Desktop Window Manager, MP Services, and WMI Provider host which seem to hit my CPU for 5-10% transient loads pretty frequently
If you're on windows 11, you shouldn't have to worry as much about applications fighting for GPU resources
mainly just how much each program needs to function with overhead
Soo figured out some of these with additional digging. A number of these are lighting and service bloatware from Asus and Coolermaster, I found I can set static lights, and disable the software from starting on boot, and the colors should remain.
The more I look at it, the more I think it may be CPU and not GPU related. With both the games I'm concerned about I have a fair amount of GPU headroom with everything, but transient cpu hits are what cause my frame issues, then on other occasions where I've tried to boost frame rate by lowering graphics settings, I got negligible results
it's always the damn RGB bro
I'll look into this. Some of the particulars of my desired use case may make this difficult.
I ultimately want to move my streaming PC from my office and set it as a rack mount in my basement to get rid of the additional heat and sound (2 or 3 400+ watt boxes in a small space while being active does not make for a fun experience)
Then half of the peripherals (main cam, mics, keyboard, and mous) are connected to the gaming PC via a KVM since I also use them on my work computer. Maybe some combination of a USB switch, different KVM and or an active hub could help me there...
Yeah that sounds doable, just takes time, money, and hardware
I hate it really may have just been the stupid RGB eating my CPU
I would really look into displaying cloning to remove the OBS compostiing on the gaming PC and having anything else you're bringing into OBS attached to the 2nd pc
I think it would fix a lot of your performance issues
OBS just has a penalty on GPU performance because it needs to composite stuff
and that takes resources
even if it's only like 5-10%, if the game isn't leaving headroom, you'll have an FPS drop when OBS does it's thing
I eventually want to have a second dedicated sim rig down there and be able to run either of them (dedicated rig, up stairs gaming setup) from a single stream PC, as well as host remote live streams when I go to do photography at track days or conventions
Yeah I do game capture and video editing for a living and I would kill to have a dedciated work PC for gameplay capture, and a personal PC that can also run games
I'd love even having a third PC JUST for editing
Yeah, my work PC is my company provided "workstation" laptop for CAD and other engineering software, but it's about as separated from my fun stuff as possible, but I loop it in via a lvm since my usual setup is comfortable and productive