Question / Help bicubic vs lanczos downscale filter - Performance

shankly1985

Member
Hello
Looking for some advice here, I been streaming my playthrough of games for couple weeks now and I recently started playing Metro 2033 I noticed on the Playback on Youtube the Frame rate comes out little choppy it's not bad tbh its just noticeable.
So I wanted to find out the issue so I forced the game into Window mode and looked at the OBS Preview and noticed using lanczos the Preview FPS would drop from 60fps to 40s 50s etc all over the place now this would indeed result in the not so smooth frame rate on the stream output. So I tried changing Filter to bicubic now the FPS was a solid 60fps

What is the main difference between this two Filters? because in my testing I just not seeing a difference using 1440p Game downscaled to 1080p 60fps.

Can I ask also if you guys view abit of my Gameplay do you also see the choppy FPS?

Thanks
 

shankly1985

Member
Both streams 1 hour 30mins - Metro 2033
lanczos
Output 'adv_stream': Number of lagged frames due to rendering lag/stalls: 52702 (16.2%)



bicubic
Output 'adv_stream': Number of lagged frames due to rendering lag/stalls: 1436 (0.5%)

This is the reason for my other videos looking a little choppy even though game performance is way over 60fps..

32x seems a little too demanding and 16x seems easy. Am not quite sure 32x is worth it! Now I told under Video this filter is based on GPU power if I getting way over 60fps in game like 80+ fps why is lanczos struggling?
 

Suslik V

Active Member
Running game above 60fps maxed out you video card (that's why you see 'rendering lag' message in OBS Studio log). Use 60Hz monitor together with vertical sync enabled to limit fps in game or use any other method that works for you. Try to reduce in game graphics settings.

I think, you are the first person on the forum who complains on Scale filtering performance. At least, it is small shader and it running for AMD cards it almost no cost (I may wrong of course). Please post a log with your issue! Here's how...

The answer to your main question is the same as for Scale Filtering.
Scale filters (from simplest to complex):
  • Point (or Nearest-neighbour) – uses 1 pixel sample.
  • Bilinear – uses 4 pixels sample.
  • Bicubic – uses 16 pixels sample.
  • Lanczos – uses 32 pixels sample.
More samples - more calculations. More samples - more accurate result.
 

shankly1985

Member
Running game above 60fps maxed out you video card (that's why you see 'rendering lag' message in OBS Studio log). Use 60Hz monitor together with vertical sync enabled to limit fps in game or use any other method that works for you. Try to reduce in game graphics settings.

I think, you are the first person on the forum who complains on Scale filtering performance. At least, it is small shader and it running for AMD cards it almost no cost (I may wrong of course). Please post a log with your issue! Here's how...

The answer to your main question is the same as for Scale Filtering.
Scale filters (from simplest to complex):
  • Point (or Nearest-neighbour) – uses 1 pixel sample.
  • Bilinear – uses 4 pixels sample.
  • Bicubic – uses 16 pixels sample.
  • Lanczos – uses 32 pixels sample.
More samples - more calculations. More samples - more accurate result.

Am not complaining :D Just out looking for advice. I will try limit the FPS and test again and report back. After watching my videos back I am struggling to see a difference to why I should be using Lanczos if it means me running my games maxed out and have smooth OBS performance I think i'll just stick with Bicubic :D

Now I have another question is is possible to reduce the sample rate myself? Say maybe 28x for example?
 

Suslik V

Active Member
Custom splines not supported. So, you cannot adjust this until you write your own code.

As soon as your source reduces more than twice - you'll be forced to use special low resolution bilinear filtering that was designed specially for this task (internal restriction). If you wish to deliver best quality to your channel - run the game at the same resolution as your output (1920x1080 for example). This ensures that the recording will be crisp and clear.
 

shankly1985

Member
Custom splines not supported. So, you cannot adjust this until you write your own code.

As soon as your source reduces more than twice - you'll be forced to use special low resolution bilinear filtering that was designed specially for this task (internal restriction). If you wish to deliver best quality to your channel - run the game at the same resolution as your output (1920x1080 for example). This ensures that the recording will be crisp and clear.

Thanks for the advice. Think I'll try 1440p tonight something I haven't tested.
 
Top