EVERY Retro Gamer NEEDS to Know This! (All about INTEGER SCALING)

preview_player
Показать описание
Today we're talking about the ins and outs of Integer Scaling - What it is, what it's for, and why YOU should care!

---------------------------------
- MY GEAR -

- SHOP HERE! (please?) -
If you use my Amazon link to shop (for anything!) I get a small cut of whatever you buy, even if it's just toilet paper or rootbeer. It costs you nothing and helps the channel!

Check out my Patreon if you'd like to support the nonsense that I do...

Help me make better content and get some fun perks at the same time!

Stop by my Discord Server to say chat with me and the rest of the tech dweebs!

- MUSIC CREDITS -
Intro: Captive Portal - Intro For A Nonexisting Video Game
Outro: RoccoW - Chipho instrumental

- CHAPTERS -
00:00 No spaghetti tonight
00:39 WHAT IS INTEGER SCALING?
02:00 Let's talk about pixels
03:13 Scaling on different systems
04:11 When it DOESN'T work
05:06 Why is this important?
07:19 The BEST solution (USE A SHADER)
08:53 High res displays
09:42 For the pixel purists
10:40 Wrap up

#retrohandheld #retrogames #emulation
Рекомендации по теме
Комментарии
Автор

TechDweeb is making me care about Integer Scaling and perfectly square pixels.

Pridetoons
Автор

I spent a decade doing retro graphics programming, including writing a variety of scaling and interpolation algorithms, and I thoroughly enjoyed this video.

ToyKeeper
Автор

The writing in these videos is top notch. The camera pov, the voice... it's all *chef's kiss*

chiefenumclaw
Автор

more of these type of vids pls! lots of us are clueless about most emulation specifics💀

fairyboy
Автор

Fun fact.
The >lowest< vertical resolution that allows for the most accommodation of integers of retro system, with the least effort from the hardware, and the least wasted screen space, is 960p.
The worst case scenario of wasted space is, curiously enough, the PSP, which has an odd resolution that won't fit most common screen resolutions, but it still delivers a much bigger picture at 960p @ 3x, than 720p @ 2x, or 1080 @ 3x. In fact, the next integer for 4x would be at 1088, which is why 1080p is "useless" for PSP, and its overall terrible for most retro system integers, as barely anything (nothing AFAIK) will fill the screen using integers.
It would take a considerable jump to 1440p, for most systems, to fill as much space as possible using integers, but at that point, you are using integers a bit too high for most hardware to handle, and using a lot more power on the system and screen to do so.

However, despite me complaining about 1080p, in the specific case of PSP, you can use a small cheat to get a great 4x integer result, which is using Crop Overscan, which will cut a very (VERY) small portion of the image (a mere 1 pixel from each side (assuming the aspect ratio is 16:9)).

Still, i defend that the perfect vertical screen resolution for the use of integers in handhelds is 960p
PSP gets a 3x, which is already demanding for most hardware. Its fits the screen fairly well.
Playstation, N64, Saturn, get a 4x, and are mostly a perfect fit.
Dreamcast, PS2, and Gamecube, get a very comfortable 2X, and all are a perfect fit.
The Switch is NOT a retro system, and given its native rather high resolution, it only displays perfectly on a 720p screen, a 1440p screen using a 2x integer, or it can fit a 1080p screen if used in docked mode, which is not done often in handhelds.

P.S.
There is a lot of confusion about integers, but by and large it can be explained like this:
Integers don't necessarily improve image quality, what they do is provide a very accurate, pixel perfect image, without any blur or other visual aberrations or filtering. And they do this at the maximum image size the screen resolution will allow for the respective integer.

For example, a 5in image, on a 480p screen, with a 2x integer, has precisely as much image clarity and sharpness as the same 5in image, on a 1440p screen with a 6x integer.
Both images are 5 inches regardless, so the integer value beyond 2x is irrelevant. It won't display the image any better, and its using a heck of a lot more resources.

Resev
Автор

This is the absolute best explanation I could've hoped for, being so new to the whole thing. Thanks!

rscottadams
Автор

Very good job explaining integer scaling. This is precisely why I got a 1440p monitor; you'll get the most coverage for your buck with integer scaling instead of 1080p. (4k is a different story) With Streets of Rage at 240 lines, a x6 integer scalar would make that 1440 which would be full screen integer scaling. 240 is a common DOS game resolution which I do play a lot of DOS games. With the SNES at 224 lines, x6 = 1344. Centered that is only 50 lines of top and bottom black bars. PS5, XBOX Series X and a Switch w/ mClassic can all do 1440p natively. For 1080p gaming, do keep in mind 1080p on a 1440p monitor will look a bit fuzzy vs 4k so a GPU to drive 1440p will be a bit more than a cheap 1080p card (~$100) but you don't need to spend a small fortune on a GPU to drive 4K. Also 1440p at 32" is a good sweet spot. 1080p at 32" can be a bit pixelated depending on the monitor.

GiSWiG
Автор

I needed that. Thanks for explaining this clearly ❤

nicholassanders
Автор

while i became well aware of these concepts from years of watching my life in gaming, to the point where i notice a lot of this stuff more than most, i think simple guides like this are great for people who dont know about it. Also the video is just fun. your editing style and humor have really come a long way c:

sashahenriksen
Автор

In my many years of emulation, I always chose bilinear filters precisely because it reminded me the most of playing on a CRT, which always looked slightly blurred.

There are shaders that can apparently do it better, but bilinear always did a good enough job for my eyes.

robhulson
Автор

This is a good video Tech Dweeb. I wouldn't mind watching more videos from you like this. This video is not only very informative but also very engaging at the same time.

Pridetoons
Автор

Damn. Your production and editing is on point. I don't even care about this topic but can't stop watching haha

SamSamUnityMan
Автор

Great beginner friendly explanation of a complex subject. I was hoping you'd cover the pixel shimmering in motion with non integer scaling. I hear thats a big part of this conversation. Great video!🎉

danpatrick
Автор

Damn that was the best explanation of this topic I’ve ever seen! Now I understand what I’m doing when I’m trying different setting for scaling and shaders on retroarch! Thanks!

tominator
Автор

You humor at @4:04 is the reason I subscribed

KingBeam
Автор

Yes. I would love to see the RG505 PSP video. It is glorious. I learned something today about integer scaling. Cool video. Like always.

tonymunoz
Автор

O Dweeb, I am so thankful for these educational videos of yours. I feel like you are holding my hand, guiding me through the noob-phase of this new hobby. <3

dustyr
Автор

Such a great video! So well explained and well thought out . Very cool. Thank you. I finally really understand what integer scaling and interpolation actually mean 😂

bigal
Автор

My preferred non-integer scaling shader option is sharp-bilinear. It basically means applying integer scaling first, and then using bilinear filter to scale the image to the screen (If we use 2x prescale on NES graphics, it's 256x240 --> 512x480 --> 640x480. Overscans are not cropped.). The loss of sharpness is less glaring than regular bilinear filters (250x240 --> 640x480) and we can even use scanlines if we want. The RetroArch sharp-bilinear shader has a github page that explains all this.

gluttonousmaximus
Автор

Thanks for the consistent uploads and sharing man. I can relate on so many levels. And it's just so refreshing to hear someone else going through similar. Wishing you the best dude!

MysteriousMag