Question Problem with rx 580 encoding x264

Jun 8, 2019
18
0
10
Soo i recently upgraded to a rx580 8gig reddevil powercolor and a ryzen 3600 from a r5 2400g and 1050ti 4gb zotac oc .......so the problem is when encoding using x264 with the 580 it looks grainy and dull im using fast or medium 900p 60fps but when i put my 1050ti back in and encode using the same exact x264 settings the quality is amazing .......so my ? is what would cause these two cards on the same x264 presets to look so far apart because the rx580 looks sooooo bad compared the 1050ti its nite and day really and i cant wrap my head around why a 8gig rx580 looks worse on the same x264 settings vs a 1050ti 4gb the diffrence is uncanny and im using the same system same periphials and such 16gb ram b450 f mobo ssd for os ....anyone who has input please lmk i really want to use my rx580 but i cant with the quality looking the way it does the 1050ti seems to do something better than the rx for it to look so much better than it ..
 

QwerkyPengwen

Splendid
Ambassador
Let's clarify something.
Are you using OBS?
Probably.
Further clarification for you:
x264 is software encoding that is done by the CPU.
x264 encoding can be offloaded to the RX 580 because AMD cards don't have dedicated encode hardware built onto them and instead just encode the same way a CPU does using it's cores.

When using an NVIDIA card, there is no option to offload x264 encoding onto it because it has it's own built in dedicated encoding hardware called NVENC.

So if your encode settings are x264 while the GTX card is in the system, then the encoding is then being done on the CPU.

When the RX card is inserted, x264 encoding is still done on the CPU unless you specify that it be done using the RX card.

For encoding with x264, the preset has to do with quality yes, but so does bitrate and some other fun things.

Here is what I suggest you do.
If you're system has another PCIe slot lower down on the motherboard, and you have extra power cables for it, then plug the GTX card into the lower slot and don't use it for any displays and simply have it in there to be used by OBS for it's NVENC encoding.

Othewise, as I mentioned, with the RX card, you have to specify that OBS uses it for encoding, and then you have to make sure of a lot of different encode settings in x264 encoding mode.
 
Jun 8, 2019
18
0
10
Let's clarify something.
Are you using OBS?
Probably.
Further clarification for you:
x264 is software encoding that is done by the CPU.
x264 encoding can be offloaded to the RX 580 because AMD cards don't have dedicated encode hardware built onto them and instead just encode the same way a CPU does using it's cores.

When using an NVIDIA card, there is no option to offload x264 encoding onto it because it has it's own built in dedicated encoding hardware called NVENC.

So if your encode settings are x264 while the GTX card is in the system, then the encoding is then being done on the CPU.

When the RX card is inserted, x264 encoding is still done on the CPU unless you specify that it be done using the RX card.

For encoding with x264, the preset has to do with quality yes, but so does bitrate and some other fun things.

Here is what I suggest you do.
If you're system has another PCIe slot lower down on the motherboard, and you have extra power cables for it, then plug the GTX card into the lower slot and don't use it for any displays and simply have it in there to be used by OBS for it's NVENC encoding.

Othewise, as I mentioned, with the RX card, you have to specify that OBS uses it for encoding, and then you have to make sure of a lot of different encode settings in x264 encoding mode.




i understand what your saying but kinda mixed me up with the rx having to be specified to use the rx card ? with the gtx i get nvenc and x264 and the amd card i get amd endoder which is just horrible quality and then x264 what im saying is that i use x264 with both the cards same bitrates and same fps and res but the two videos are just way off in quality wise im assuming ur saying that choosing the rx to encode u mean by choosing the amd encoder ? that would b the gpu encoder but im not using that due to the quality being even worse than x264 ..im using both gpus with the same bitrate and such on same system but at diff times obv but the 1050 gives way better quality with x264 than the rx580 can even come close to on x264 ..........i just dont understand what u realli mean by "When the RX card is inserted, x264 encoding is still done on the CPU unless you specify that it be done using the RX card". which what i know using the card would b using the amd encoder which is horrible horrible quality ..i was using x264 for both tests with both gpus
 

QwerkyPengwen

Splendid
Ambassador
if you select x264 (Software) option for encoding in OBS, the video card of your choosing has no bearing whatsoever on encoding (or it shouldn't) because x264 is done with the CPU. It does not use your graphics card at all for encoding.

Hardware specific encoding options exist as you've just mention.
NVENC is for NVidia cards, because they have an actual encoding hardware chip built into them.
AMD cards do not have a piece of hardware built in for encoding, and the option in OBS for AMD just makes the GPU use itself for encoding the same way the CPU is used for x264, and yes, usually the result is worse, however, your encode settings have to be modified to fit the encoding method of choice. (you need to tweak and fine tune things)

So as for why the quality differs when changing out graphics cards when you use x264 encoding option I don't know because x264 (Software) option in OBS uses your CPU and your graphics card is not a part of the encoding process (as far as I'm aware and from my personal experience)

This is a curious matter but not something I am fully equipped to help you with much further beyond just explaining what the options are and how they work, since as I've stated a few times now, x264 uses CPU and your graphics shouldn't make a difference.

I would recommend you to go and talk to the OBS community about it to get better support.

You can either reach out on their website and forums, or go to their Discord.

Be sure to specify the following to get better help:
Specify that you are encoding in OBS using x264, but that for some odd reason, (even though you're using x264 encoding) when you change out graphics cards, it has an effect on the encode quality even though you are not using hardware encoding.

Specifying this will allow those in the OBS community to understand exactly what is happening so that they can help you better.
 
Jun 8, 2019
18
0
10
if you select x264 (Software) option for encoding in OBS, the video card of your choosing has no bearing whatsoever on encoding (or it shouldn't) because x264 is done with the CPU. It does not use your graphics card at all for encoding.

Hardware specific encoding options exist as you've just mention.
NVENC is for NVidia cards, because they have an actual encoding hardware chip built into them.
AMD cards do not have a piece of hardware built in for encoding, and the option in OBS for AMD just makes the GPU use itself for encoding the same way the CPU is used for x264, and yes, usually the result is worse, however, your encode settings have to be modified to fit the encoding method of choice. (you need to tweak and fine tune things)

So as for why the quality differs when changing out graphics cards when you use x264 encoding option I don't know because x264 (Software) option in OBS uses your CPU and your graphics card is not a part of the encoding process (as far as I'm aware and from my personal experience)

This is a curious matter but not something I am fully equipped to help you with much further beyond just explaining what the options are and how they work, since as I've stated a few times now, x264 uses CPU and your graphics shouldn't make a difference.

I would recommend you to go and talk to the OBS community about it to get better support.

You can either reach out on their website and forums, or go to their Discord.

Be sure to specify the following to get better help:
Specify that you are encoding in OBS using x264, but that for some odd reason, (even though you're using x264 encoding) when you change out graphics cards, it has an effect on the encode quality even though you are not using hardware encoding.

Specifying this will allow those in the OBS community to understand exactly what is happening so that they can help you better.



Thanks for you detailed reply i appreciate it very much ....im stumped as it is too im very good with hardware and computers and i just dont get why the rx580 will not give a clear stream using x264 but same settings and such the 1050ti just blows it out the water idk if it could b a driver or power issue but i havent had any issues with power and i installed drivers and uninstalled them fully but i will reach out to obs community thanks for the advice ..stay safe in this time of madness my man
 

QwerkyPengwen

Splendid
Ambassador
when you change out graphics cards, are you completely removing drivers for the previous card and installing drivers for the other card fresh?

Again, your graphics card has (or shouldn't have) any bearing whatsoever on encoding and streaming with x264.

When you use x264, all of the encoding and streaming is done using your CPU and the CPU ONLY.
Your graphics card does nothing but give you an image on your display of your desktop and the graphical user interface (GUI) of programs such as OBS.

Try using DDU to completely uninstall drivers for any and all graphics cards, and then install clean and fresh drivers for the graphics card you want to use.

It might somehow be possible that drivers are somehow messing with something, but again, seeing as how x264 has absolute NOTHING to do with your graphics card, you shouldn't have any issues coming from your graphics card being different or the drivers and so I can't personally see how or why that would be the case.

so one last time, I will say that the people in the OBS community will most likely know more about whatever issues you are having and be able to help you.
 

TRENDING THREADS