Question / Help Encoding Lag During Local Recordings

JusJerry

New Member
I'm completely new to OBS, but after recording with Nvidia ShadowPlay for a while, I love all the customization available in OBS. Unfortunately, as much as I want to use it as my primary recording software for gaming, I consistently lose frames in recordings due to encoding lag. The only game I play these days is Overwatch, so that's all I've been using OBS to record.

I've done tests with as many settings as I possibly can. I've tried x264, NVENC H.264, QuickSync, lowering my bitrate in each of them, changing my encoding profile in each of them, trying both CBR and VBR in each of them, lowering my in-game settings to the lowest I can, disabling one of my GTX 970s that I usually run in SLI, messing with the CPU affinity of Overwatch and OBS in a number of ways (splitting it so they use various numbers of separate cores), adjusting their CPU priorities so that OBS is High priority and Overwatch is Normal priority, and mixing and matching all of these adjustments in various combinations hoping that something will work...

But I always lose frames, and from what I can tell, it seems like Overwatch is hogging a ton of my CPU (even when I try to limit this) and I know that's not OBS's fault. But I don't understand why that would cause OBS to lose frames, when every video I've ever recorded in ShadowPlay (with the same resolution, FPS, and bitrate) has turned out flawless.

Help? Thanks in advance.


Here's a recent log file of my most recent attempt using QuickSync.
https://gist.github.com/f79be29df0692933d5d51fcb4de6539a
 

Snilix

New Member
You should always aim for hardware encoding If you can. That would be NVENC H.264 for you i think.
I'm not really sure about Nvida but the 970s should support hardware-encoding on that.
Shadowplay definatly uses hardware and Nvidia optimised settings, hence its working flawless.
The other codecs you mentioned are probably using software/cpu encoding. And that's why you are probaly dropping frames there. Also your bitrate in that session is abit high for hardware encoding. Might be ok for software but even then, the more you put in there the more the CPU has to work and can get unstable when playing CPU intensive stuff.

So go for NVENC H.264 which will use the hopefully built in chip on your 970 to reduce lag/cpu slow encoding.
But lower the bitrate and maybe also FPS. (from 60 to 30)
 

JusJerry

New Member
My understanding is that QuickSync is a hardware encoder that utilizes the CPU, and NVENC is a hardware encoder that utilizes the GPU, yes? I've done both of them, as well as the software encoder x264. All have the same problem. Here is a log file of me using NVENC.

All the recordings have the same settings both in OBS and in game. I've changed nothing, but the lag begins after several recordings and I'm not able to figure out why there is such variety in the lag amount from recording to recording.

It seems to get worse over time. Could heat be a factor? My computer is in no way overheating, and I don't notice any drop in in-game FPS which typically happens if the GPU overheats.
 

Attachments

  • 2017-04-28 19-00-32.txt
    49.6 KB · Views: 46
Uncheck the 2-pass encoding option and use the Default preset.

Make sure to disable multi-adapter compatibility in Game Capture if that is enabled because that can cause significant performance loss.
 

JusJerry

New Member
I disabled 2-pass encoding and put the preset to Default. I also did have multi-adapter compatibility enabled, so I went ahead and disabled that. I have a 144hz monitor and my in-game FPS was limited to 154 in the previous logs, so I lowered that to 144. I'm not sure if that is enough since I did experience encoding lag again. I'd prefer to not have to lower my in-game fps much more since I do feel the difference to my in-game aim when it drops into the 100-120 range.

A log file is attached. Thanks for all the help thus far.
 

Attachments

  • 2017-04-30 11-13-31.txt
    28 KB · Views: 21
Top