Question / Help OBS using 15% more CPU than nvidia share/shadowplay at 4k but configured the same?

xwynns

New Member
I'm just trying to record, not stream and I want to use OBS to replace Nvidia Share so I've set up OBS to be configured identical to my nvidia share settings which is 4k60@130mbps using nvenc. However OBS is destroying my fps, eating tons of CPU for no known reason and dropping lots of frames even after hours trying to figure out why and testing every configuration possible.

As a baseline example if I open pubg to the menu and idle I get the following:
FPS: 127
FPS with OBS just open with preview off: 110
FPS with OBS recording: 98
FPS with Share recording and OBS closed: 118

That's a 7% drop from recording with Share and a 23% drop with OBS. That's over a 300% worse result with OBS, yet everything I read online says that OBS should be able to replace Share with no noticeable impact on fps. Obviously these fps results aren't a big deal just being in the menu, but while in game it can have a significant affect dropping fps to just under unplayable at the worst moments while Share isn't really noticeable at all.

As for CPU usage, the nvidia recording process uses <1% of cpu while recording and OBS uses ffmpeg at around 1.7% and then OBS itself is using 15% cpu. I don't even understand what OBS is doing with 15% cpu usage. I thought maybe it was the 3 channel audio recording but I can use dxtory to record 3 audio channels while Share is recording and dxtory uses 0% cpu at all times and works fine so it's not that. Also OBS uses just under 5% cpu simply being open and idle with preview off, as read from task manager, while OBS itself reports using 2% cpu just being open and idle.

Anyway log is attached. I've tried using nearly every possible combination of OBS settings with no change so I suspect the issue may be in some external window setting or something? Especially with OBS eating so much FPS simply being open and idle. Any help is appreciated.
 

Attachments

  • 2017-09-23 01-16-57.txt
    6 KB · Views: 17
Last edited:

Osiris

Active Member
Why are you using display capture and not game capture.

Also comparing OBS to Share and DXtory isn't exactly fair, both of those programs don't do any scene compositing.
 
Last edited:

xwynns

New Member
I'm not using display capture, that just happened to be the last thing I tried after 20 some odd hours of meticulously trying various settings.

Also I don't know why you bring up what's fair? I'm not doing any scene compositing. Can OBS record using nvenc like Share can with the same or similar fps impact or not? Is it a known issue that recording with OBS using identical settings to Share will yield a 300% bigger fps drop? From all the googling I did before trying out OBS literally everyone said there was no point to using Share because OBS can do the exact same thing with the same performance hit but you can also record multiple audio streams. Is that not true?

The only thing I was doing with dxtory is recording a 1x1 pixel 1fps video stream so I could capture 3x audio streams, which is also the only reason I wanted to switch from Share to OBS. Again, the only reason I brought it up is because share+dxtory uses a combines <1% cpu where OBS uses a combined 17% or so to do the same thing and I don't know why.
 

xwynns

New Member
Here is the otherwise identical log file but with game capture...

Also I tried out classic OBS and the fps in menu didn't drop at all like it does with OBS studio.
 

Attachments

  • 2017-09-25 09-03-09.txt
    7.5 KB · Views: 23

R1CH

Forum Admin
Developer
init_hook_info: user is forcing shared memory (compatibility mode)

You turned on compatibility mode for some reason, turn it off if you want performance.
 

xwynns

New Member
I don't have the compatibility option checked.
Here is another snip from a new log:
04:18:00.092: adding 23 milliseconds of audio buffering, total audio buffering is now 46 milliseconds
04:18:07.347: [game-capture: 'Game Capture'] attempting to hook process: TslGame.exe
04:18:07.349: [game-capture: 'Game Capture'] using helper (compatibility hook)
04:18:07.373: [game-capture: 'Game Capture'] hook not loaded yet, retrying..
04:18:10.364: [game-capture: 'Game Capture'] attempting to hook process: TslGame.exe
04:18:10.822: [game-capture: 'Game Capture'] d3d11 shared texture capture successful
04:18:10.830: [game-capture: 'Game Capture'] shared texture capture successful

Is there something somewhere that's forcing compatibility mode? At least that gives me something to search for more details on.
 

DeMoN

Member
Why are you using display capture and not game capture.

Also comparing OBS to Share and DXtory isn't exactly fair, both of those programs don't do any scene compositing.
And I still really wonder why you dont allow to deactivate the scene compositioning. There is no need for it if you just capture and not stream and costs just senseless performance :(
Especially the directshow capture for capture cards costs so much performance, its awful. Unusable with a capture card.
F1 2016 drops from 80 to 36fps just by OBS running due to the scene composition.
 

DeMoN

Member
If you don't want scene composition, don't use obs.
Its not that easy. There is no software.
Tell me a software.
Virtualdub - allows raw capture without preview from a capture card, but: no NVEnc, no multiple audio tracks
AmarecTV - same as virtualdub. Has a preview though, but doesnt cost performance for some reason
Then there is expensive software like vMix and such but they're complete trash.

Tell me an alternative to OBS pls

The only alternative I shortly found is to use ffmpeg directly via cli. I didnt found out so far how to add an additional audiotrack though.
But thats the only way to have a capture card capture without preview and with NVEnc.

This way you dont lose performance by the capture. And it surprises me that ffmpeg cli is the only option to have this even possible.
I have the hardware, but not the software.

Same with Nvidia shadowplay - if it wouldnt be that limited in options and stupid pure software limit like the 130 mbit, it would be awesome. but no. We have the hardware, but are limited by software :(
 
Top