I've decided to make the single TMU path fully functional, so you'll get dual sky layers, fullbright colours and even a bit of VBO/primitive batching optimization with it. It's been interesting to bring it on, as I had always wondered how performance would compare given the VBO/batching optimizations, versus there being less texture changes, and whether in these times even continuing to have a multitexture path was worthwhile.
Well the answer is in, and the result is that the single TMU path is capable of rendering big complex scenes quite smoothly, but even there the multitexture path utterly decimates it - we're talking about roughly double speed with multitexturing enabled (it's less in simpler scenes, but still faster).
My current reference "engine killer" scene is this one, from ne_tower: about 3,000 wpoly and close on 14,000 epoly:
On my test machine it pulls FitzQuake down to about 7 FPS. DirectQ with -nomtex gets 55 or so, but DirectQ using the multitexture path scales the giddy heights of 100.
Having said that, it may be the case that your hardware is different and that you have a genuine need for running with -nomtex; if so, then it will be there for you, but you really should try the full path first and only use -nomtex if you've proven that you need it.
I mentioned 2D drawing. One minor change here is that I've set the default texture filter mode when the console/etc are at the full scale to no filtering. This completely eliminates blurry and faded 2D graphics, and restores the vibrant colours of software Quake. Because the graphics are being drawn actual size they don't need any filtering so there is no visual degradation from this.
Of course everything is smaller in that mode, but because the graphics (and especially the text) are crisp, clean and legible, they're actually easier to see (and easier on the eyes). It's almost like putting on a pair of glasses for the first time: suddenly everything snaps into focus.
Scaling up the graphics will revert to bilinear filtering, as it's necessary to prevent everything becoming a worse mess, but will also revert to blurry and faded graphics. Nothing I can do about that; contact your local 3D card manufacturer and complain to them about the need for better filtering modes.
This needs some further work to integrate properly with external textures (as I've also needed to change the texture addressing a little), but it's been one of the most worthwhile changes.
It's funny how things change. When GLQuake first came out bilinear filtering was DA BOMB DOOD and absolutely everything had to have it, even to the extent that some of the glaringly obvious failings of GLQuake were overlooked because - oooh! - look at the pretty bilinear filtering! It's only now with the benefit of experience (and that the novelty has worn off) that we can see that it's not always all that it's cracked up to be, and that there are even certain cases where it could be reasonably claimed to be actively evil.
Monday, April 19, 2010
Single TMU Path and 2D Drawing
Posted by
mhquake
at
10:13 PM
Subscribe to:
Post Comments (Atom)
0 comments:
Post a Comment