Comments (9)
Unfortunately, this is not a bug for QSVENC because I got the same results with MSDK tool
sample_encode.exe h265 -dGfx -timeout 86400 -lowpower:on -hw -icq 28 -u speed -i 3.mkv -o 3.mp4 -w 720 -h 576
About 200 FPS and 20 CPU usage.
from qsvenc.
I got around 960fps at 12900K + Arc A380, with around 5% CPU utilization (as 12900K has 24 threads).
With such very high fps, there is many task to be done on the CPU side too, such as no wonder CPU usage getting little bit high.
from qsvenc.
@rigaya
Thanks for your test! I corrected my previous mental arithmetic results by timing with a stopwatch : 10000FPS in 12 seconds, 20% CPU. According to your results, high CPU usage is not the particularity of my platform and driver.
I use ffmpeg to call hevc_nvenc for transcoding, and use similar parameters. But a single instance can't run all the codecs of tesla p4. I ran four examples to make one encoder fully loaded, and obtained a similar FPS (about 960). But the total CPU utilization of all instances is less than 3%. As an excellent developer, do you think this is really caused by INTEL not adopting a similar scheme of NVIDIA?
https://developer.nvidia.com/blog/nvidia-ffmpeg-transcoding-guide/
I know that you also have Nvidia GPUs. Maybe you can also test NVDEC/NVENC's powerful low CPU usage ability in transcoding tasks.
from qsvenc.
this is really caused by INTEL not adopting a similar scheme of NVIDIA?
@rigaya
https://github.com/Intel-Media-SDK/MediaSDK/wiki/Media-SDK-Shaders-(EU-Kernels)#gpu-copy-and-horizontal-mirroring-kernels
I guess maybe this function of Intel is called "gpu copy", but QSVEnc doesn't provide it. I haven't improved it since I enabled it in ffmpeg/sample_encode. Among them, ffmpeg will report "GPU-accelerated memory copy only works in system memory mode." I think this may be related to the use of LPDDR4 memory as graphics memory in DG1. Can you test it on your machine? Parameters:
sample_encode.exe h265 -dGfx -timeout 86400 -lowpower:on -hw -icq 28 -u speed -i 3.mkv -o 3.mp4 -w 720 -h 576 -gpucopy::on
sample_encode.zip
ffmpeg -hwaccel qsv -hwaccel_output_format qsv -hwaccel_device 0 -vcodec h264_qsv -gpu_copy on -i 3.mkv -acodec copy -c:v hevc_qsv -low_power 1 -preset veryfast -profile:v rext -global_quality 28 -y 3.mp4
from qsvenc.
@ZSC2017IM
Here the result:
encoded 6000 frames, 1213.35 fps, 499.26 kbps, 14.28 MB encode time 0:00:04, CPU: 0.2%, VD: 99.2%
The taskmanger shows around 24% when running it, 20% for this task.
But keep in mind this system only uses a AMD Ryzen 5 5600G
from qsvenc.
@quamt
Thanks! This is very helpful! Can you retest the following commands? If "gpucopy" also fails to reduce CPU usage, I think this is indeed a common problem with Intel GPUs. I am submitting this issue to the intel community
sample_encode.exe h265 -dGfx -timeout 86400 -lowpower:on -hw -icq 28 -u speed -i 3.mkv -o 3.mp4 -w 720 -h 576 -gpucopy::on
sample_encode.zip
from qsvenc.
@ZSC2017IM
Running that the task manger shows CPU around 15 percent, wherein the task uses around 13%.
from qsvenc.
@quamt
Thanks! I have reported this issue to Intel.
from qsvenc.
I think CPU utilization of 20% is acceptable in high fps transcoding, I have closed this issue.
from qsvenc.
Related Issues (20)
- Unlimited multi GPU support HOT 13
- qsvenc --trim --audio-codec HOT 2
- Error: Unknown param "" for option "--vpp-curves"
- Add Logo or Watermark HOT 2
- Linux: Dolby Vision options not enabled HOT 2
- [oneVPL] Speed issue ? HOT 5
- [REQ] MaxCLL & MaxFALL HOT 6
- How to use --tune? HOT 2
- [FUN] ChatGPT writes QSVEnc commandline HOT 2
- hdr2sdr colorprim ignored HOT 4
- Encode engine crash and hang HOT 1
- Unable to detect my A770 16GB HOT 2
- DAR not correctly detected? HOT 2
- DAR not correctly detected? HOT 1
- vpp-colorspace BUG? [QSV/NV] HOT 3
- Concat option for multiple files? HOT 3
- Using Luma in unsharp HOT 6
- Improved Multi-GPU Video Acceleration Support? HOT 5
- [REQ] live streams (RTSP TCP/UDP) input support HOT 5
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from qsvenc.