CPU encoding (x264, AOM AV1 and SVT AV1) put 100 % load on GPU

SAB612

New Member
Hey,

Hardware used:
CPU: Core Ultra 7 265KF - all P-core and E-cores enabled, 360 mm AIO
GPU: Intel Arc B580 (ASRock Challenger)
RAM: 64 GB DDR5 6400 MT/s CL 32 Dual Kit (XMP Profile enabled)

Resolution: As my monitor, 2560x1440, 60 FPS a second, for stream I use Lanczos to scale down to 1080p60 in the Output tab.

I have an issue. My new GPU doesn't have powerful enough encoders to record and stream at the same time anymore (no settings changed, changed from 1070 Ti to B580). So I decided to use GPU encoding for the recording (as this alone works fine, more or less) and CPU for the stream.

I tried myself with some options, starting with 1440p60 SVT AV1 one preset 8, default. As soon as I started the recording (only a black screen was recorded at that moment), the GPu utilization (3D) immediately spiked up to 100 % and everything became laggy. On the stats tab, FPS, avg. time to render frame and frames missed due to rendering lag became red. Playing games with this is not possible. Even mobile games run with less than 30 FPS and on the video, the audio isn't synced. I tried again with preset 9 and 10. I also noticed that there is a timeout message for the encoder sometimes (took too long to encode, timeout after 5 seconds or something).
I also tried AOM AV1 and x264 (medium preset), same result. 3D GPU load 100 %, CPU load goes up a bit, but not as high I expect.

Now I tried downscaling to 1080p60 (would be the target resolution anyways, with x264 medium as intended goal - Twitch doesn't really allow greater quality), with SVT AV1 on preset 8 the GPU utilization goes up only a few % (like less than 25 % utilization), but the recording occasionally times out due to 5 seconds. Preset 9 seems to run quite stable. CPU utilization is also much higher, around 40 to 50 % (varies on motion and preset). Not great, not terrible. AOM AV1 on preset 8 runs stable with much less CPU usage (like 1/4), but also worse quality. x

I know the software encoders go hard on the CPU, but is this intended? Like that I get 100 % GPU utilization. I know I probably can't run 1440p60 on SVT AV1 unless I go high with the preset, but x264 medium on 1440p60 does also not work and x264 isn't that difficult to run (or so I thought).
It's not really a problem, as I want to get rid of this card (bought it as experiment, didn't convince me, RTX 5080 it'll be when they're available) and I also don't intend on using software encoders for anything else than streaming until I get the new GPU (and videos that are saved long-term on my PC where encoding time doesn't matter, but file size and compression efficiency do), but I'm still curious if this is intended.

Additional question: Is that difference in CPU load and quality between AOM AV and SVT AV1 normal? What AV1 software encoder is more recommended to use?
 

Attachments

  • 2025-02-10 22-41-44.txt
    40.3 KB · Views: 3

rockbottom

Active Member
That GPU isn't powerful enough & is a serious bottleneck. Bad combo.

That said, disable HAGS & drop both monitors to 60HZ. There is some encoding lag but the rendering lag is more of an issue. Rendering lag is GPU overload.

22:42:20.338: Output 'adv_file_output': Number of lagged frames due to rendering lag/stalls: 1032 (55.7%)
22:42:20.339: [mp4 output: 'adv_file_output'] Waiting for file writer to finish...
22:42:20.339: ==== Recording Stop ================================================
22:42:20.339: [mp4 output: 'adv_file_output'] MP4 file output complete. Finalization took 0 ms.
22:42:20.347: Video stopped, number of skipped frames due to encoding lag: 98/1654 (5.9%)

 
Last edited:

rockbottom

Active Member
Clean-up your Main Scene while you're at it. There should only be (1) Display, Game or Window capture per to avoid interference. Double check the others.

2:41:45.885: - scene 'Main':
22:41:45.885: - source: 'Win/Ga' (group)
22:41:45.885: - source: '1C. Game' (game_capture)
22:41:45.885: - filter: 'Compressor' (compressor_filter)
22:41:45.885: - filter: 'Limiter' (limiter_filter)
22:41:45.885: - filter: 'Phasmo filter' (color_filter_v2)
22:41:45.885: - source: '1B. Window' (window_capture)
22:41:45.885: - filter: 'Phasmo filter' (color_filter_v2)
22:41:45.885: - filter: 'Compressor' (compressor_filter)
22:41:45.885: - filter: 'Limiter' (limiter_filter)
22:41:45.885: - source: 'Display' (group)
22:41:45.885: - source: 'Right' (monitor_capture)
22:41:45.885: - source: 'Left' (monitor_capture)
22:41:45.885: - source: 'Chat' (group)
22:41:45.885: - source: 'Chat overlay (T)' (browser_source)
22:41:45.885: - source: 'Chat overlay (Y)' (browser_source)
22:41:45.885: - source: 'Cams' (group)
22:41:45.885: - source: 'Cam (L)' (dshow_input)
22:41:45.885: - filter: 'Color Correction' (color_filter_v2)
22:41:45.885: - source: 'Cam (S)' (dshow_input)
22:41:45.885: - filter: 'Color Correction' (color_filter_v2)
22:41:45.885: - source: 'YD Tools' (group)
22:41:45.885: - source: 'Sanity Tool' (text_gdiplus_v2)
22:41:45.885: - source: 'Smudge Timer' (text_gdiplus_v2)
22:41:45.885: - source: 'Audio/Alerts' (group)
22:41:45.885: - source: 'Alerts D' (scene)
22:41:45.885: - source: 'Alerts C' (scene)
22:41:45.885: - source: 'Alerts B' (scene)
22:41:45.885: - source: 'Alerts A' (scene)
22:41:45.885: - show: 'Alerts for 612erBot Show Transition' (wipe_transition)
22:41:45.885: - hide: 'Alerts for 612erBot Show Transition' (wipe_transition)
22:41:45.885: - source: 'Audio' (scene)
 

rockbottom

Active Member
SVT-AV1 & AOM-AV1 both use the CPU. AOM is the Reference encoder, while SVT is the Production encoder. SVT is better suited for real time encoding as it will scale on your CPU.
 

SAB612

New Member
Thanks. What you possibly don't see is that I only have one of the three scenes active at a time and the others hidden. Depending on the situation, I'll use them accordingly. For example, if I play games the game capture is active and for browser related things I use application capture. If I need to show the entire screen, I'll use display capture. I hope it's fine if only one is active at a time and the other ones are hidden? Had no issues with it so far.

Ok, thanks for letting me know that this is a GPU issue. I don't plan on holding that GPU for much longer (it just is bad for content creation). I found a solution that sits well with me for now and doesn't overload the GPU.

SVT is better suited for real time encoding as it will scale on your CPU.
Good to know, thanks
 
Top