Mipmap levels and video memory

That’s ridiculous. It’s one thing to manage 64 1024x1024 textures, and it’s an entirely different thing to manage a 8192x8192 texture.

If you really have to do that, there’s no use complaining that this one huge gob can’t be managed/paged as efficiently as 64 normal textures, containing the same data.

If you want automatic management, provide reasonable granularity. End of story.

I hope there’s no real confusion over which is which. We discussed levels initially and then the subject of granular paging within a level crept in. Both are relevant to the discusison, but it does seem like it was used as a bit of a non sequitur in the debate.

w.r.t. application vs driver paging, I’ve worked on systems to perform application directed paging of memory and it certainly has the potential to perform well through the ability to predict and manage load, but implementation can be difficult.

w.r.t. granularity, this is key, but ultimately leads to different granularities over different MIP levels in a decent system and that can be a real pain in the ass to manage when considering what you have to do with state management MIP LOD calculations in software, geometry subdivision for tiling at different resolutions etc. Elegant hardware solutions help a lot. Getting it right and caring about it has seemed too specialized for some hardware ideas to gain traction.

[This message has been edited by dorbie (edited 02-12-2004).]

That’s ridiculous. It’s one thing to manage 64 1024x1024 textures, and it’s an entirely different thing to manage a 8192x8192 texture.

I didn’t say i had a 8192x8192 texture, to my knowledge no consumer graphics card supports more than 4096x4096. As in battlefield i’m splitting it in 64 1024x1024 chunks, and the framerate is good (actually on my Radeon i get over 150 fps with the grand canyon dataset, a 2048x2048 heightmap and a 8192x8192 texture split in 64 chunks, rendered in Terragen). I’m not discussing framerate issues here, just the amount of texture memory being used in the graphics card when everything is in view. Some chunks being far away, why should the 1024x1024 texture be present in video memory at all since it’s not going to be used during rasterization ? That’s my only point, really…

Y.

[This message has been edited by Ysaneya (edited 02-13-2004).]

It was my fault. I misunderstood what you are doing/what BF is doing. I thought you actually had 64 distinct terrain textures and packed them, for the sake of minimizing state changes or something. 8192x8192 … d’oh!

My apologies.