Question / Help OBS not reaching 60 FPS

JingleBells

New Member
Hello everyone, today I attempted to record a section of gameplay for a trailer. However, the application tells me that it's running in 70-80 FPS, but it definitely feels more like the 40-45 FPS that OBS is telling me. The part that I'm confused about, though, is that it is only using 16-18% of my CPU, even after changing the encoder preset to 'placebo' (though I'm not sure if that was a good idea or not) and setting the priority of OBS to highest, in the task manager and in OBS settings. So my question is: how do I achieve the desired 60 FPS and maybe push OBS to use more of my CPU? Any input on the matter would be greatly appreciated.

Logs: https://obsproject.com/logs/WCkN7gutIHGMFhUK
 
Last edited:

Narcogen

Active Member
Not a CPU load issue. You're overloading your GPU. Depending on your choice of encoder, you can have either a GPU or a CPU do it, but rendering must be done on the GPU and yours is being overloaded. If your app can reach a higher framerate than you're trying to record, but OBS can't render frames at that framerate, try frame limiting your app, either with an application-specific option, or by using vsync.

13:23:47.440: Output 'simple_file_output': Number of lagged frames due to rendering lag/stalls: 4661 (11.8%)

https://obsproject.com/wiki/GPU-overload-issues
 

JingleBells

New Member
Not a CPU load issue. You're overloading your GPU. Depending on your choice of encoder, you can have either a GPU or a CPU do it, but rendering must be done on the GPU and yours is being overloaded. If your app can reach a higher framerate than you're trying to record, but OBS can't render frames at that framerate, try frame limiting your app, either with an application-specific option, or by using vsync.

13:23:47.440: Output 'simple_file_output': Number of lagged frames due to rendering lag/stalls: 4661 (11.8%)

https://obsproject.com/wiki/GPU-overload-issues
Thanks for replying and clarifying the cause of the issue! I'm recording Unity, so limiting framerate isn't an option apparently (you can just set a target framerate and it's just 10-20 extra fps on a non-resource hungry game). I can't turn the graphics down because they are on minimum, I have Game DVR disabled, my scene is just a window, I don't use any filters, and I leave chrome closed, but it still can't reach the desired 60 FPS, even with OBS priority set to Realtime and with the scaled resolution down to 720p instead of 1080p. We're kinda stuck here, so do you know how I can proceed to remedy this?

Edit: But I have found something interesting though, when Unity is not in playmode (when it is not running) the OBS FPS raises to 55-60 (the desired framerate) so maybe Unity might be sucking some of the processing power?
 

Narcogen

Active Member
16:58:09.445: Output 'adv_file_output': Number of lagged frames due to rendering lag/stalls: 1477 (27.2%)
16:58:09.446: ==== Recording Stop ================================================
16:58:13.318: Video stopped, number of skipped frames due to encoding lag: 4746/5155 (92.1%)


Your CPU is completely slammed in this logfile.

If your 970M supports NVENC, which the logfile says it does, use it.

Don't use CBR for recording, it's for streaming. Use CQP or CRF rate control with a quality factor between 15 (high quality) and 23 (lower quality).

Or turn on simple mode and choose "indistinguishable quality, large file size" and see how that goes.

If you're trying to record 720p60, 2500 is much, much too low a bitrate. Needs to be 10x higher for good quality, but again, don't use CBR for recording.

Your GPU is still overloaded which may mean you need to target 30fps on this hardware.
 

JingleBells

New Member
Thank you so much for the info and I'm really sorry about the wait, my internet had gone down for a couple of days and schoolwork has been taking its toll... Anyway, I switched to NVENC encoding, used CQP with a 15 quality factor, chose "indistinguishable quality", everything you described, and the 40 FPS still haunts me. I tried 1080p to see what happens and it overloaded the encoder... The game's camera gets choppy at 40 FPS (which is totally my fault and am going to fix, so I won't blame the FPS) but I don't know what's going on (and I'm not trying to sound demanding here), but the 720p is looking a bit like 480p in the final file. Also, the colors were super dark, but switching to RGB definitely fixed that. Is there any way to proceed from here aside buying a new laptop? Thank you tremendously for your time.
 
Top