question about mipmaps

Hi there

I was googling for a bit and I always had this curiosity.

By default, most of my textures have mipmaps on. I’m programming for the iphone and I know that mipmaps take more memory but fixes those interferences on the distance.

My question then is, CPU wise. Is it faster to render my big mesh (it’s a terrain mesh on the iphone) with 1 big texture or use the mipmaps (7 levels of textures i’m guessing) ?

I want the fastest, since I don’t care about the visual difference betweeen mipmaps/no-mipmap in this case.

Yes, mipmaps were created to shorten the time of access to data to the textures, so it should be faster in rendering.
You can just make a test with a very low resolution texture and a high resolution texture on the same object and see the difference.

yes but in the case of a big mesh such as a terrain, it will be using different textures all over the mesh… one for short distance and one for far away = changing textures = more drawcalls
correct?

No no, that all happens in a single drawcall, the automatism of mipmaps is, as far as I know, deeply optimized inside the GPUs nowadays. The GPU just reads the right pixel inside the texture data.
Anyway, you can activate the stats window and check that there are no more drawcalls using them :wink:

I would think so but this is a special case: iPhone and android

are they faster in those?

and stats window is not realistic in thus case because they are emulated and not accurate

And I guess you can’t try to deploy and see fps on the phone right?

Always. Only disable mipmaps if the texture is never seen farther away, such as GUI textures.

–Eric