Question / Help 1080p "Rescale Output" bugged?

EDGAR_SEC

Member
Ok, so after a few more weeks of testing, I finally figured out what the exact bug (or maybe intended behavior is). There's no need for me to post a log file on this since the OBS log file doesn't show total CPU usage. I also want to say I again tried this with the latest drivers, windows updates, and OBS version as of today, October 9th, 2017. I also tried this on the past 6 previous OBS releases as well just for thoroughness.

Whether if you use x264, Qsync, or NVENC with the Rescale Output option checked, OBS Studio will only use ONE CPU core. This is what's causing the Encoding Overload error message. It doesn't matter if you select it to downscale anywhere from 1080p all the way to 240p, the behavior is the exact same.

To remove all possible CPU load, I even set the main encoder to use NVENC (and disabled local recording). I also disabled Windows 10 Creator Update's Game Mode, Game DVR, and all other things that posts here on the OBS forums have said may cause this. I received the same result.

So, is this a bug in the software or a limitation of using the Rescale Output feature?
 

Suslik V

Active Member
And, for example, if you add to the field x264 Options (separated by space):
Code:
threads=36
something changes?
 

EDGAR_SEC

Member
And, for example, if you add to the field x264 Options (separated by space):
Code:
threads=36
something changes?

So I ran the more tests again using various Rescale Output resolutions with various threads=x options (8, 16, 32, 64) and the same behavior occurs.

As odd as it sounds, I can use x264 Slow to encode 1440p/60fps perfectly fine without the Rescale Option checked and sit around 65% CPU usage while using multiple cores. If I even enable Rescale Output with something as low as 480p downscale selected, only one core is used for OBS, and my total CPU utilization sits at 12%.

Hopefully we can get a dev to comment since they would know OBS's behavior best and could say whether this is a bug or if it's simply a limitation of using the Rescale Output option.
 
I'm with @Suslik V here. I did the simplest test I could using Rescale and I can see all my cores being utilised by looking at task manager. This is a really rough and ready view but the load goes up significantly on all cores which makes me pretty certain OBS is causing the load.

I use Rescale all the time for streaming, my setup is 1080p canvas 720p Rescale all at 60fps. I record at 1080 and stream at 720. I use x264 medium for stream and x264 veryfast for recording
 
Also I noticed you are using dual xeons when you say Rescale only loads one core do you mean you only see load on processor zero and not processor one?
 

EDGAR_SEC

Member
Also I noticed you are using dual xeons when you say Rescale only loads one core do you mean you only see load on processor zero and not processor one?

I mean on some random single Core (0, 1, 6, 7, 14, 19, etc for example) on Processor 0 gets maxed out at 100% utilization while every other core stays low at around 8% utilization. If I uncheck the Rescale Output box and encode at the native 1440p/60 canvas, all the cores load equally to between 40-60% each.

I actually spoke with Fenrir in the OBS chat tonight along with another guru. They both said ffmpeg-mux64 (which is what is used to do the Rescale Output) is single threaded, which explains the one core. They also said that the CPU load used by the Rescale Output option (via ffmpeg-mux64) is very miniscule and wouldn't even marginally impact the CPU to begin with.

Fenrir himself uses a base 4K canvas and tried using the Rescale Output option (in the Output tab) set to 1080p and it worked fine on his 4790K. We couldn't figure out why it only works fine for me up to 822p Rescale from a 1440p canvas even though my dedicated stream PC is much more powerful than his.

Very odd situation indeed.

Our theory was that OBS hiccups when faced with a 2P system for some odd reason. Since the amount of 2P streaming PC owners out there is miniscule, it's not surprising this hasn't been reported by anyone else yet.

EDIT: Funny story...In that thread linked by Suslik, another thread was referenced by you pointing to the Doom9 forums advising that poster to contact the OP there. I actually ended up solving TerryMasters's problem in that Doom9 thread. :)
 
Last edited:

EDGAR_SEC

Member
My OBS Studio has different behavior (no matter rescale or not). I have two cores CPU and both utilized at the level the task needs. Threads routing is the task for the system. The threads number increases when I use custom options, it is visible in Windows task manager. Of course, it has no sense for my PC but it works.

Related threads:
x264 & Dual CPU
"Encoding Overloaded" But Overall CPU Util. Less Than 40%

Sorry, but are you trying to say you have a 2P (two processor) system? Or are you trying to say you have a dual core processor?
 
Interesting, I'll have to take a look at my configuration in more detail later.

I asked specifically about processors because if you'd seen load only on one proc it would have explained why I couldn't repro as I have only one processor and I'm aware that ffmpeg has dual processor issues shall we say
 

Suslik V

Active Member
I have dual core CPU. It is hard to say that you can assign thread to anything without special hardcoded stuff.

Try 30fps, any changes? Still overload?
 

EDGAR_SEC

Member
I have dual core CPU. It is hard to say that you can assign thread to anything without special hardcoded stuff.

Try 30fps, any changes? Still overload?

Gotcha. Yes, still overloaded. I'm going to try reformatting once again today and report back. I also made sure I didn't have anything like Avast, Game Mode, etc installed.
 
Top