Main Menu

glMipmap

Started by raft, March 08, 2008, 02:34:01 PM

Previous topic - Next topic

raft

hello,

i've found that setting Config.glMipmap = true has a huge performance boost on my computer. it increases fps up to 3-4 times :o i find this really interesting and wonder if this is the case on all machines.

the performance boost is especially higher when there are many many polygons one after another in a line. for example, run the fps sample, turn back, stand next to elevator and look at the corner to the right, now you are looking diagonally to all level. on my machine fps is ~25 with mipmapping disabled and ~60 enabled  ::) i doubt this maybe because of my stupid video card uses painter's algorithm ?

r a f t

EgonOlsen

No, it's because your stupid video card having only a small caches... ;D Because each mipmap stage is only a quarter of the size of the next higher, it uses less video memory (albeit video mem shouldn't be a problem on simpler scenes) and it makes the texture fit better into the chip's caches. So when the chip is accessing that texture, it can get all the texels right from the caches instead of getting them from the much slower video memory (or onboard memory if it's an onboard chip with shared memory). Therefor, it's usually faster, but on a decent, current video card, the benefits are not that high. What card is that? Intel onboard stuff?

raft

yes, intel on board stuff :/ it is stil interesting. there are only a few textures in that fps sample.

EgonOlsen

I've noticed that on those Intel onboard chips myself. The system's memory is much slower compared to dedicated video memory which is why they suffer from cache misses even more.

raft

i see. what about looking through corner thing ? SW renderer performs almost the same everywhere. i'm just curious about what GL renderer does. where its duty ends and delegates to video card. does it use octree information ? docs says it doesnt use optiZ or other similar settings.

EgonOlsen

Yes, it does use octrees. Basically, the pipeline is very similar until you start to render the actual polygons. OptiZ as well as the span based hsr-stuff are software only. Most graphic chips are doing something similar in hardware nowadays anyway.

raft

so, how do you explain in GL mode looking through corner gets so slower. it uses same octree with software renderer, but software renderer doesnt gets so slow there  ::)

EgonOlsen

Maybe that's caused by the software renderer's hidden surface removal, which helps it in this situation a little bit. You can test it by disabling it and see if it affects performance in this situation. Apart from that, it's hard to tell. On this machine here, it slows down too, but it's still at 500fps compared to 56 when using the software renderer.

raft

nope, it doesnt effect that much. nevermind. thanks for the explanations :)