Question / Help Bitrate and Cpu preset

GamerHD

Member
Hello. I am able to dedicate 4500 bitrate to my stream and streaming at 720p 60 fps.
It looks kinda okay with a very fast cpu preset, I tried faster and fast but that adds additional 30% usage and is maxing out sometimes for some reason (even if it was able to stream at fast preset few months ago).
I have seen streams with all default settings 4500 bitrate very fast 720p60, and their stream looks better than mine, game crosshairs are always nicely visible compared to my crosshair blurring into other colors and getting lost (same game, lets say fortnite).

I have an i7 3770k 4.2ghz and an AMD HD 7770, gpu is bad yes and most games I play I have gpu usage around 90% and cpu usage at 20% (60fps cap) so as you see there is headroom for another lets say 70% cpu usage for obs.

Any suggestions how to get better quality there?
 
They are probably rendering at 1080p or higher and then downscaling. To be able to do that you probably need a newer GPU.
 
I would not be surprised to hear that Fortnite looks nicer on a GPU that isn't six years old. Don't know what else to suggest without a log.
 
There is the log, from what I understand there is nothing regarding my question in there except some gpu overload skipped frames which I am fine with since they do not happen so often (cap at 60fps ingame). Another thing the log is showing, is having issues hooking with fullscreen apps, took few retries for fortnite and it never succeeded with For Honor. Every other overlay that there is available on my Windows is disabled during that time.
 

Attachments

10% skipped frames due to rendering lag means your GPU is maxed out. Even if you say you're ok with that, there's no way to make it look better because your GPU is already overloaded.
 
What about Custom x264 parameters, I was trying out rc-lookahead and similar, anything else you have on your mind?
 
x264 is completely running on the CPU. Your problem is that the GPU usage is maxed, not the CPU. For many of the frames, it takes longer than 16.6 ms to process the frame on the GPU. And it is required to process in 16.6 or less, because at 60 fps every 16.6ms a new frame is created.

Look into the bottom of your logfile, in the profiler results.
17:00:03.828: obs_graphics_thread(16.6667 ms): min=0.281 ms, median=0.941 ms, max=1174.01 ms, 99th percentile=37.667 ms, 79.162% below 16.667 ms
This is telling us that only 79.162% frames can be processed below 16.667 ms. The rest is thrown away. 10-20 % lost frames at 60 fps is 6-12 frames per second (6-12fps), which means bad stutter and lag visible. You want 100% below 16.6ms.

The time is mostly spent in these subroutines:
17:00:03.829: ┃ ┃ ┣download_frame: min=0 ms, median=0.009 ms, max=96.377 ms, 99th percentile=34.383 ms
and
17:00:03.829: ┗render_displays: min=0 ms, median=0.371 ms, max=285.445 ms, 99th percentile=26.96 ms

The long processing times in download_frame can be caused by 2 different problems: GPU overload or pci-express bus overload. The bus can be overloaded if the card is in the wrong pci-e slot, so the card isn't running at pci-e speed x16. You can check this with the tool gpu-z. Do this. If gpu-z tells that the card is running at x16 speed, it's clear that the GPU is overloaded. The long time in render_displays supports that conclusion.

x264 comes after downloading a frame in a different thread - it has no connection to the above problem. In your log, the processing in CPU space with encoding and streaming, is this:
17:00:03.829: video_thread(video): min=0.001 ms, median=0.733 ms, max=160.505 ms, 99th percentile=2.726 ms
and that's totally fine.
 
Last edited:
Custom x264 parameters only affect your CPU's compression of frames, and your CPU isn't overloaded. If you think it will work, you can change to the Fast preset, but it is my understanding that above Faster the gains from increased CPU usage are not as dramatic as between ultrafast and faster-- which you already noticed.
 
koala, that was a really informative reply. Thank you both.

I know most of those things, but my actual question is not about those "lagged frames" gpu wise, it is about those who "made it clean from gpu into the cpu x264 encoder" to compress and process and if there are any tweaks I can do to make those frames that passed into the x264 encoder look better besides changing the cpu preset?
 
my encoder was working so perfect at 720 60fps and one day i got on and its not doing its job its axing my cpu out making it lag wont even stream at 60fps help please here is my latest stream log
 

Attachments

my encoder was working so perfect at 720 60fps and one day i got on and its not doing its job its axing my cpu out making it lag wont even stream at 60fps help please here is my latest stream log
 

Attachments

Back
Top