4 ms·
No game engine can save a game from someone dedicated to being inefficient, like rendering high poly teeth on pixel tall models.
by BryanLegend 3y ago
No game engine can save a game from someone dedicated to being inefficient, like rendering high poly teeth on pixel tall models.
- kalleboo 3y agoI would have assumed the game engine would be responsible for culling occluded objects. Isn't that one of the most basic parts of a 3D renderer?
- kfarr 3y agoYes I would expect that from a 3d engine that I pay a license fee towards, but I also expect the developer to performance test and fix some of these things before release
- ThatPlayer 3y agoDeveloper prioritize features and fixes. You don't know if there were worse issues before release. It should be on the managers and the publisher to set reasonable timelines and delay release when it can't meet expectations.
- meheleventyone 3y agoOcclusion culling is pretty usecase dependent if you want a performant solution. Unity implements frustum culling and Umbra which is a pre-computed solution. The latter is probably not great for CS2 and the former is basically the minimum. Unity have definitely slept on introducing more alternatives though.
- brrbrrbrr 3y agoEven if a 3D object is culled by the renderer, the mesh is still loaded in memory
- codeflo 3y agoFor a zoomed out view with tiny people walking around, that would be mostly be a case for LOD, not culling. That is, you wouldn't render a highly-detailed character model and cull out each tooth mesh individually, which would still be very expensive, but you should render a simplified mesh to begin with.
- kalleboo 3y agoIn the case of this game, the mouths were never open, the teeth were never visible at all. Which is obviously a massive failure of the developers (using a prefab model with a ton of completely unused detail is a waste of everyones bandwidth, storage and memory), but the teeth should at least never be rendered by the engine.
- garblegarble 3y agoFor anybody else reading this and thinking (like I did) that these comments about teeth are a deliberately silly example invented for the purpose of this discussion - it turns out that Cities Skylines 2 really did have NPCs with teeth in their models, per this[1] story from up the thread. 1: https://blog.paavo.me/cities-skylines-2-performance/ https://blog.paavo.me/cities-skylines-2-performance/
- mholub 3y agothis is very computationally expensive to do such operation (to understand that teeth is completely occluded by something else like mouth) this is called occlusion culling and usually it brings a lot of problems on its own (it's CPU intensive and you need to apply it smartly only where it helps) and even if this occlusion culling would be cheap, the way how it is usually done requires precomputing a lot of data - so occluders are static geometry since character head is skinned mesh - so dynamically changes every frame based on joints positions - that will be another level of complexity game engines are not really helpful here
- pdntspa 3y agoConsidering how long it takes to load games like Battlebit (super low poly 3D) or Graveyard Keeper (2D), speed/efficiency/optimization is not something I expect to see much of with Unity. While there are exceptions, its performance seems pretty consistently bad.