Re-used settings used from version 30.2.3 to 31.0.0 causes encoding overload

oxypatic

New Member
Hello!

I have found myself in a weird predicament, where after an upgrade from version 30.2.3 to version 31.0.0 and using pretty much the same settings as in the version 30.2.3 the encoding overload is all present when using the 120 fps recording.

Did anybody else also found that during their use?

I went back to the version 30.2.3 and I do not have this issue anymore, but I feel that there might be something wrong with the Encoder (HEVC) in version 31.0.0

Here are the logs from both versions for comparison:

30.2.3, 31.0.0 #1, 31.0.0 #2

Here is also my preset that I'm using in version 30.2.3:
1735756793874.png
 

rockbottom

Active Member
Encoding settings look OK. But, the encoding lag seems to happen when you have the CQ @ 17. Is your drive starting to get full? There was no lag when the CQ was @ 18.

12:08:49.492: [obs-nvenc: 'advanced_video_recording'] settings:
12:08:49.492: codec: HEVC
12:08:49.492: rate_control: CQP
12:08:49.492: cqp: 18
12:08:49.492: keyint: 120
12:08:49.492: preset: p5
12:08:49.492: tuning: hq
12:08:49.492: multipass: qres
12:08:49.492: profile: main
12:08:49.492: width: 2560
12:08:49.492: height: 1440
12:08:49.492: b-frames: 0
12:08:49.492: b-ref-mode: 0
12:08:49.492: lookahead: true (8 frames)
12:08:49.492: aq: true
12:08:49.492:
12:08:49.559: ---------------------------------
12:08:49.559: [FFmpeg aac encoder: 'All'] bitrate: 320, channels: 2, channel_layout: stereo, track: 1
12:08:49.559:
12:08:49.559: ---------------------------------
12:08:49.559: [FFmpeg aac encoder: 'Chat'] bitrate: 320, channels: 2, channel_layout: stereo, track: 2
12:08:49.559:
12:08:49.560: ---------------------------------
12:08:49.560: [FFmpeg aac encoder: 'Game/Desktop'] bitrate: 320, channels: 2, channel_layout: stereo, track: 3
12:08:49.560:
12:08:49.560: ---------------------------------
12:08:49.560: [FFmpeg aac encoder: 'Mic'] bitrate: 320, channels: 2, channel_layout: stereo, track: 4
12:08:49.560:
12:08:49.568: [Python: RecORDER-v16.py] []--------------------------[]
12:08:49.569: [Python: RecORDER-v16.py] Recording has started...
12:08:49.569: [Python: RecORDER-v16.py]
12:08:49.569: [Python: RecORDER-v16.py] Reloading the signals!
12:08:49.569: [Python: RecORDER-v16.py]
12:08:49.569: [Python: RecORDER-v16.py] Signals reloaded!
12:08:49.570: [Python: RecORDER-v16.py]
12:08:49.570: [Python: RecORDER-v16.py] Resetting the recording related values...
12:08:49.570: [Python: RecORDER-v16.py]
12:08:49.570: [Python: RecORDER-v16.py] >--------------------------<
12:08:49.570: [Python: RecORDER-v16.py]
12:08:49.571: [Python: RecORDER-v16.py] Recording started: Yes
12:08:49.571: [Python: RecORDER-v16.py] Current game title: Manual Recording
12:08:49.571: [Python: RecORDER-v16.py] []--------------------------[]
12:08:49.571: [Python: RecORDER-v16.py]
12:08:49.577: ==== Recording Start ===============================================
12:08:49.577: [ffmpeg muxer: 'adv_file_output'] Writing file 'B:/Kreatywne/YouTube/Captures/241231_12-08-49.mkv'...
12:09:19.889: Disabling preview due to hotkey
12:09:23.181: Stopping recording due to hotkey
12:09:23.345: [ffmpeg muxer: 'adv_file_output'] Output of file 'B:/Kreatywne/YouTube/Captures/241231_12-08-49.mkv' stopped
12:09:23.345: Output 'adv_file_output': stopping
12:09:23.345: Output 'adv_file_output': Total frames output: 4035
12:09:23.345: Output 'adv_file_output': Total drawn frames: 4052
 

rockbottom

Active Member
12:19:55.375: Starting recording due to hotkey
12:19:55.408: [obs-nvenc: 'advanced_video_recording'] settings:
12:19:55.408: codec: HEVC
12:19:55.408: rate_control: CQP
12:19:55.408: cqp: 17
12:19:55.408: keyint: 120
12:19:55.408: preset: p5
12:19:55.408: tuning: hq
12:19:55.408: multipass: qres
12:19:55.408: profile: main
12:19:55.408: width: 2560
12:19:55.408: height: 1440
12:19:55.408: b-frames: 0
12:19:55.408: b-ref-mode: 1
12:19:55.408: lookahead: true (8 frames)
12:19:55.408: aq: false
12:19:55.408:
12:19:55.481: ---------------------------------
12:19:55.481: [FFmpeg aac encoder: 'All'] bitrate: 320, channels: 2, channel_layout: stereo, track: 1
12:19:55.481:
12:19:55.482: ---------------------------------
12:19:55.482: [FFmpeg aac encoder: 'Chat'] bitrate: 320, channels: 2, channel_layout: stereo, track: 2
12:19:55.482:
12:19:55.482: ---------------------------------
12:19:55.483: [FFmpeg aac encoder: 'Game/Desktop'] bitrate: 320, channels: 2, channel_layout: stereo, track: 3
12:19:55.483:
12:19:55.483: ---------------------------------
12:19:55.483: [FFmpeg aac encoder: 'Mic'] bitrate: 320, channels: 2, channel_layout: stereo, track: 4
12:19:55.483:
12:19:55.492: [Python: RecORDER-v16.py] []--------------------------[]
12:19:55.493: [Python: RecORDER-v16.py] Recording has started...
12:19:55.493: [Python: RecORDER-v16.py]
12:19:55.493: [Python: RecORDER-v16.py] Reloading the signals!
12:19:55.493: [Python: RecORDER-v16.py]
12:19:55.494: [Python: RecORDER-v16.py] Signals reloaded!
12:19:55.494: [Python: RecORDER-v16.py]
12:19:55.495: [Python: RecORDER-v16.py] Resetting the recording related values...
12:19:55.495: [Python: RecORDER-v16.py]
12:19:55.495: [Python: RecORDER-v16.py] >--------------------------<
12:19:55.495: [Python: RecORDER-v16.py]
12:19:55.496: [Python: RecORDER-v16.py] Recording started: Yes
12:19:55.496: [Python: RecORDER-v16.py] Current game title: Manual Recording
12:19:55.496: [Python: RecORDER-v16.py] []--------------------------[]
12:19:55.497: [Python: RecORDER-v16.py]
12:19:55.502: ==== Recording Start ===============================================
12:19:55.502: [ffmpeg muxer: 'adv_file_output'] Writing file 'B:/Kreatywne/YouTube/Captures/241231_12-19-55.mkv'...
12:20:25.896: Disabling preview due to hotkey
12:21:03.106: Stopping recording due to hotkey
12:21:03.363: [ffmpeg muxer: 'adv_file_output'] Output of file 'B:/Kreatywne/YouTube/Captures/241231_12-19-55.mkv' stopped
12:21:03.363: Output 'adv_file_output': stopping
12:21:03.363: Output 'adv_file_output': Total frames output: 8115
12:21:03.363: Output 'adv_file_output': Total drawn frames: 8143
12:21:03.364: ==== Recording Stop ================================================
12:21:03.364: Video stopped, number of skipped frames due to encoding lag: 339/8143 (4.2%)
 

oxypatic

New Member
Encoding settings look OK. But, the encoding lag seems to happen when you have the CQ @ 17. Is your drive starting to get full? There was no lag when the CQ was @ 18.

12:08:49.492: [obs-nvenc: 'advanced_video_recording'] settings:
12:08:49.492: codec: HEVC
12:08:49.492: rate_control: CQP
12:08:49.492: cqp: 18
12:08:49.492: keyint: 120
12:08:49.492: preset: p5
12:08:49.492: tuning: hq
12:08:49.492: multipass: qres
12:08:49.492: profile: main
12:08:49.492: width: 2560
12:08:49.492: height: 1440
12:08:49.492: b-frames: 0
12:08:49.492: b-ref-mode: 0
12:08:49.492: lookahead: true (8 frames)
12:08:49.492: aq: true
12:08:49.492:
12:08:49.559: ---------------------------------
12:08:49.559: [FFmpeg aac encoder: 'All'] bitrate: 320, channels: 2, channel_layout: stereo, track: 1
12:08:49.559:
12:08:49.559: ---------------------------------
12:08:49.559: [FFmpeg aac encoder: 'Chat'] bitrate: 320, channels: 2, channel_layout: stereo, track: 2
12:08:49.559:
12:08:49.560: ---------------------------------
12:08:49.560: [FFmpeg aac encoder: 'Game/Desktop'] bitrate: 320, channels: 2, channel_layout: stereo, track: 3
12:08:49.560:
12:08:49.560: ---------------------------------
12:08:49.560: [FFmpeg aac encoder: 'Mic'] bitrate: 320, channels: 2, channel_layout: stereo, track: 4
12:08:49.560:
12:08:49.568: [Python: RecORDER-v16.py] []--------------------------[]
12:08:49.569: [Python: RecORDER-v16.py] Recording has started...
12:08:49.569: [Python: RecORDER-v16.py]
12:08:49.569: [Python: RecORDER-v16.py] Reloading the signals!
12:08:49.569: [Python: RecORDER-v16.py]
12:08:49.569: [Python: RecORDER-v16.py] Signals reloaded!
12:08:49.570: [Python: RecORDER-v16.py]
12:08:49.570: [Python: RecORDER-v16.py] Resetting the recording related values...
12:08:49.570: [Python: RecORDER-v16.py]
12:08:49.570: [Python: RecORDER-v16.py] >--------------------------<
12:08:49.570: [Python: RecORDER-v16.py]
12:08:49.571: [Python: RecORDER-v16.py] Recording started: Yes
12:08:49.571: [Python: RecORDER-v16.py] Current game title: Manual Recording
12:08:49.571: [Python: RecORDER-v16.py] []--------------------------[]
12:08:49.571: [Python: RecORDER-v16.py]
12:08:49.577: ==== Recording Start ===============================================
12:08:49.577: [ffmpeg muxer: 'adv_file_output'] Writing file 'B:/Kreatywne/YouTube/Captures/241231_12-08-49.mkv'...
12:09:19.889: Disabling preview due to hotkey
12:09:23.181: Stopping recording due to hotkey
12:09:23.345: [ffmpeg muxer: 'adv_file_output'] Output of file 'B:/Kreatywne/YouTube/Captures/241231_12-08-49.mkv' stopped
12:09:23.345: Output 'adv_file_output': stopping
12:09:23.345: Output 'adv_file_output': Total frames output: 4035
12:09:23.345: Output 'adv_file_output': Total drawn frames: 4052

No, this disk is nowhere near being full
1735773739709.png


I tried to do this as well with lower settings, like setting the CQ to 20 or 23, which did not help much.
I turned off the GPU intensive settings (Lookahead & Psycho Visual Tuning [called something different in 31.0.0]), which helped a bit, but the encoding was still overloading 15-40%.
Changing the Preset lowered the overloading to 5-10%, but this was already well below my settings in 30.2.3
 

oxypatic

New Member
So I have problem understanding what's causing this whole issue, where this encoder did not behave as such when I had it set in 30.2.3
 

rockbottom

Active Member
Where's the log from the session? A complete log would be better too. Open OBS, run your test/stop. Close & re-open OBS, post the previous log.

You did have rendering lag using v30.2.3, so things weren't exactly perfect there either. Rendering lag is GPU overload, now it's on the output.
 

rockbottom

Active Member
Signalis & Silent Hill 2 look like they will barely run @ 2160p/120FPS with your current set-up. 2160p/60 or 1080p/120 looks to be the way to go.
 

oxypatic

New Member
The weird thing happened and it seems that the encoder overload issues just... went away?

Not really sure why, I re-did just now, what I did earlier, with the same settings for all recordings and there were no overload this time, so I am confused about what is the problem here.

The logs in question:
Silent Hill 2
30.2.3, 31.0.0

SIGNALIS
30.2.3, 31.0.0

When I experienced this issue yesterday I was getting slowly mad, because no matter what I selected or lowered, there seemed to be a GPU overload, only time it has ceased was when I rolled back to 30.2.3
 

rockbottom

Active Member
Not true, there's no lag with v31 in the latest logs. Like I said earlier, there's no lag in any of the logs with the CQ @ 18. Only when you dropped it to 17. What is your B drive? Maybe it's not writing quite fast enough.

Also I got that resolution messed up above, should have been 1440p not 2160p. Anyway, those games are demanding & your system may not be able to deliver a consistent 120FPS at all times.
 

rockbottom

Active Member
Disable these, they're not needed & can waste resources.

12:30:27.478: Game Bar: On
12:30:27.478: Game DVR: On

If you want to free up some more resources & improve your recording quality, run your main monitor @ 120HZ & secondary monitor @ 60HZ when using OBS.
12:30:27.757: name=LG ULTRAGEAR
12:30:27.757: pos={0, 0}
12:30:27.757: size={2560, 1440}
12:30:27.757: attached=true
12:30:27.757: refresh=165
12:30:27.757: bits_per_color=8
12:30:27.757: space=RGB_FULL_G22_NONE_P709
12:30:27.757: primaries=[r=(0.685547, 0.308594), g=(0.264648, 0.667969), b=(0.150391, 0.057617), wp=(0.313477, 0.329102)]
12:30:27.757: relative_gamut_area=[709=1.329573, P3=0.980123, 2020=0.703173]
12:30:27.757: sdr_white_nits=80
12:30:27.757: nit_range=[min=0.391500, max=408.760010, max_full_frame=408.760010]
12:30:27.757: dpi=96 (100%)
12:30:27.757: id=\\?\DISPLAY#GSM5BD3#5&1d97c3ca&2&UID4355#{e6f07b5f-ee97-4a90-b076-33f57bf4eaa7}
12:30:27.757: alt_id=\\.\DISPLAY1
12:30:27.757: output 1:
12:30:27.757: name=F27G3xTF
12:30:27.757: pos={2560, 191}
12:30:27.757: size={1920, 1080}
12:30:27.757: attached=true
12:30:27.757: refresh=144
12:30:27.757: bits_per_color=8
12:30:27.757: space=RGB_FULL_G22_NONE_P709
12:30:27.757: primaries=[r=(0.638672, 0.338867), g=(0.313477, 0.626953), b=(0.155273, 0.056641), wp=(0.312500, 0.328125)]
12:30:27.757: relative_gamut_area=[709=1.030964, P3=0.759997, 2020=0.545247]
12:30:27.757: sdr_white_nits=80
12:30:27.757: nit_range=[min=0.500000, max=270.000000, max_full_frame=270.000000]
12:30:27.757: dpi=96 (100%)
12:30:27.757: id=\\?\DISPLAY#SAM710E#5&1d97c3ca&2&UID4353#{e6f07b5f-ee97-4a90-b076-33f57bf4eaa7}
12:30:27.757: alt_id=\\.\DISPLAY2
 

oxypatic

New Member
Not true, there's no lag with v31 in the latest logs. Like I said earlier, there's no lag in any of the logs with the CQ @ 18. Only when you dropped it to 17. What is your B drive? Maybe it's not writing quite fast enough.

Also I got that resolution messed up above, should have been 1440p not 2160p. Anyway, those games are demanding & your system may not be able to deliver a consistent 120FPS at all times.
I will re-do the tests using the setting at CQ@17.

My B Drive is Crucial MX500, here are some performance tests I did today:
CrystalDiskMark_20250102150655.png


Disable these, they're not needed & can waste resources.

12:30:27.478: Game Bar: On
12:30:27.478: Game DVR: On

If you want to free up some more resources & improve your recording quality, run your main monitor @ 120HZ & secondary monitor @ 60HZ when using OBS.
12:30:27.757: name=LG ULTRAGEAR
12:30:27.757: pos={0, 0}
12:30:27.757: size={2560, 1440}
12:30:27.757: attached=true
12:30:27.757: refresh=165
12:30:27.757: bits_per_color=8
12:30:27.757: space=RGB_FULL_G22_NONE_P709
12:30:27.757: primaries=[r=(0.685547, 0.308594), g=(0.264648, 0.667969), b=(0.150391, 0.057617), wp=(0.313477, 0.329102)]
12:30:27.757: relative_gamut_area=[709=1.329573, P3=0.980123, 2020=0.703173]
12:30:27.757: sdr_white_nits=80
12:30:27.757: nit_range=[min=0.391500, max=408.760010, max_full_frame=408.760010]
12:30:27.757: dpi=96 (100%)
12:30:27.757: id=\\?\DISPLAY#GSM5BD3#5&1d97c3ca&2&UID4355#{e6f07b5f-ee97-4a90-b076-33f57bf4eaa7}
12:30:27.757: alt_id=\\.\DISPLAY1
12:30:27.757: output 1:
12:30:27.757: name=F27G3xTF
12:30:27.757: pos={2560, 191}
12:30:27.757: size={1920, 1080}
12:30:27.757: attached=true
12:30:27.757: refresh=144
12:30:27.757: bits_per_color=8
12:30:27.757: space=RGB_FULL_G22_NONE_P709
12:30:27.757: primaries=[r=(0.638672, 0.338867), g=(0.313477, 0.626953), b=(0.155273, 0.056641), wp=(0.312500, 0.328125)]
12:30:27.757: relative_gamut_area=[709=1.030964, P3=0.759997, 2020=0.545247]
12:30:27.757: sdr_white_nits=80
12:30:27.757: nit_range=[min=0.500000, max=270.000000, max_full_frame=270.000000]
12:30:27.757: dpi=96 (100%)
12:30:27.757: id=\\?\DISPLAY#SAM710E#5&1d97c3ca&2&UID4353#{e6f07b5f-ee97-4a90-b076-33f57bf4eaa7}
12:30:27.757: alt_id=\\.\DISPLAY2
I disabled them just now using the REGEDIT, since Windows 11 makes it impossible to do it easy way.

As for the running the Main@120Hz and Side@60Hz - do you mind if I ask why exactly does it help?
I heard different opinions about this so I just want to know for the sake of knowledge.
 

oxypatic

New Member
Additional logs I just collected:

Silent Hill 2:
30.2.3, 31.0.0

Let me know if I should collect more, I didn't collect them from Signalis, because I think that the Silent Hill 2 is more demanding than it.
 

rockbottom

Active Member
v31, no lag.
15:42:43.200: Output 'adv_file_output': Total frames output: 21637
15:42:43.200: Output 'adv_file_output': Total drawn frames: 21652
15:42:43.200: ==== Recording Stop ================================

Full log is great, all of your timings look nice except your audio is running slow compared to everything else.
15:42:48.722: audio_thread(Audio): min=0.011 ms, median=1.42 ms, max=46.432 ms, 99th percentile=17.645 ms

Audio needs to be consistently below 8.3333 ms to keep up @ 120FPS
15:42:48.722: obs_graphics_thread(8.33333 ms): min=0.046 ms, median=0.295 ms, max=828.366 ms, 99th percentile=1.28 ms, 99.7776% below 8.333 ms
 
Last edited:

oxypatic

New Member
Thanks for letting me know that my headphones are also problematic here!

Going back to the topic of the encoder overloading,
I can only assume that during the initial issue which I had with the encoder overload, something was additionally happening in the background.

As far as I can tell, the problem is gone, if I see something bad happening again I'll just change output resolution to 1080p and keep 120fps to avoid encoder overloading.

Thank you very much for taking time to help me figuring out how I can avoid the overload from happening!
 

rockbottom

Active Member
YW!

Audio is the weak link in your set-up. In the current state, it's slow even for 60FPS.

As far as frame-rates/refresh rates go, my suggestion to run your monitors @ 120/60 or 60/60 is based on testing that I've done with my system (12900k/3090). Superior results running in multiples of 60 so I only run 60/120/240 or 360.
 
Top