Not all streamers have the budget to build a powerful gaming PC that can stream their gameplay seamlessly. You might be wondering, should your budget spend most on your CPU or GPU?
Why does my PC keep lagging during streaming?
If you are playing a video game during your stream, both the game and streaming will strain your PC. Streaming software will strain your PC because it needs to record what currently happens on your screen, syncing audio and video that enter (microphone and webcam setup) and exit (game audio) while at the same time it uploads the compressed data to Twitch or YouTube.
You might wonder, which streaming will strains more, your CPU or GPU? Actually, if you stream, it will use both CPU and GPU resources. Streaming will take at least one of the core and your GPU needs to process the rendered data of your game. What matters is which streaming codec you choose for streaming.
The streaming codec will decide which part of your PC, whether it’s your CPU or GPU that going to render your streaming. There are four streaming encoders you can choose from; x264, NVENC, AMD VCE, and Intel Quick Sync. Choosing NVENC, AMD VCE, and Intel Quick Sync meant OBS or your streaming software will use your GPU to render your streaming, but if you choose x264 your CPU is the one that will encode your stream
Each streaming codec will result in different video quality. x264 will provide the best quality at the expense of heavy load on your CPU. GPU streaming codec, with the right setting, can give 80-95% quality of what x264 will without straining your PC
Now, what you should choose?
x264 is the default codec that most people use. It uses h.264 which is supported by most OS. It requires no setup and available for PC, Mac, Smartphone, and even console. x264 is getting replaced by AV1, but for streaming, x264 is the only CPU encoder you can choose that is supported by Twitch, Facebook Gaming and YouTube.
The advantage of using a CPU for your video encoding is it will give you the best picture and video quality right off the bat. The disadvantage is it will utilize a lot of your CPU resource, lowering your PC in-game FPS. You can setup x264 preset from Ultra Fast which least affect your CPU to Placebo which gives you the best quality you can get from the encoding process
Here is the list of x264 preset you can choose for streaming:
- Super Fast
- Very Fast*
- Very Slow
Why Fast give worse quality than slow? Isn’t fast always meant a good quality?
Fast preset during the encoding process meant that your CPU will encode the video faster, so it leaves less time and less CPU power to process your video. This means that the video quality will be lower compared to slow preset which give CPU more time and more resource to encode your video.
Placebo is the slowest but gives no advantage compared to Very Slow, which the reason why it named placebo, not worth the increase of CPU resource on video quality in most case
Only Very Fast, Faster, Fast, Medium and Slow is the option you should choose for streaming. Back then, Very Fast is the standard that most streamers choose. But now that Nvidia improves their NVENC in Ampere GPU generation, 6 core CPU become cheaper and most people have at least 1080p screen in their smartphone and PC monitor, you should choose at least Faster for better quality streaming compared to GPU encoders like NVENC and AMD VCE.
If your CPU is not strong enough for streaming, try to choose Faster preset first, then lower to Very Fast if your PC lag during streaming. Try to compare which one better by testing them during your stream and ask your viewers opinion which one is better
If you have 8 core CPUs like Intel i7 and Ryzen 7, use Medium preset which gives the best quality at a balanced performance cost. If you have 10 Core CPU Intel i9 or 12 core CPU Ryzen 9, try to consider Slow preset. Your viewers will love and thank you
Nvidia NVENC encoder is a built-in GPU hardware accelerator that performs video encoding. It’s a video encoding that you can freely use if your GPU supports NVENC. The benefit of using a GPU encoder is it will using part of your GPU that is dedicated only for encoding, so it will have little impact on your game.
Not only that, since your CPU resource is free from encoding purposes, using NVENC can let you play your games without framerate penalty.
x264 vs NVENC
So which one is better?
With Nvidia, you can get the equal video quality of x264 Very Fast without getting dropped frames on your games. Of course the quality for x264 will be better if you have a premium gaming PC
Which NVIDIA GPU is supported?
Not all NVIDIA GPUs are supported. NVENC was released in Kepler (7xx) generation in 2012. It was built to encode the video you watch on your PC, to reduce the heavy load of 4K encoding.
But only the newer NVENC version can support streaming purposes. Here is the list of GPUs that support NVENC for streaming purpose
- NVIDIA Pascal Generation (10xx) released in 2016: Only 1080 Ti
- NVIDIA Turing Generation (20xx) released in 2018: GTX 1650 super to RTX 2080 TI are supported. GTX 1650 that was released initially doesn’t support Turing NVENC, but the newer GTX 1650 version that uses GDDR6 supports Turing NVENC.
- Nvidia Ampere Generation (30xx) released in 2020: Currently all ampere GPU support highest level of NVENC natively
OBS will detect automatically if you use supported NVIDIA GPU, so you can choose between x264 which uses CPU and NVENC which uses your GPU. Choosing NVENC is the best option for most streamers since the benefit of x264 is only useful for streamers that have at least 8 cores on their CPU or having unsupported GPU.
Not only for streaming, but you can also use NVENC for video editing and rendering purposes. Video editing software like Adobe Premiere can let you use NVENC to supercharge the speed of your video rendering project. Video rendering takes a long time, especially if you render 4k videos.
Not only that, digital artist that works in 2D art using photoshop and 3D art using Blender can heavily benefit from using NVENC encoder to render their artworks. It’s always recommended to Blender artists to use NVIDIA GPU to render their art.
Since NVIDIA have their own hardware video encoder, AMD Video Coding Engine is AMD version of hardware video encoder. It’s rebranded as AMD VCN or Video Core Next in the Navi GPU lineup. Unlike Nvidia which heavily support software developer to improve their encoder, AMD VCE generally use open-source codec like AV1 and OpenCL. AMD VCE is a nightmare for both developers and users. When it works, it works decently yet inferior to Nvidia NVENC. When it not, well it’s a buggy mess that embarrassing for a company that rival Intel in their CPU quality.
Maybe the only benefit of AMD VCE is it has better Linux support than NVENC. But if you use Linux, then you are not the intended market for the video encoder. Intel Quick Sync which uses Intel integrated graphic will be the better choice for you
Want a solid honest opinion?
You should always choose NVIDIA as your GPU. If you have AMD GPU, rather than using AMD VCN for your video encoder, use x264 at medium setting. It will be much better than both NVENC and AMD VCE.
Intel Quick Sync
Intel Quick Sync is a dedicated encoding and decoder technology in Intel Integrated Graphic. It’s the cheapest hardware encoder you can buy since most Intel CPUs support Intel Quick Sync., except the one with F or disabled iGPU.
So, should you use Intel Quick Sync for streaming? The answer is No
Since most of you will play using either Nvidia or AMD GPU, instead of Intel Integrated Graphic that easily beaten by 50$ (Before the scalper and miners hit ☹) GT 1030, you shouldn’t use Intel Quick Sync. Intel Quick Sync only useful for Mac and Windows Ultrabook users if they edit and render video using supported software like Adobe Photoshop and Adobe Premiere.
Using either Nvidia or AMD GPU will always be a faster and better choice than using intel GPU. Of course, we need to wait the release and review for the new Intel dGPU, but until then, Intel Quick Sync is inferior choice
Mac already stopped using Intel CPU in last 2020. Apple M1 CPU which replaces Intel CPU in the new MacBook Air, Macbook Pro, Mac Mini and iMac has a better hardware video encoder than Intel Quick Sync. So, if you searching for the best lightweight laptop for video rendering and editing, just buy a MacBook instead of an Intel-powered Ultrabook
Should you Use CPU or GPU for Streaming?
It depends on your CPU and GPU specifications. If you have a high-performance CPU with at least 8 cores like Intel i7 and i9 or Ryzen 7 and Ryzen 9, CPU encoding or x264 will be better. If you have flagship Nvidia GPU like RTX 3080 and RTX 3090, you should choose NVENC as your video encoder
If you have AMD GPU, try AMD VCE first to try if is buggy or not for your use case. If yes, then switch to x264 with Very Fast preset and gradually upgrade to slow to choose which preset is better for your use. The key take away is if you have at least 8 core in your CPU, always choose x264 medium or at least fast preset
Even though maybe you’re tempted to choose very slow so your viewers can enjoy the best video quality you can provide, it will eat your internet bandwidth and if your stream is choppy, your viewers will hate it. You need to consider which x264 preset is the balance between good video quality and low FPS performance cost.
Now that we already discuss CPU or GPU, what about RAM and SSD?
You can overclock your RAM, but beware you may need a more expensive motherboard as it may break your RAM. The lifetime warranty in your RAM is not a real lifetime warranty and only lasts as long as the generation lasts. Since DDR5 will be released in 2022, you may need to wait a little bit before upgrading your RAM
Do you need fast SSD for Streaming?
What about SSD? Do you need SSD instead of HDD, and will NVME SSD be better? Since you will upload your streaming data to Twitch or YouTube, writing and reading speed in SSD doesn’t matter. You and your viewers will experience no difference between using SATA SSD and the faster NVME SSD. Using HDD actually not that bad since what only matter is upload speed
But there is a Catch
Most AAA modern games, especially after the release of PS5 and Xbox Series X will need SSD to play with. If you use HDD when playing a game that needs heavy resources rendered at lightning speed, you will experience bugs, artifact and your gameplay will be trashed to your viewers. So, it’s better to spend a little bit of money to buy a cheap SATA SSD for streaming purpose