Counter Strike's setting that nobody understands
Вставка
- Опубліковано 19 тра 2024
- Texture Filtering is that quiet thing you either ignore or immediately ramp up to AF 16x without thinking. But what does it do, and does it do it? And does it really do it the way you think it does it?
0:00 - Intro to Texture Filtering
1:22 - Bilinear and Trilinear Filtering
1:51 - Anisotropic Filtering
3:13 - Framerate impact tested
4:29 - CS:GO's broken of course
4:59 - CS2
7:13 - Rant about Deus Ex - Ігри
Anisotropic filtering is something that no matter the game, I always crank to the highest sestting because it can REALLY make a visual difference, for basically no performance penalty. Some games can look 5 or more years older if you disable it
At this point, the game should just default it to 16x and remove the option to change it all together.
Basically since I'm playing games(so over 2 decades) I have always done it this way.
No idea why in 2023 AFx16 isn't the default option, no matter the preset.
True
I set it to zero because I like it looking older that way
Apparently it can cause additional input lag in cs
I have used Anisotropic 16x filtering since I got my ATI 9600 Pro back in the mid 2000s. It didn't have much of a performance impact then either.
it only stresses memory bandwith, that's why
I used to crank it on integrated graphics that were like the HD4000. No penalty, huge improvement.
It can have a huge performance impact on games where changing the setting also changes LOD.
@@VRazorGaming I hate it when gamedevs merge different but similar settings into one.
@@VRazorGaming Name a game that has LOD level adjustments under the umbrella of anisotropic filtering, I genuinely don't know one.
2:30 - it means 16 times the detail
Especially when you look at lightwood laminate
It's also 4 times the size!
Lightwood laminate! Lightwood laminate! Lightwood laminate!
what did you bought with your 500 Atoms ?
Please have mercy Todd!
16 bits, 8 bits, 4 bits
Small technical addition that Philip likely skipped for brevity:
The right picture at 3:03 is something called RIP-Mapping which doesn't actually get used by most (all?) games. If you look at the VTF files from source games they will only store textures as MIP-Maps (left picture). Instead, when enabling anisotropic filtering, your GPU will automatically pick and combine the relevant pixels from the different MIP-Map levels to give you the correct result.
exactly, the anisotropic filtered versions don't actually exist. Their pixels are calculated dynamically in the GPU when the shader decides at which coordinates it likes to sample the texture and then immediately rendered to screen.
I take it RIP mapping is kind of akin to doing anisotropic filtering in software, then?
Thanks for the explanation :)
@@NikkiDimesYT Yes, sort of. It is worse as it only stores horizonally and vertially stretched textures, so it doesn't work as well if you look at the texture diagonally.
That's neat.
The effort Philip puts to simplify the explanation of the video settings is very welcoming and highly appreciated. 👍
He clearly is one of the few UA-camrs insane enough to dig deeply into this but do so in an actually entertaining way.
I'd appreciate even more of this settings menu deep dive stuff
i'd reallllly prefer for them to not hide the texture filtering option within the model/texture detail option. additionally, I'd prefer if they gave us two separate options for model and texture detail lol. i've been wanting that for years. why those settings are even combined is a mystery to me.
Yeah it's strange. I'm guessing it's because anisotropic filtering is one those things people barely understand. I've heard myths about x16 causing performance issues and that you should set it to x8, despite the fact the x16 barely hurts your performance.
This is something i despise skyrim for
Which is a very niche problem
because for the longest time i've wanted to make a retro style skyrim, which would be super easy to do just by turning all the textures to 32x32, but the forced texture filtering (which i still don't think is any way to turn off) just makes everything into mud at low resolution textures.
Only way to achieve the same effect would be making high res textures look like low res. But that removes the bonus of increased performance.
@@Verchiel_ Have you reached out to modders in skyrim modding community? maybe they know a thing or two that can help you resolve your issue.
@@kniazjarema8587 I've done a whole lot of googling (and I'm good at it) and have asked a handful of people about it but barely anything even mentions texture filtering. I think it's just a really hard coded thing that can't be changed.
Wow! I never actually knew what anisotropic filtering was actually doing except for making textures look better at steep angles and at a distance until this video! An actual explanation of how it works was a welcome surprise! I am curious about the vram implications though due to how many more versions of each texture there are.
It's not that much of a big deal in practise. Textures are often secondary to the various buffers etc in terms of VRAM usage anyway, and the mipmaps are of course smaller than the original texture. If anything it has more of an impact on memory bandwidth, due to the many samples it takes from the different textures
Someone else commented that the texture is not really stored that way, but it just takes e.g. 16 samples of the next best mipmap level (or mixes 2 mipmap levels, as trilinear does) and averages them, to emulate a 16x higher downscaling along only one axis.
If it was stored, you can calculate it with an infinite series. For normal mipmapping it is 1 + 1/4 + 1/16 + ... = 1.333 times the original ram usage (each step dividing by 4), essentially almost free.
For storing all anisotropic versions it would be that, but each of the levels would store further copies halfed in resolution infinitely, for each axis, so 1.3333 as before * (1 + 2*(1/2 + 1/4 + 1/8...)) = 4 times the original texture storage space. - Which explains why it's not done. Can also visually confirm with the images shown in the video. The impact it would have would of course depend on how many textures the game loads to the GPU in the first place.
@@TheCatOfWarCSGO still in the background sharing amazing info as always
Update: I tried this on one of my old games [Farming Simulator 2013] and it's made a blurry mess look like a high quality Pixar movie! Thanks again for this valuable explanation. 👍
finally a video on uber shaders
Almost
Programmer here.
Bilinear filtering is done via blending a pixel between the same mip map levels (texture LODs)
Trilinear filtering is filtering between two mip levels to then filter between the pixel source and that.
Anisotropic filtering is when you trilinear filter in regards to depth (uses division which is slow at scale).
Texels are a fancy way of saying a pixel with a coordinate on a texture. The way textures are drawn is going from the top left (coordinates for u and v are 0, 0) to the bottom right (where the coordinates are 1,1). You can interpolate a pixel by getting the u and v coordinates and multiplying it by the texture's height and width, as the uv coordinates almost serve as a ratio to how far in the texture that texel is. This is why MipMaps also work, because it is independent of the size.
Each setting builds on top of the other which is why they are ordered the way they are, and the more steps you do the better the image will look at the end
Junior(?) tech art here.
I think you meant that bilnear filtering is interpolating in 2 axis (blending between texels on the same MIP level) while trilinear does it on 3 axis (the third one being between two adjacent MIP levels).
@@unfa00 Yes, you're correct. Updated the original comment for the typo
@@hawns3212 Thanks! Glad I could help :)
Now I understand the settings.. slightly more! Thank you Philip! You always explain and show things in a wonderful manner, btw. I always wondered what these magical options did.
It's a shame to admit but as an 3D Environment Artist with 10y of experience I had very simplified understanding of what texture filtering is, thank you @3kliksphilip :D
well i mean it's not your job to do texture filtering luckily, you just provide the textures
It'd be more of a problem for a tech artist, so don't worry :D
(junior(?) tech art here)
Philip is one of the few people who could make an eight minute and six seconds long video about texture filtering and have it be interesting and entertaining at the same time.
I identify with that rant at the end of the video so hard. You'd think devs would know graphics settings better than this.
Thank you Phillip! I have been whacking this setting up to the max without a second thought about what it is or what it does for nearly two decades because I like big numbers, now I finally know what it has been doing.
3kliks is truly the best youtuber. Who else can make you want to watch a 10 minute video about csgo settings?
Not even just CS settings, but mainly just ONE setting. I don't care for CS (similarly to him) but I love tuning in because I love Source and finally being able to get our hands on Source 2 is really exciting.
You probably could do some testing on the Texture Filtering option in CS2 by forcing it in the Nvidia control panel to a specific setting
My internet has been super slow as of the past few days so I had to watch this in 144p. One of the most confusing things to watch when you cant tell any difference between the settings but ill just take your word for it and crank up those settings. Iv usually defaulted to using 2x for "performance" not that I ever tested it
Anisotropic is in most cases hardware supported, and the hardware support caps out at 16x. APIs allow this to go up to 64x, but as of yet not a single GPU supports anything above 16.
The original Serious Engine supports up to 128x AF somehow, but yeah hardware can only use up to 16x.
You really are great at explaining things in an easy-to-understand and engaging way. Thanks for the videos :)
i am always flabergasted at how finely you get to tune AF for how little of an perfomance impact it has. seemingly a selection between of (for super low end pc`s) trilinear and on (meaning 16x AF) would be more than sufficient.
yeah for real. of all the options devs DON'T give us, and that's the one they choose
Been using 16x ever since I saw a comparison of HL2's many different settings variantions in a very detailed website. The Anisotropic page there would show you that anything below 16x sucks, even 8x looks kinda meh, so now I always put 16x if there's an option available
The reason you can't get anisotropic filtering past 16 times is because It's one of the few things aside from MSAA that is determined by hardware. There's dedicated hardware inside the graphics card to do texture filtering.
Most things you see in game use shaders and our programmable, but for things like texture reads, they can be extremely slow if implemented in software and are used often enough that it's not recommended.
Fun fact: Dolphin the GameCube/Wii emulator has encountered a problem related to this. Some games suffer from video corruption issues, _but_ not all of them _and_ only on Nvidia GPUs, apparently due to differences in the texture filtering hardware between the GameCube's GPU and modern Nvidia GPUs.
They "solved" this by implementing an option _that bypasses the native texture filtering hardware of the GPU and lets them manually sample the textures_, so basically what you just said you shouldn't do. Going by the benchmarks they posted on their blog, it actually isn't quite as slow as you'd expect, but still a hefty performance hit (and it sacrifices anisotropic filtering, as it isn't implemented in the manual texture sampling method yet).
Fantastic with the music! Don't even need to pull up the playlist myself. Also, great video as always, loved it
The reason they fixed it in Source 2 is because of VR. There's more looking at objects at weird angles in VR, and you're playing at a lower resolution per eye which is what the texture filtering is tied to, not the total resolution of both eyes. The flaws become much more apparent in VR.
Thanks for explaining!
I always knew what these settings do visually but never understood it in detail.
I love how your technical videos can be so hilarious and engaging!
This has been a setting I just throw to 8x because it was the lowest setting games still looked good on, thanks for exploring it more! Also, regarding the resolution changing how texture filtering behaves in CS2, I suspect it could be using the display resolution to decide which textures to display, rather than the render resolution.
I was listening to Deus Ex ambience prior to clicking on your video, so 7:13 threw me for a loop. I thought I was going mad!
kilks I just want to say how amazing your videos have been over the years. Your style has always been so unique and authentic and no one could ever replicate it. I really appreciate the hard work you put into your videos
When you showed the Mipmapping comparison, sea of thieves came to mind. Keeping the detail of the waves near you while it seems amazingly transitioned the further it out is hard to pull off since the sea is all you're really looking at.
What an amazing explanation :o
I always felt that the setting looks better but couldnt tell you why. This video just told me that the difference is way more obvious and I shouldve caught it at some point tbh
Texture Filtering, Anti-Aliasing, Ambient Occlusion, and their (the former 2) different subsettings.
These used to confuse the hell out of me. Whenever I need to tweak settings for performance I'd search up what these terms meant, and then immediately forget them afterwards. Nowadays I seem to retain the info better in my mind :)
ambient occlusion isn't even related to textures, it's the shadow between two contact areas
I Antialiased and MipMapped all over the place
Always wondered what those setting did apart from one looking good and the rest looking bad.
Never bothered to look it up either. THIS IS WHY YOU ARE AMAZING PHLIPPY. stuff you wonder about, but never want to actively look for.
then you come along and it's always a nice watch and now you know! thank you a helellelelelela lot mate
i love the way your desktop icons are placed
I will always remember feeling like a BALLER when I finally turned on 16x on counter-strike: source in 2006. I had finally gotten a PC that was worth more than a moldy bagel and a lightly used tissue.
Another great video!
edit: I mean I even enjoy watching you cook but still :D
I always thought it was just my eyes trying to see the difference between 2x, 4x and 8x AA
Thank you for such a clear demonstration of Antistropic Filtering and it's impact! I only kinda knew what it did and figured it was simply loading textures at a higher resolution further away and therefore being a demanding setting. Pleasantly surprised.
ALSO YEAH WHAT WAS UP WITH THAT WITH MANKIND DIVIDED? That pissed me off to, to no end, I specifically remember asking WHY.
Short and informative, this is really nice!
5:00 Phillip... Thank you for doing subtitles on your videos, and thank you even more for having a sense of humor about it.
That two-too swap made me double take, you sly dog ;)
I was looking for this one day wondering what it did. thank you for making video about it
The "antistrophic" part felt like I was being called out LOL
I've never seen a more simplier and more understandable Anisotropic filtering explanation
Thanks!
Honestly, you could make videos of this length talking about every setting individually and I would watch every one.
3kliksphilip i watch your videos for years now (subscribed since 2015 i think) and i always take great joy in the small details/jokes/emphathisesesssess you do like the sirocco one in this video, thank you for that (and your videos)
Great explanation, I always knew that texture filtering basically improves the image quality for approximately zero cost, but I never really looked into how it works. For CSGO I actually have it set to Bilinear in the hope that mushy textures will make my opponents easier to see though, lol.
6:53 Made me chuckle.
Really informative video, thank you!
That 16x anisotropic filtering truly is eyegouchingly beautiful, in the words of a wise man
always wondered what that option was, great video :3
Great! Wish you touched on input lag 'rumous' linked to anisotropic filtering.
Ooh. Same with antialiasing! I am addicted to finding the lowest possible input lag.
*Thank you* for demonstrating what a negligible impact anisotropic filtering has on performance. It extremely irritates me how many games to this day default to lower than 16x anisotropy, and how many don't even give you the option of correcting it. And I seem to recall seeing recently some sort of "optimized settings" guide recommend lowering it.
4:56 the pun on "two" and "too" is lovely, and i'm proud for noticing it
1:59 Antystrophic Philtering 🤣🤣🤣 i love you❣
Two my favorite games at thumbnail, I don`t what video about I am just here and watching it all!
It’s a setting I always thought causes massive frame loss. Thanks for clearing it up!
It's worth running a benchmark if the game allows it (it used to be common in older games, not anymore unfortunately.) But you can always look at "tweaking guides" or try some yourself.
i never even realized its 'Anisotropic' before philip points it out. Always read it 'Antistropic'
Thank you, I finally understand the settings of CSGO. I am now complete.
love your music kit!
As far as I recall we make the distinction between "pixels" and "texels" to avoid confusion between the pixels in the actual texture and the pixels occupied by the texture when it is plastered on an object somewhere on your screen. This means you can reason about the performance cost of each filtering type independent of the screen resolution used by the user, or the screen real estate occupied by the object
@@3kliksphilip In the example you show in the video, we happen to have an anisotropically mapped texture that closely resembles the distortion present in the scene. Of course this is rarely the case in reality, so we take multiple samples from projections close to the one present in the scene to estimate the true pixel value. Implementations vary, however, as sampling of such textures is done in hardware, and varies from platform to platform, so it is impossible to say exactly what the algorithm is. The OpenGL spec (EXT_texture_filter_anisotropic) for the anisotropic extension details one possible way of doing it, if you are interested.
Edit: I saw your pinned comment, it looks like you figured it out yourself :) I really enjoy these types of videos, it's often difficult to find very detailed comparisons between different techniques outside very specific and often convoluted examples.
I actually learnt something! Thanks Philip.
Ever since GTA V came out, I have known what this setting is, since the effects of having it set at anything other than max is VERY apparent on the roads.
Hi Philip, I wish there was one of you for every topic
I thought texture filtering was how the texture itself is displayed, so I'm completely wrong here :D you learn something new every day
Been a while, but I remember some demo where you could crank anisotrophic filtering (and other filters) up way past 16x and then play around with textures at all sort of distances and angles. I think it was 3DCenter filter tester. Not sure if that still runs on modern drivers/windows though.
I also remember a demo available in nvidia or amd drivers back in early 2000s where they showed a 3d scene with a fly by and let you adjust settings like texture filtering and msaa. It also highlighted and zoomed in on areas that would change the most, it was super cool.
Well done on the 1M Philip. Well Deserved!
Hey Phillip, my friends and I got to play against you on an overpass game the other day. It was a pleasure to play against you whilst using your music kit, even though we lost.
philip still plays CS:GO??
@@TheCatOfWarCSGO Our thoughts exactly
Fun source engine fact with texture filtering. Vtf have a flag that when enabled forces anisotropicx4 filtering for that texture on bilinear and trilinear settings.
The oversight is that it does not get applied for anisotropicx2. So for very specific circumstance you can have something filter worse on higher settings than lower.
another banger philip. i love you
Thank you Philip for teaching me how to pronounce anisotropic.
I've seen so many game devs butcher this setting. LIke low/medium/high graphics presets having 2/4/8x anisotropic, instead of cranking it to 16x from medium and up.
Also i could have sworn i played a game that had 32x anisotropic. Can't remember for the life of me which though.
I think this is why you can overwrite this kind of settings via the driver settings.
Wow, I just assumed that because it makes such a huge graphical difference, the setting had a high performance impact and since my rig was underpowered when I bought it back in the stone age, I have always set it to the lowest setting and just dealt with the smeared distant textures.
After seeing this, I'll definitely see if I can get away with cranking that up since it does make a night and day difference to the graphical quality.
It would be neat if one of the kliks channels could do a whole video dedicated to obscure graphics settings. I've figured out many of them over the years, trying to squeeze every last drop of performance out of this rapidly rotting potato, but every now and then I'll go through the settings of a game to try to optimize and get some word/letter salad setting with no explanation of what it does or how it will effect performance. I love it when games have little a help bubble that pops up when you mouse over settings to tell you what the setting sets and how big a performance hit you can expect from the higher options.
Cool video man! Keep it up.
I could listen to the background music for HOURS. Will you ever make a 1 hour mix?
What is the name of the music?
I don't exactly remember when, maybe 4 - 5 years ago, but, I've dreamt of watching this video.
One thing to keep in mind about anisotropic filtering is that all those extra cut-down resolutions take up extra VRAM, which might be at a premium in games that already have a crazy amount of high-res texture and model data to begin with. And also that, in Source at least, those textures aren't even stored in the game files the way the square mipmaps are, but are actually generated by the engine. Presumably because it cuts down on load times. I'd be interested in knowing how it works in other engines. I'd bet that some of them store the aniso mipmaps in the game files, and others store _neither_ version, just the high-res originals.
videos like this are why ive been watching philip since 2015
never click on a philip video this fast, clicked before the thumbnail loaded
Anisotropic 16x is always great. Love using it.
3:14 Survival of the smartest graphics Dell Rig? I love that video its agenda is timeless
Back when I was first playing Half Life 2 on a crappy laptop with a Core 2 Duo and getting somewhere around 15-20 fps, I found that texture filtering was the singular setting I could max out, because it made no difference to my framerate but it did make a noticeable improvement to the graphics. Ever since then, I've treated it as "set it and forget it" turning it to the max that every game will let me put it at. And I still don't really understand why it's even a setting honestly, it feels like at this point it should just be set to 16x (or dare I say, maybe 32x?) at the game engine level and just left there.
It looks like that mid-tier pc had a highend cat on it. Great video, thank you. Sounds like raw resolution is sort of a silver bullet in this case.
epic gamer phillip with the clunch as always
always a treat
2:40 made me laugh so hard, nice vid 3kliks can't wait for the CS2 coverage :D
Is that a new version of Crossing Those Islands at 5:35? Like it a lot!
I always thought it was more of a filtering or better rendering technique for angled surfaces. I didn't realize it was actually using more complex mipmaps.
I believe the use of Parallax Occlusion Mapping in Deus Ex MD causes the AF setting to impact performance more than it should. POM + 16xAF + 4K probably gets ~10% ish less performance than POM + 8xAF + 4K.
By the way, the reason why FSR fixed the partial texture blurring is due to something called MIP bias.
MIP bias offsets the borders where the game switches to a higher MIP level (smaller version of the texture). This increases image sharpness, but can cause a bit of aliasing in textures.
FSR does that because it does a better job with oversharpened textures. Otherwise the FSR result would be much blurrier.
I saw that easter egg at 5:00 where you swapped two and too in the captions!
For years I didnt know that the correct term was "mipmapping", thanks
Something I've always wondered about but never bothered to look up explained in an enjoyable 3kliksphilip video? Lets fucking go.
I appreciate your efforts of adding subtitles to most of your videos. -Unfortunately, this one had the entire transcript at the very beginning of the video. Philip, pls fix.-
EDIT: it is fixed.
Hmm? It works right here with all the timestamps aligned with his speech
@@TheCatOfWarCSGO well, so much for being an early bird. carry on fellow internet denizen. and thanks a lot for letting me know.
Excellent video.
I never knew what this was and always set it to lowest because it sounded to me like changing it could make a huge difference
Been using 16x Anisotropic filtering since when I discovered the setitng. A very quick google search revealed that the performance impact is so little on modern GPUs, you might as well just force it to 16x and forget about it. Back in the DDR and DDR2 GPUs days this could offer a performance hit. But ever since the first GDDR4 and 5 GPUs dropped... it's just not making a significant enough performance difference to lower it because the GPUs can work with anisotropic filtering very well.
I learned what Texture Filtering did from Far Cry 5 because it shows a display of what things look like in video settings.
Thanks Phillip!
i knew what it does, but not that much in the details. Thanks for this science! ❤
Cant wait to watch this new vid❤