Question / Help PUBG FPS drop while streaming

AndehX

Member
So I like to stream PUBG when im playing in a squad, and up until now I just accepted that FPS drops were normal when using x264 encoding, even when using a Ryzen 7 CPU.

Today I watched a video on youtube that compared streaming and none streaming performance of a number of CPU's (Ryzen being one of them) and to my surprise, the video reported only a 1fps drop while streaming on Ryzen, compared to not streaming. This is the video in question (with timestamp): https://youtu.be/0ypELk3jl48?t=3m37s

This confuses me as my FPS drops significantly when I stream. I average about 90-100fps, but when im streaming, that average can drop to around 40-50fps which really affects my gameplay.

So what am I missing? I using x264 encoding with a 5000kbps bitrate. Is there something else im missing?
 
Last edited:

Pow

New Member
I have a Ryzen 1700X and a 1060 GPU. I can't even run OBS with x264. The FPS of my game is fine but the recording is really laggy. I've just been doing recordings, not even tried streaming because I'm trying to figure out why this is. I get some improvement with the nvenc encoder but still I can't get a smooth recording.
 

BK-Morpheus

Active Member
Log file is missing...

I got no problems streaming with x264 veryfast (and down to "fast") @720p 60fps with my R7 1700x @3.8GHz + GTX1070.

Important: You want limited and steady fps. Limited, so you won't choke GPU or CPU for no reason and steady for smooth recordings.

Make sure Win10 GameDVR and Game Bar are disabled.

Go to your User folder (C:\users\Username) to
AppData\Local\TslGame\Saved\Config\WindowsNoEditor\

Open "GameUserSettings.ini" and set
FrameRateLimit= 60
Or change bUseVSync=False to "True" in the same file.

Enjoy much smoother stream + gameplay.
You're welcome.
 

AndehX

Member
Log file? What good is a log file? There's nothing wrong with the stream, it looks fine. The problem is why my games fps is tanking so much while streaming. Also, im streaming at 1080p, not 720p.

GameDVR and Game Bar are both disabled. Honestly, that goes without saying.

The absolute last thing I am going to do is limit my fps to 60, when I have a 144hz monitor and a GTX1080. Why even suggest that, lol?
 

BK-Morpheus

Active Member
Because you choke GPU / CPU withouth limits, even with Titan X + 8700k@5.5GHz.
No limit = one of your components will run at max load (and therefore become the bottleneck).

You could set 120fps as a limit. This would allow you to enjoy the responsiveness of your high refreshrate monitor with a more stable framerate (drops from 150fps to 110fps are worse than constant 120fps) and possibly give you enough GPU load headroom for OBS. Also this would provide OBS with a perfectly matched ingame framerate for streaming with 30 or 60fps.

With a R7 you could also try to give PUBG 4 real cores (core 0+2+4+6) and OBS the other 4 Cores+SMT cores (8-15) via cpu affinity setting in your taskmanager.
So OBS CPU load and game CPU load will be separated.

You said you use 5000kbit/s for 1080p video (which is very low bitrate for streaming shooters in 1080p). If you additionally use 60fps for the stream (which would eat so much bitrate in 1080p that movements will look very blurry/pixelated), OBS will use some GPU load for rendering the OBS scene.
720p 30fps in OBS will produce less GPU load than 1080p 60fps, of course. Maybe that's the reason why you loose so much ingame fps.
The other reason could be CPU load. To find out, which one is limiting you, just log your GPU load with GPU-Z or MSI Afterburner. If your fps drop but the GPU load is not at 95-100%, your CPU is the limiting factor.
 
Last edited:

AndehX

Member
Well I did some monitoring while streaming and my CPU hovers around 40-50% usage while my GPU sits around 70%, so I don't think a bottleneck is the issue here...
 

Alexandra313

New Member
I have the same problem, i7 7820x and its impossible to think about streaming with x264 on low quality, i have to use nvenc with a lot of less fps on game
 

BK-Morpheus

Active Member
Well I did some monitoring while streaming and my CPU hovers around 40-50% usage while my GPU sits around 70%, so I don't think a bottleneck is the issue here...
So it's a CPU limit..okay.
Without a fps limit and with only 70% GPU load, the CPU is limiting.

CPU load 40-50% could mean you have 4 threads at full load (already limiting) and 4 threads with high load and the another 8 threads with almost no load.
Single Thread CPU limits might not be visible, as the Windows shedule is trying to spread the load between all cores. So you might not see any thread/core at ~99% load but still the CPU/RAM Speed is limiting your max FPS.
The easiest indicator to spot a CPU limit is the GPU load. FPS drop while GPU load is not 100% = CPU limit.

You can make it more obvious, when you do the same test two times. First time with 3GHz CPU clock on all cores (Boost disabled) and than overclocked to 3.8Ghz on all cores (boost still disabled).
GPU load and framerate should increase slightly with higher CPU speed, if there is a CPU bottleneck.
 

Paolo Mortari

New Member
Hi,
I have the same issue and I have a i7 8700 + 16gb + 1080 8gb
My cpu sits at 60%, my GPU at 99%
And I record using QSV (iGPU) and it loads 33% streaming
Even though my fps rate changes noticeably either streaming or not
It's a 6(12) cores cpu and should be dealing with the tasks pretty easily, right?

Do you have any suggestions?

Thanks
 

Attachments

  • pubg-streaming.png
    pubg-streaming.png
    158.8 KB · Views: 158
Last edited:

guiguijke

New Member
Hi,
Had exact same problem. I have i5 8600k (6c/6t) & 1080ti
I had to let pubg use cores 1->4 and let 5&6 for obs. With other task manager that can save cpu affinity.
I tried everything else and this one is working fine now, it appears pubg need first cores.
Hope it helps
Ps : you need to disable every soft that read gpu power, it's a known nvidia bug that can make some games stutter .
 
Top