Cities Skylines II renders invividual teeth of all human models
twitter.com
twitter.com
"Citizen lifepath feature does not tie to citizen geometry and does not affect the performance figures of the characters," the statement reads. "We know the characters require further work, as they are currently missing their LODs which affect some parts of performance. We are working on bringing these to the game along general LODs improvements across all game assets. Characters feature a lot of details that, while seemingly unnecessary now, will become relevant in the future of the project.""
The tweet reads:
> apparently one of cities skylines 2's many performance issues is that it uses high poly models for each of the thousands of people walking around your city. including their individual teeth
And the screenshot reddit post says:
> The game does DOES render individual teeth with no LOD as far as I can tell.
The "denial" fails to deny that the high-poly citizen characters includes teeth, and acknowledges that the citizen characters do not have an LOD. Those are, like, the only two claims at issue.
> We know the characters require further work, *as they are currently missing their LODs* which affect some parts of performance
That's not a denial. That reads to me like they're agreeing with the statement that there is no LOD.
> Characters feature a lot of details that, while seemingly unnecessary now
While they don't explicitly deny or affirm that these high-quality character assets have individual teeth, this sentence seems...suspiciously close to an acknowledgement that there are "details" included in these characters that "seem unnecessary". I wonder what details they might be referring to, though?
If anything this statement confirms the issue. We know for a fact that these high poly toothy models are in the game assets. And the statement confirms that citizens are missing LODs, which are the lower poly models which should be used when the camera is far away. In other words, if a citizen is rendered then it's the high poly model which is rendered. The one with the teeth.
Cant exactly remember the phrasing or terminology but worth nothing
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.
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.
I agree as to the individual teeth, but in aggregate rendering the "high quality" model (thousands of triangles) for lots of small characters that usually appear off in the distance instead of the "low quality" model (tens of triangles) could drive a pretty non-trivial performance hit. As far as the teeth go, they're a pretty small factor overall, but I would imagine having no LOD on characters that are usually small and distant is a significant performance issue.
geometry instancing makes even complex models transfer to the GPU quickly (when measured per instance) when you send them all in the same draw call, but sending a few LODs in a few draw calls will take less time to rasterize, yes.
problems in this space are very fun to work on and think about, to me. that's why I work on completely different things. I'd hate it if I did it full-time.
I might have just over-interpreted how small you meant by "minuscule". I'm not sure what other performance problems exist in that game specifically, too, which could impact it.
> 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.
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.
If the game is rendering teeth at a distance that's a bug with their dynamic LOD. Having teeth on the model in the first place is not a bug.
> The game DOES render individual teeth with no LOD as far as I can tell.
So, yes, the lack of LOD for the individual characters is the issue being raised. The development released a statement acknowledging that the citizens don't have LODs at all:
> We know the characters require further work, as they are currently missing their LODs which affect some parts of performance.
So, it seems less of a "bug with their dynamic LOD" and more of a "they didn't implement dynamic LOD for the citizens at all"
Second is gpu bound, which is odd as they extended the simulation depth side of the game. There are definitely serious underlying issues.
I was looking forward to getting it, especially after fiasco of Kerbal Space Program 2