Question / Help Sub par performance on 1950x streaming PC

@OM26R,
What game are you actually playing?
When you are viewing YouTube stream output do you have it minimized or running compact/theater/full screen on the same monitor or another monitor?
Can you post a logfile using slow and very slow presets for a few minutes' worth of streaming output please.
Also have you noted any anomalies in the thread usage via Task Manager? Such as one or a few cores having higher usage than others, etc.
 

OM26R

Member
Hi, everybody. I really need help, this piece of AMD's shit has completely fucked me up.
Waste a ton of money for nothing.
My specs:
CPU - 1950x (stock and overclocked - it doesn't matter... completely the same)
GPU - 1070
4x16gb RAM 3200 14cl
OBS settings:
x264
bitrate 12000 (I've tried 6000 - the same issues)
CPU usage preset - medium (superfast - the same)
Profile - Main
no custom settings
Process priority - High
1080p 60fps
Games I've got the problems with stream FPS drops - Kingdom Come, PUBG

1. The 1st problem is - stream FPS drops.
So I have nice (nice...mmm... for AMD it's nice... but ok) FPS in game, don't see any extra lags while steaming.
But OBS started to lose FPS... I'm trying to stream even through the NVENC - the same, so I can't stream via GPU ((((
I've tried different settings with bitrate, preset - nothing, the picture is the same.
After some test, I've noticed when the game starts to use more than 86% of GPU steam FPS starts to drop to 32-53 and viewers see huge lags.
For example, Tarkov and Cities Skylines don't use the GPU more than 40% so I have a smooth stream as well that time. But not with Kingdom Come and PUBG.
After several hours of testing, I found out disabling the preview in OBS fix that issues and right now PUBG or KCD can eat about 90-92% of GPU but stream doesn't drop FPS till I turn the MOV animation on my stream. Sometimes I have drops to 54-58 FPS but it comes better. And it's with 12k bitrate and medium preset!!!
I thought I have the problems with my Nvidia 1070 so I put it in Heaven Benchmark, 3d mark and it seems to be ok with my GPU, max temp is about 65C.
What the hell is this? Because I believe (didn't try yet) I still have no possibility to stream via GPU. But a lot of people can stream even via 1050ti, 1060. WTF? My CPU can't handle my GPU?
Sometimes it seems like OBS can't take away from the game enough of GPU. But the priority is High. I've also tried to set manually the Realtime priority in Task manager - zero changes.
There is the log I've got FPS drops: https://hastebin.com/olowiginiw

2.
The 2nd Problem is OBS Disconnects from the server.
This is the really annoying problem I can't handle and live with.

Before it, I've streamed from my main PC with 1950x to YT, Twitch, and 2 other services in 6k bitrate using StreamMix app (it's kind of that apps which can unite chat from other services in one, make some popups and other, and it also has the Nginx functionality which can help you stream to different service. In this way, I've streamed from OBS to that program and that software send my stream to YT, Twitch, and Restream.io. Everything was ok) and there were no problems.
Now I've built next chain - my 1950x PC streams in 10k (and I've tried 12k) of bitrate from OBS to that software again, but Streammix sends the signal to YT and to my custom RTMP servers which I've set on Virtual Machine (Oracle with Ubuntu) via Nginx. Then my 2nd PC with i5 4670k grabs that signal via the local network to layer in OBS, recomps into 5K bitrate and send to Twitch and etc. again via Streamix. And it works perfect, I like the quality. But my main PC can get an instant disconnect in OBS, then after 10 secs it reconnects, then in 1 sec it disconnects and again and again. So the 2nd PC can get signal in OBS (just black or gray screen) but continue stream. And my main PC continues disconnects in OBS and can't send the signal to Nginx and Youtube.
I thought that's a problem with Streamix, or maybe the conflict Streammix's nginx with Virtual Machine's Nginx, but it doesn't matter I've started the Virtual Machine or no I still can get the disconnect.
Also, yesterday, after next disconnect I've decided to close Streammix and stream via OBS directly to YT this time. During the 6 hours stream I've got about 6 disconnects from the server by OBS, the only difference from the previous case - it reconnected to server from the 1st time.
So I can't understand wtf is going on my PC. The 2nd PC had no any issues with OBS, connection, and streamix at the same time.
Can anybody help me?
There is the log I've got disconnects with streammix: https://hastebin.com/cakorikoca . It was ok but after 30 mins of streaming, I've got disconnects with no any chances to reconnect.

There is the log I've got disconnects during streaming directly to YT from OBS: https://hastebin.com/lacehedaza
 
Last edited:
Only thing I can see as an issue in your logfile is you have Windows GameDVR enabled in your OS settings. That being enabled will tap into your GPU slightly as it is always on due to having a replay buffer feature.

In regards to your disconnection issue, I cannot assist at all as I have no working knowledge of rtmp/nginx setup, especially one which is complex like yours, sorry.
However you are having bandwidth related issues when pushing 12k bitrate direct to YouTube, you need to lower that slightly.
 

OM26R

Member
Only thing I can see as an issue in your logfile is you have Windows GameDVR enabled in your OS settings. That being enabled will tap into your GPU slightly as it is always on due to having a replay buffer feature.

In regards to your disconnection issue, I cannot assist at all as I have no working knowledge of rtmp/nginx setup, especially one which is complex like yours, sorry.
However you are having bandwidth related issues when pushing 12k bitrate direct to YouTube, you need to lower that slightly.
Thanks for the replay, I found GameDVR in Windows settings, but it was off =(
And my disconnects are not only about nginx, but I've got disconnects even when I stream from OBS directly to YT. 12K bitrate is probably more than I need, but I've heard some streamers stream in 15K bitrate
 

DEDRICK

Member
1. The 1st problem is - stream FPS drops.

This has nothing to do with your Threadripper and has more to do with Windows 10. Any game that uses close to 100% GPU will cause OBS to drop frames due to rendering lag, compounded even more if you have something HW accelerated running. Windows 10 takes the GPU resources away from OBS instead of splitting them.

Your Threadripper can do 1080p60 Slow without overloading, if you took the time to research it instead of talking shit about it you would have realized your issues weren't due to your Threadripper and were actually due to using a Single PC setup, no matter how good or how expensive.

Through your troubleshooting you even discovered the issue , which has nothing to do with your CPU. OBS uses your GPU to render the frames, which then get passed off to the CPU to encode. When your GPU usage is too high it can't render frames fast enough which causes your stream FPS to drop.

GPU

"After several hours of testing, I found out disabling the preview in OBS fix that issues and right now PUBG or KCD can eat about 90-92% of GPU but stream doesn't drop FPS till I turn the MOV animation on my stream. Sometimes I have drops to 54-58 FPS but it comes better. And it's with 12k bitrate and medium preset!!!"

Upgrading your GPU won't help either, 1080 Tis still drop frames due to rendering lag, only reducing your GPU load
 
Last edited:

Boildown

Active Member
I don't understand why you are gaming on your 1950X and encoding (again) with your i5 4670K. That is completely ass-backwards for that Nginx implementation.

The idea for Nginx is to use the lightest possible encoding, with high bitrate, to send from your gaming PC to your encoding PC. Then encode "for real" on your encoding/streaming PC. So you want the high IPC CPU in your gaming PC (4670K > 1950X for gaming), and the high thread count CPU in your encoding / streaming PC (1950X >> 4670K in real and virtual CPUs). So you'd run NVEnc or Quicksync, or x264 on UltraFast or SuperFast. Instead you're running x264 on Medium. Which is insane. Amazingly your 1950X is handling it almost ok, but its still "wrong" in that your computers are assigned to the task they are least suited to instead of best.

Another possible problem I noticed is this:
03:07:51.961: [rtmp stream: 'adv_stream'] Interface: Intel(R) I211 Gigabit Network Connection (ethernet, 100 mbps)

You have a gigabit adapter but you're only connected at 100Mbps. Why is it not connecting at gigabit speeds? Is it plugged in to a 100Mbps switch/router? Is there a bad cable and it can only connect at a lower speed? The former should still work fine, it has more than enough bandwidth, but its more likely that any other traffic that might be going over your home network could cause congestion. But if its the latter and there's a bad connection, that could be directly responsible for the dropouts. Its worth investigating if there isn't a good reason for it to be connected at the lower speed.
 

OM26R

Member
Your Threadripper can do 1080p60 Slow without overloading, if you took the time to research it instead of talking shit about it you would have realized your issues weren't due to your Threadripper and were actually due to using a Single PC setup, no matter how good or how expensive.
ok, thanks for the reply, and let's stop talking shit, as you said, and clear it out. I know one guy who can stream PUBG on his i7 7700k and 1070 in 10k bitrate without any lags. On my side, I can't do this. WTF is this? What do you think?
 

OM26R

Member
The idea for Nginx is to use the lightest possible encoding, with high bitrate, to send from your gaming PC to your encoding PC. Then encode "for real" on your encoding/streaming PC. So you want the high IPC CPU in your gaming PC (4670K > 1950X for gaming), and the high thread count CPU in your encoding / streaming PC (1950X >> 4670K in real and virtual CPUs). So you'd run NVEnc or Quicksync, or x264 on UltraFast or SuperFast. Instead you're running x264 on Medium. Which is insane. Amazingly your 1950X is handling it almost ok, but its still "wrong" in that your computers are assigned to the task they are least suited to instead of best.
Can understand, sorry, but you suggest to use 4670k for gaming plus light encoding and 1950x for only final encoding? If it's yes, so my 4670k can't handle games like PUBG even with 3k bitrate via NVENC codec. So I have no way to use that way you suggested.
Why am I using x264 medium? If you read my post before you can see that I'm streaming from 1950x directly to YT with 10k bitrate and to nginx, and my i5 4670k encode that x264 medium 10k bitrate to 5k bitrate and sends other services like Twitch, for example.
You have a gigabit adapter but you're only connected at 100Mbps. Why is it not connecting at gigabit speeds? Is it plugged in to a 100Mbps switch/router? Is there a bad cable and it can only connect at a lower speed? The former should still work fine, it has more than enough bandwidth, but its more likely that any other traffic that might be going over your home network could cause congestion. But if its the latter and there's a bad connection, that could be directly responsible for the dropouts. Its worth investigating if there isn't a good reason for it to be connected at the lower speed.
Do you think I have a bad cable? I don't know, when I bought it the seller says that can handle up 1 gigabit speed.
I have a TP-Link TL-WR841N, as I can see it can handle up to 300 Mbps.
I don't know why it's not connecting at gigabit speeds, maybe because I have 100Mbps Internet connection (about 92Mbits download and 75mbps of upload from me to Europe. I've tested it on http://www.speedtest.net).
How can I check that or where can I change the settings to the higher speed or what do I have to do?
 

Boildown

Active Member
You need gigabit ports on each end of the cable. We know your computer has one, but what about whatever's on the other end of the cable? If that's gigabit too, then there's something wrong, and the first thing I'd check is a different cable. If the device on the other end only has a 100Mbps port, and not gigabit, then its probably fine.

Use your i5 for gaming, encode on UltraFast at something like 40Mbps. Or use NVEnc on your i5 at 40Mbps. Use NGINX on your 1950x to drop it down from 40Mbps to 5Mbps with a good preset, maybe Medium, but start out at Faster and work your way down.
 

OM26R

Member
You need gigabit ports on each end of the cable. We know your computer has one, but what about whatever's on the other end of the cable? If that's gigabit too, then there's something wrong, and the first thing I'd check is a different cable. If the device on the other end only has a 100Mbps port, and not gigabit, then its probably fine.
Each end of the cable has 8 lines, so it's gigabit cable. It plugs into router's slot, I don't know it's gigabit or no, but the router can handle up to 300 mbits, as I said before.
Use your i5 for gaming, encode on UltraFast at something like 40Mbps. Or use NVEnc on your i5 at 40Mbps. Use NGINX on your 1950x to drop it down from 40Mbps to 5Mbps with a good preset, maybe Medium, but start out at Faster and work your way down.
I told my i5 can't handle even 5K bitrate via NVENC in some games, for example, PUBG. CPU is overloaded
 

DarkSwordsman

New Member
I know this is old, but I came across it looking for performance numbers on Ryzen chips as I'm piecing together some lists for streaming PCs.

By default, OBS apparently sets the x264 thread counts to CPU threads * 1.5. Also, apparently x264 starts to drastically drop performance once it hits over 22 or 24 threads. Therefore, it may be opening up to 48 threads on your 1950x.

Try setting in the x264 options `threads=22`. Play with numbers from 20 to 24 and see what works best.
 
Top