qsvh264enc: performance question
Robert Ayrapetyan
robert.ayrapetyan at gmail.com
Thu Oct 26 01:36:39 UTC 2023
Hello! My system is running on the `11th Gen Intel(R) Core(TM)
i7-11700K @ 3.60GHz` CPU (equipped with Intel® UHD Graphics 750),
screen resolution is FullHD (1920x1080).
I'm using a following pipeline:
```
ximagesrc display-name=mydisplay show-pointer=true use-damage=false
remote=true blocksize=16384 enable-navigation-events=true \
! video/x-raw,framerate=60/1 \
! timeoverlay \
! videoconvert \
! qsvh264enc bitrate=10000 low-latency=true \
! video/x-h264,profile=baseline \
! queue
...
```
intel_gpu_top shows:
```
intel-gpu-top - 833/ 874 MHz; 0% RC6; ----- (null); 619 irqs/s
IMC reads: ------ (null)/s
IMC writes: ------ (null)/s
ENGINE BUSY MI_SEMA MI_WAIT
Render/3D/0 16.01% |█████▌ | 0% 0%
Blitter/0 0.00% | | 0% 0%
Video/0 19.76% |██████▉ | 15% 0%
VideoEnhance/0 0.00% | | 0% 0%
```
So one encoding stream consumes ~20% of GPU.
When I run 6+ streams, FPS on the receiver side starts to drop from
60FPS to 50FPS and so on (approx 10FPS per stream drop). So my GPU is
able to encode only 6 streams in real-time at 60FPS.
Now when I read posts like "Wow! QuickSync on newer gen Intels are
transcode beasts!"
(https://www.reddit.com/r/PleX/comments/hrpuhf/wow_quicksync_on_newer_gen_intels_are_transcode/)
where people are getting "24 simultaneous 1080P to 720P transcodes" on
UHD630 I'm curious how is that possible.
1. UHD630 is worse than UHD750 by as much as 80% in some benchmarks (I
realize it might be unrelated to QuickSync logic but still...);
2. Transcoding is a more resource intensive operation than encoding
(as transcoding usually requires both encoding and decoding).
So what do I miss when interpreting these results? Thanks.
More information about the gstreamer-devel
mailing list