View Single Post
Old 21st January 2019, 13:07   #28  |  Link
Stereodude
Registered User
 
Join Date: Dec 2002
Location: Region 0
Posts: 1,436
Quote:
Originally Posted by Asmodian View Post
It is something you can set with --pools and/or --frame-threads.



It is smarter, in that WPP helps, but it still allocates a thread for each logical core. By default it will also start using more frame threads, which hurt quality, as core count goes up.

"The number of frame threads used is auto-detected from the (hyperthreaded) CPU core count"
Cores: Frames
> 32: 6..8
>=16: 5
>= 8: 3
>= 4: 2
Source
I've read that before. Maybe I'm misunderstanding it, but what I get out of that is that x265 will spawn a lot of threads on a high core count system, but they won't degrade image quality because they may largely sit idle waiting. They can impact determinism. Also, don't bother manually increasing the threading.

There certainly is no warning (or even a vague suggestion for that matter) to limit threading manually based on the input resolution for the sake of quality. In fact there's pretty much a statement to the opposite.
Quote:
When frame threading is disabled, the entirety of all reference frames are always fully available (by definition) and thus the available pixel area is not restricted at all, and this can sometimes improve compression efficiency. Because of this, the output of encodes with frame parallelism disabled will not match the output of encodes with frame parallelism enabled; but when enabled the number of frame threads should have no effect on the output bitstream except when using ABR or VBV rate control or noise reduction.
Stereodude is offline   Reply With Quote