Role of the CPU when encoding with GPU

Giuseppe.B

New Member
Hello and thank you for reading this, I appreciate :)

I'm NOT a gamer and also NOT a streamer but a simple / basic content creator.

My goal : being able to record (locally) simple "face cam" videos such as basic screen-cast (with my image incrustation) and simple scenes transitions with OBS. My purpose is to avoiding any post-production editing, so I "edit" the video in real time and record it locally. By "simple scenes transitions" I mean switching from a scene to another such as in this example : https://youtu.be/1mMuAxzYM_0?t=14

I tried to do that with my 8 years old laptop (CPU: Intel i3-3217U + GPU: Intel HD 4000) using both x264 and GPU encoding but the quality is not great... I'm considering buying a better CPU, for example AMD Ryzen 5 3600 or Intel Core i7-10700.

1. If I take the Intel Core i7-10700 (with integrated GPU: Intel UHD Graphics 630) do I even need a dedicated graphic card for doing what I want to do?

2. In case I add a graphic card and I use a GPU (material) encoder (for example NVENC) does the power of the CPU matters or when using the GPU the power of CPU is not useful at all for the encoding role?
 
Last edited:

koala

Active Member
The internal iGPU is designed for office work. It's meant to display the Windows desktop and to support non-gaming and non-image processing apps that use directx graphics for their visualization needs.

As soon as you do any image or movie processing, which OBS is part of, you need a balanced system, balanced between CPU and GPU. You cannot favor one component over the other, because the other becomes some bottleneck in this moment, and the power of the favored component is somewhat wasted because of this.

You might absolutely get away with the iGPU of modern CPUs, but it depends on your actual use case. It's not possible for us to say: "it's enough for your use case" or "you need an external GPU".

Intel iGPUs have Quicksync as hardware encoder, including your current old laptop, so you might prefer this over x264. On the other hand, Quicksync needs a bit of GPU computing resources, so if the stuff you're recording and the image compositing of OBS fully needs the iGPU resources, you might get encoder overload even with Quicksync.
 

Giuseppe.B

New Member
Thank you very much for these inputs, koala, I appreciate !

Anyway the results (using Quicksync) are not OK (speaking about quality) so I'd go for a new / more powerful PC, not a laptop.

That's why I'm thinking about a AMD Ryzen 5 3600 or Intel Core i7-10700.

If I understood well your message, even if I encode my video with the CPU (x264) it's better if I get a physical graphic card.

But, if a buy an "old" second hand graphic card (so that anyway I won't use Nvidia / NVENC since I'll go for x264 since it seams it gets better results in quality) it doesn't really matter what graphic card I get, is that correct ?
 

koala

Active Member
As long as you're recording only and not streaming, Nvenc is the superior encoder, regardless the GPU generation, also superior to x264 due to its almost nonexistent hardware demands. It needs almost zero resources, because it is a dedicated chip, and you can set the quality up to indistinguishable from the original. Using x264 is always dragging down the CPU if you try to squeeze a better quality out of it than Nvenc, up to the point where the app you intend to record starves.

You need a GPU that is powerful enough to support both the compositing of OBS and the app you're recording. This is independent from encoding with x264. As far as I remember, compositing with a resolution of 1920x1080@60 fps is already over the edge of some older iGPUs.

If you ask me, get some cheaper NVidia GPU. Don't get a gt 1030 or gt 710, these are absolutely low cost and not really better than iGPUs, but the gtx or rtx 1xxx, 2xxx or 3xxx are suitable. Then use Nvenc.
 
Top