What the Linear...?!

Status
Not open for further replies.

Gemini

Member
I'm fairly certain this isn't a bug with SRB2 but something strange about my video card and SRB2 is simply the game I was playing when I noticed this.

You see, I always run SRB2 in OpenGL mode, and thanks to my GeForce FX 5200 card, coupled with a 1 Ghz system and as much RAM as Win98 SE can handle I can play SRB2 at insane resolutions, in 32 bit color, with all the fun graphical effects (including fog) and still maintain a framrate above 20.

But, while playing SRB2 today something strange was happening. My framerate was dropping really low in places it should've been fine in. I wondered if perhaps my 3D settings weren't correct and I noticed my texture filtering mode was set to Bilinear. "BILINEAR?!" I thought, "That's not good enough!"

So I set the thing to Trilinear, expecting my framerate to drop even further...

...my framerate IMPROVED...

"WTF?!" Was my next thought as I played the game with Trilinear filtering at a much improved framerate. "Trilinear is BETTER than Bilinear, why is the framerate higher?"

And I wasn't just imagining the better graphics either. By setting it to trilinear all textures at long range looked nice and smoothed out as opposed to that curved-plus-symbol effect you get when you dramatically reduce repeated texture sizes.

So either my video card is too powerful to handle bilinear as well as trilinear or something messed up is happening in SRB2, though based on what I know about OpenGL rendering I'm willing to bet it's my video card that's simply optimized for trilinear texture filtering.

Weird... I should test this in my other OpenGL games that allow me to choose the filtering method...

--- Gemini
 
Trilinear turns on Mipmaps. Mipmaps are faster for video cards to process.
 
That would explain a few things then. I tried testing my framerate in other games but the difference in framerate between bilinear and trilinear was unmeasurable.

Perhaps mipmapping should be a togglable option in SRB2? That way it could be used with the bilinear, linear, and nearest texture filter sets? Or at the least, a console option that is enabled by default if the video card reports it can handle them?

--- Gemini
 
Frankly I'd just like it to REMEMBER the value I had for that varaible. I prefer to use Trilinear, but it likes to switch to Bilinear every time I start it up.

Nothing earth-shattering, but an annoyance nonetheless.
 
I don't like what trilinear does to the floors and ceilings. I suppose it might look right though if you crank up your card's anisotropic filter.
 
There's a "vid_" command that will graph your framerate in a really hard-to-see color, but short of that I've learned how to eyeball framerates. No one believes me when I tell them I can tell the difference between 60 and 120. The average person loses their ability to distinquish after the 50 or 60 mark. 24 is the point where we lose the ability to distinguish individual frames. (That's why movies are done at 24, so that they use as little film as possible to maintain the illusion of pure movement.)

And yes, unless you have a great video card with its graphics qualities maxed out you can get some ugly floor and ceiling effects with lots of filtering, but some people would rather have preformance than floors and ceiling that look better many metres away.

The way I have my video card set the floors and ceilings in SRB2 don't begin to look ugly in trilinear unless they're about 3/4 of the distance away as one turret to the next along the edge of the conveyor belt level.

--- Gemini
 
I have a laptop LED screen, so it takes a long time to "fade into the next frame", so I can distinguish between individual frames... oh, I'd say up to about 60fps or so.
 
Actually, that's called "response time". The pixels in LCD screens require a certain length of time to change from off to on or anywhere inbetween. The time it takes to go from completely off to completely on is measured as the response time.

On newer LCD monitors the response time is nice and fast, like about 12 to 25 milliseconds, so you would never notice it unless your framereate was super-high and you could somehow distinguish a 0.025 second fade of a single pixel from white to black or vice versa.

Needless to say the older and less advanced the LCD, the longer the response time will be. I have a Toshiba 100 Mhz Pentium laptop... old to say the least. It's one of the first systems with a high-resolution (800x600) color LCD. The response time is about 800 ms. That means it takes almost a full second for any pixel to change from completely black to completely white. This creates a ghosting effect that makes it look like an application on the monitor is running at a poor framerate when in fact our eyes are simply zeroing in on frames that have similar pixels because those pixels will not be changing in color as dramatically as white to black and thus will change faster.

Or simply, you're not actually distingusihing individual frames, just frames that look alike.

In fact, if you get old enough with CRT technology you can also see ghosting effects, especially in dark rooms, but it's nowhere near as apparent as with old LCDs and modern CRTs have extremely high response times. (CRT and LCD are wildly different technology.)

Then of course you have plasma technology, but we won't get into that since only the super-rich can afford those! ;)

--- Gemini
 
It's my good ol' '98 laptop. So THAT's what it's called... Response time... Ok.
Now, I wonder what mipmaps are. I know what bumpmaps, texture maps, HEX maps, color maps, geographical maps, and topographical maps are, but I've never heard of mipmapping.
 
Mipmapping is the process of making scaled-down textures to use at further distances so that you don't get graphical artifacts as a result of having a fixed resolution.

...That sounded way too complex...

Ok... think of it this way. Let's say you have a really large, intricately detailed texture for a wall. Now, the further you are from this wall the less of the intricate detail you are going to notice so it would be a waste of power to process that detail. What Mipmapping does is it takes that texture of the wall and makes several smaller versions of it, each one smaller than the last, and switches between these smaller textures depending on how close you are so that it only processes as much detail as it needs to.

Depending on the number of mipmaps you use you can significantly speed up texturing of objects provided your video card has enough RAM to store all the extra textures generated by mipmapping. (This is why turning off mipmapping in older games on systems that barely meet the video card requirements can speed up a game remarkably.) Of course, you can only make the texture so small and you can only get so far away from it.

That's mipmapping.

--- Gemini
 
*shrugs* I guess there's some similarities but being someone who works with 3D art and has a little (though not much) OpenGL experience I don't personally think they're anything alike, but the output result is similar. (A focal blur would also affect the edges of the surfaces the textures are on to mimic real camera lenses, whereas mipmapping directly affects the textures only and is primarily to improve processing speed and not provide extra realism but in fact reduce detail.)

--- Gemini
 
Status
Not open for further replies.

Who is viewing this thread (Total: 1, Members: 0, Guests: 1)

Back
Top