Page 1 of 1

SH texture benchmark (060225)

Posted: (060225)(05:02.33)
by LDAsh
I finally got around to cheesily benchmarking the textures for performance comparisons and I thought I'd make it public too. As you can see by these 2 shots the idea of the compromise in performance balances out the enhancement of quality, so you get pretty much what you pay for by doubling texture scaling and having detail mapping and environment mapping together, the numbers do add up but the end performance is reasonable and the engine handles it quite responsibly so far, so the good news is that these features can really be pushed for posterity, even finer/bigger qualities than this and I'm confident Carmack's wonder-machine will perform to balance out, just like his older engines have been capable of. So here's the results of my tests (using r_showprimitives and com_showfps cvars) on my PC at maximum quality settings on everything except antialiasing:-

http://www.violationentertainment.com/t ... mark_a.jpg
14fps. This is what we're using, 2x texel scale, 8x8 detail mapping and use of environment mapping/cubemap reflections. The texture on this checker-box-lattice-thingy is 512x512 and of course includes diffuse, specular and normalmap of the same size/texels. These are pretty tight texels about the same as Half-Life 2 as opposed to most of Doom3's being twice as big/stretched, and in some cases even more stretched out than that. With our project, we will push texel detail even tighter in some cases. If you combine that with the use of detail mapping on an even tighter scale, and the right media combination, you end up with a texture that is very difficult to tell where it starts and ends, with texelation not obvious at all.

http://www.violationentertainment.com/t ... mark_b.jpg
26fps. Normal 1x texels, no detail or reflections at all, it's a single-pass shader of just the regular diffuse, specular and normalmap at 256x256. Because including reflections and detail mapping makes the other one a multi-pass shader you can see that the actual triangle count increases to roughly double, which is a good thing because in theory it should triple being that the shader has 2 extra passes in it for both detail and reflection, but we manage to get away with it merely doubling so that's a good thing already. There's a minor difference in the number of draws from 30 to 37 and I remember reading, for whatever reason, this is a major factor in performance impacts, so we're safe there, I think that has more to do with lights so I'll do some tests soon with that too. The amount of texture data it needs increases a lot, from 2Mb to 6Mb, which sounds about right given what it's rendering there, but this doesn't seem to have a whole lot of impact on my framerate. This may differ on various setups, I'm not very sure, some cards simply may not handle those numbers and I'm not sure how to make sense of them comparatively, but my PC is nothing real powerful by current standards and I'm pretty happy with the give and take on the whole matter. I feel like it's 3 for the price of 2.

My system:-
VID: PowerColor RADEON 9700 128MB DDR (catalyst 6.1)
CPU: AMD Athlon 2700+ XP 2.133Ghz
RAM: Kingmax 1024MB 400MHz DDR Non-ECC CL3
MOB: Gigabyte GA-7VAXP VIA KT400 DDR400
OS: WinXP Pro 5.1.2600 SP2 Build 2600