Advertisement

Horrible texture/object popping

Started by October 21, 2017 11:38 AM
7 comments, last by cgrant 7 years, 3 months ago

What are the commonly used methods that would prevent the texture/object popup in games?

I'm not sure that any actually exist as even the latest SW Battlefront 2 has frequent texture/object popup. If my memory serves me right, I think Gears of War might have had a good solution for this in the form of slightly blurred backgrounds.

Also, why do other devs don't realize that this completely breaks the visual integrity of the game, when did this become acceptable?

3 hours ago, Armantium said:

What are the commonly used methods that would prevent the texture/object popup in games?

Object popup has mainly to do with draw distance which is entirely up to the programmer/s.  Its a performance issue, although in one case I heard it partially had to do with an occlusion culling technique.  You'll notice draw distance as a setting in some games, setting it to 'ultra' usually eliminate object pop up.  Draw distance can be affected by the value of the far clip plane.

Texture pop in has to do with availability of a texture in a device readable format at the time its needed.  Some games don't load all textures into memory at once because there isn't enough memory to fit everything.  Hard drives are an order of magnitude slower than RAM.  So loading something into RAM takes time.  To eliminate pop in you'd need to prefetch textures, which would require you to predict what becomes visible, which can involve predicting what the player does.  Another option is to have alternative textures that are similar to multiple textures and temporarily use those textures while the real texture is loading. 

-potential energy is easily made kinetic-

Advertisement

Thanks, that's a great answer.

Can you remember a single modern AAA game that didn't have terrible pop-in? It's really weird to me that this is being so widely tolerated.

 

It is more like we have to live with it than we tolerate it ! In the past, we did not have much, we put a knife cutting fog close by and stop drawing ( think Turok, Unreal 1 ), now the far clip is usually at infinity and we have to draw technically to the end of world, and we have to do it at higher resolution than ever before.

 

Memory and performance are not unlimited. The hardware deal with performance for texture on the distance, with mip maps, so only memory is an issue with them. Geometry is more complicated, if you draw a thousand triangle model in the distance covering 2 pixels, you will never hit the performance mark, and so we do have LODs. Well done LOD and transition can be impossible to see, but a game amount of asset has boom too, and LODs are more and more automatic geometry processing than artist done, with not enough time to inspect every single case.Then even with LODs, performance may still miss the mark, so the last LOD is just to not draw, hopefully, it happens far enough than you don't see it disappear, especially in complex environment that have the time to occlude it before that, but your world is a desert with a palm tree in the middle, you will have issue here !

 

Then for texture streaming, until we have a terabyte of memory for our GPU, we will have to deal with it, and then we will still have to deal with it because we always want to draw more. 4K need twice the texel density for four times the memory to achieve the proper visual ( no texture magnification ), 8K will be 16 times more ! 

 

The final though on that, most of the time, LOD transition and texture streaming are unseen because they work, but sometimes, you may have trickier location in games challenging your system or possibly all the players carry their own customized character, giving even less memory for the rest of the world. Then failure may happen, textures get kicked out more aggressively for what is on screen and because of that, they need more time to get back, giving even more trouble to the system.

 

My advice, if you do not want to see streaming and popping, play a game that does not need it, like smaller indie games that are likely to fit in memory.

In theory we can avoid popping by blending texels and geometry, but in practice we won't yet:

Detail reduces to one half (over the thumb)

Need more complicated geometry processing which has a performance cost.

Need to have at least two LODs in memory and process them both.

Put's more constraints on offline asset processing, which is already hard.

 

So, the situation will improve in the future like with everything else.

3 hours ago, Armantium said:

Can you remember a single modern AAA game that didn't have terrible pop-in?

 

2 hours ago, JoeJ said:

In theory we can avoid popping by blending texels and geometry, but in practice we won't yet

While not exactly blending, several modern games do try to smooth out LOD popping by using a dithering-like effect. Here's a blog post on how Assassin's Creed 3 does it; Far Cry 4 uses a similar effect, and maybe GTA V too?

Advertisement
4 minutes ago, dietrich said:

While not exactly blending, several modern games do try to smooth out LOD popping by using a dithering-like effect

I've noticed this in Quantum Break and FarCry / Nier... QB seems to improve it with some TAA like technique and i really like the result - best LOD switch i ever noticed. It would be interesting to get something with a temproral effect alone - without the need to render two LODs, but i assume the duration we can get is too short in practice. (QB has a duration of about 0.5 seconds, maybe they do it indeed just by postprocessing.)

But rendering 2 LODs really seems a waste. A better way would be to have geometry that consists of both LODs (lerp vertices from a fused to a seperated position for more detail), but this has all the downside mentioned above. Anyone knows a game that used such a technique already for enviroments and not just characters?

 

Until there is unlimited resources for rendering ( processing power, memory etc ), there will always be tradeoff in rendering. Devs usually choose the lesser of 2 evils. Nothing is free, but step can be take to minimize the visual anomalies. You can use some form of progressive mesh for all visual representation, but then you pay the price in requiring more processing power to do so...so would you prefer a game that doesn't pop, vs one that runs like 'you know what'. I agree its can be distracting at times, but for the most part this shouldn't be a show stopper for any good game ( unless you are more interesting in how the game looks vs the story. ). Ex..and this is just my opinon/preference. Assassin's Creed ( the first game ) on XBox 360 , was so bad that characters (NPC) would pop into the scene almost right next to you, but it did not ruin the experience for me as the game itself was more engrossing that I was able to overlook those issues..

 

This topic is closed to new replies.

Advertisement