Log in

View Full Version : Does CPU Usage 105-110% while encoding x264 affect quality?


lintran
22nd October 2019, 16:59
Hi every one!
I have system with 2 Xeon CPU which total 24 cores (48 threads)
When i use megui (only 1 worker,) encode 2 pass mode with x264(input source 1080p and output 1080p) , pass 1 only get around 20-25% CPU usage, pass 2 get around 33-40% CPU usage
So i always using 3 workers at the same time (3 instances, i meant). So pass 1 reach to 75% CPU, and pass 2 always 100-110% CPU Usage.
And i want to ask is this affect quality? Or may cause some errors at some frames of output video?

I use avisynth 2.6 with command

FFVideoSource"pathtovideo" and never use thread=#
Thank you guys so much

Atak_Snajpera
22nd October 2019, 19:21
and pass 2 always 100-110% CPU Usage.
How can you have CPU usage higher than 100% ?!?!?!?!?!

And i want to ask is this affect quality? Or may cause some errors at some frames of output video?

It has zero effect on quality.

Groucho2004
22nd October 2019, 19:29
How can you have CPU usage higher than 100% ?!?!?!?!?!It's probably similar to this cool feature:
https://www.youtube.com/watch?v=4xgx4k83zzc
:D:D

lintran
27th October 2019, 19:06
Thank you all :D

LoRd_MuldeR
27th October 2019, 21:33
How can you have CPU usage higher than 100% ?!?!?!?!?!

Depends on whether we look at "CPU utilization" or "CPU load".

CPU utilization is the fraction of time that the CPU has been busy, as apposed to the fraction of time that the CPU has been idle, during the measuring interval.
This clearly cannot go above 1.0 (100%), because a value of 1.0 means that the CPU has been busy all the time. More than that is just not possible.

CPU load, on the other hand, is the average length of the CPU's run queue during the measuring interval.
Simply said, a "load" value of exactly 1.0 (100%) means that processes have been using the CPU all of the time and no processes in "ready" state ever had to wait for the CPU. However, as soon as we have more processes in "ready" state than the CPU can handle, i.e. processes that are willing to execute are forced to wait because another process is already hogging the CPU, the "load" can exceed a value of 1.0 (100%).
Example: If there was a single CPU-bound process that is in "ready" state pretty much all of the time and there were no other CPU-bound processes running on the system at the same, this would correspond to a load of 1.0. But, as soon as two such processes were running at the same time (on the same shared CPU), each process would be forced to wait about ~50% of the time, and thus the load would go up to ~2.0.

https://cdn.buttercms.com/uFU3AC14SzytfHXTy6WX

Be aware: Windows Task Manager and friends show CPU utilization, whereas the "top" or "uptime" commands on Linux/Unix show CPU load.

kuchikirukia
5th November 2019, 02:18
More encodes won't affect quality one bit, but you may want to limit the number of threads for each x264 instance since that will have a minor effect on quality. I believe each x264 instance will be trying to use 72 threads on your system (default is 1.5*logical processors) and they obviously don't scale to that.
On a 2P 12 core/24 thread CPU system I'd personally run two 12 thread encodes pinned on each CPU. (four simultaneous encodes)