top | item 38101416

(no title)

fattless | 2 years ago

This blew up on twitter, but i heard a few industry people note that during play this type of object isnt actually rendered unless visible. Still bad, but not why the game preforms so poorly.

Cant exactly remember the phrasing or terminology but worth nothing

discuss

order

efields|2 years ago

That's what I was assuming. Camera is so far away it just wouldn't get rendered.

Aside, anyone else noticing more 'one-shot' posts here? Links to tweets, etc that don't really say much besides 'this is a thing.'

Not necessarily bad, but I don't find myself spending as much time with HN links as I used to.

ncallaway|2 years ago

"Camera is far away is it just wouldn't get rendered" is...not quite right.

If the view-frustrum of the camera includes the model, it will typically get rendered.

What typically save performance in these games is a system called "LOD" or "Level of Detail". This typically means that an asset (say the 3D model of the citizen) might have a few different qualities of 3D model. One "high quality" model that should be used when the character is close to the camera, a medium quality one when the character is kinda-far, and a super low quality one when the character is way off in the distance.

What the tweet and screenshot reddit post are claiming is that this LOD system is not present for these citizen characters, so when one is far away, they are still rendering using the high quality model. The GPU still needs to do all of the rendering work required to draw the high-quality model, even if it ends up being far away.

swatcoder|2 years ago

> Aside, anyone else noticing more 'one-shot' posts here? Links to tweets, etc that don't really say much besides 'this is a thing.'

> Not necessarily bad, but I don't find myself spending as much time with HN links as I used to.

A generation raised on retweets and other one-click shares now walks among us professionals and peers. Stuff is going to change as they becomes a larger and larger share of the community. It’s the same reason we see more video posts with the requisite complaints from my fellow greybeards about how they swear reading is a lot faster and easier.

But the curiosity is still there and good, depthful discussion still happens in the comments, so I think the community is staying healthy through these changes.

naikrovek|2 years ago

it's not even a distance thing. that would be LODs which are apparently not done for human models.

Occlusion culling and frustrum culling are what are used to choose what is outside of the camera's view, because of either obstruction (a model is completely behind another and is therefore not visible) or is simply outside of the field of view of the camera. That turns whole models on or off, though, and not parts of a model.

The teeth are rendered, but because of how draw calls work, the performance impact of the teeth is miniscule compared against the overall performance profile of the entire game.

atomicUpdate|2 years ago

Presumably you're referring to culling because the triangle is occluded by some other object being in front of it. However, that still involves processing the geometry to determine the triangle is being occluded (and thus, can be discarded partially or entirely). Rather, a low LOD object shouldn't even include the geometry in the first place, reducing the amount of work that needs to be done overall and improving performance.

AnotherGoodName|2 years ago

It's dynamic LOD and every modern game has it. These days you're encouraged to make the models detailed so they look good close up. Dynamic LOD will cut back the detail when zoomed out. There's surprisingly very little performance hit over having low poly models from the start.

duped|2 years ago

I know close to zero about this so bear with me, but isn't there a cost to reading the models off disk and deciding if they need to be rendered? Memory bandwidth isn't free.

AnotherGoodName|2 years ago

Models are Kb in size and insignificant to textures though. It's common practice to load up detailed models and let game engine dynamically adjust LOD. It doesn't hurt performance much at all.

mvdtnz|2 years ago

In the case of Cities Skylines unfortunately it appears that the full model is in fact rendered with no LOD.