View Single Post
Old 10th December 2018, 13:33   #16407  |  Link
ReinerSchweinlin
Registered User
 
Join Date: Oct 2001
Posts: 454
GPU vs CPU Encoding is a different thing than GPU vs CPU Filtering.
On GPU, you can only encode via the offered NVENC, QS-Video, etc.. mechanism - not a x265 port for GPU. Porting X265 to a GPU doesn't make sense (this is discussed in detail elsewhere).. The eoncding Engine on a GPU is not just a simple port of x265 to the GPU - intel, AMD, NVIDIA emplemented Encoder Units into the GPU, which only can do as good as the implementation is... x265 with normal to placebo settings is much better in terms of quality...

With OPEN CL, you have an open Standard for calculating things like filters... This can be done on GPU, ASICS, CPUs, etc... everything you have an OPENCL driver for... Since some filters for Videoediting fit the strenghts a GPU offers (heavy parallel processing with weak cores vs. way lesser very potent cores on a CPU), some videofilters benefit heavily from Running the OPENCL Filter Code on the GPU. Running the same filters on a CPU is veryvery slow compared to a decent GPU.

It all depends on the type if calculation, memory, memory bandwith. etc... if a specific task is working faster on a "traditional CPU" or a GPU...

CPUs are being equiped with more and more processing units which can give an advantage for things a GPU traditionally is good for... Think of the old 386, which didn`t have the FPU built on - it was a seperate chip youŽd have to add... Later CPUs already had a FPU in it, so calculations benefitting from a FPU ran faster on these... Later there were things like 3dNow, SSE, AVX, etc... which contained instruction sets offering calculation-possibilities previous models didn`t have bevore.

One good example is a iFFT, which is running much faster on something like a DSP, SSE in a CPU etc.. than on a "traditional CPU".. In times where iFFT was not available inside a CPU, it took a lot of time to calculate it... As sonns as instructions for iFFT were available in the CPUs - you could easily go realtime..

So for best quality and speed, a strong CPU still is the best way to do x265 encoding, paired with a GPU for filtering... Is in most cases the best way to do it... In terms of speed (e.g. live streaming of games), the GPU Encoding of video can help to reduce system load.
ReinerSchweinlin is offline   Reply With Quote