6 ms·
It's kind of stunning that a game of this magnitude is able to go out the door without model LOD. I suppose the fact that it runs at all is stunning -- surely
by xyzzy_plugh 3y ago
It's kind of stunning that a game of this magnitude is able to go out the door without model LOD.
I suppose the fact that it runs at all is stunning -- surely you could not get away with this a decade or two ago -- but perhaps it speaks to the incredible capabilities of modern hardware. This feels a bit similar to the Electron criticism, where convenience ultimately trumps performance, and users ultimately don't care. I wonder how this will play out in the long run.
Bizarre and at least for me, equally sad. I long for the days of a tuned, polished game engine squeezing every inch of performance out of your PC.
- Pannoniae 3y agoDon't forget the part where they use web tech and waste draw calls like crazy on the UI. These things should literally be banned. edit: not web tech should be banned, but releasing a game with horrible optimisation like this, either by the store selling the game or by the law
- chc 3y agoUsing web tech for the UI isn't a problem here. The article, when measuring the performance impact of different rendering phases, describes the time the UI requires as "an irrelevant amount of time."
- capableweb 3y agoWhere are you getting this from? I'm literally sitting with the game open right now with the Chrome Devtools connected to it, and I'm seeing no unnecessary modifications on the DOM side of things. Could be that the integrated the Gameface library incorrectly I guess? Still interested in more details from you.
- Pannoniae 3y agoDirectly from the article: "The last remaining draw calls are used to render all of the different UI elements, both the ones that are drawn into the world as well as the more traditional UI elements like the bottom bar and other controls. Quite a lot of draw calls are used for the Gameface-powered UI elements, though ultimately these calls are very fast compared to the rest of the rendering process. " With this minimalistic, flat-style soulless UI, the correct number of draw calls spent on UI should be single digits....
- capableweb 3y agoNot sure what kind of projects you've worked on before, but the ones I've been involved in, you wouldn't spend time optimizing something taking <1% of render time when other parts are heavily affecting the final render time for each frame. Why on earth would they try to optimize how the UI renders when they're having big issues elsewhere?
- Pannoniae 3y agoSorry, my initial comment probably come off quite differently. It's not that "using web UI" is the reason why this game has awful performance, that's more like a bellwether for the studio's priorities. It's absolutely not the most important, or even in the top 10 most important problems here, but it shows really illustratively how much they care about making a game which performs in an acceptable way. (which is: not that much) Also, it's not even one or two high-poly models dragging the performance down, what I was aiming at is that the game suffers from death by a thousand cuts - the LoDs are only a part of the issue, almost every part of the game is done in a sub-optimal way. So while the UI is not a significant part of the frame time, if they fix the most glaring performance issues, they will find that there won't be a silver bullet, the game is just a pile of small performance problems all the way down.
- jsnell 3y ago> It's not that "using web UI" is the reason why this game has awful performance, that's more like a bellwether for the studio's priorities. All it shows is that optimizing something that was already fast enough was not a priority. But why would you want it to be?
- kbelder 3y agoSometimes you can take those small design decisions as indicative of how decisions are made in a company. I remember back when Apple removed the SD card slot from their phone. It wasn't a deal-breaking change, because their phones had lots of memory built in... but at the time, it seemed to me that the decision makers that did that, would continue to make similar decisions, each one making me unhappier and unhappier. So I bought accordingly. And I feel justified in retrospect. Way back in the design stages of this game, somebody though that using web tech for their UI was a good idea, and it didn't get vetoed. That indicates bad judgement somewhere in the chain. Who knows whether it's developers, managers, or what... but the best predictor of bad decisions is previous bad decisions. It's at least a dysfunction smell.
- rstat1 3y ago"Quite a lot of draw calls are used for the Gameface-powered UI elements, though ultimately these calls are very fast compared to the rest of the rendering process." Literally quoted from the article. Standard 2D UI like that can be done in as little a single draw call (or so I have read, never actually done it)
- lyu07282 3y agoIf you composite on the CPU I guess? no that React/Webpack UI is actually a pretty good solution to complex game UIs. It offers great DX while the performance penalty is miniscule compared to a huge deferred render pipeline. Btw the last Sim City used the web platform for UI too.
- rstat1 3y agothe last Sim City is not something that should be held as a model of what to do here. Great "DX" now when your building it, but good luck maintaining it over the long term.
- johnnyanmac 3y agoEhh, I've had ideas to try and bridge the web stack to game development. As much as I hate JS, I've hated every other GUI system in games even more, except IMGUI (which isn't necessarily flexible enough for production UI). So why not utilize the decades of knowledge from an industry who's entire paradigm is improving UI workflows. Of course, it's a butt ton easier said than done, but if the industry could utilize flash for years after it died, I see a glimmer of hope. >releasing a game with horrible optimisation like this, either by the store selling the game or by the law you really want the government to regulate video games because you can't run a frame in 16ms? Talk about a slippery slope.
- hypeatei 3y agoValve/Steam should really have some policies around unfinished or unpolished games so that they are forced to be marked as "early access" It is absolutely ridiculous that these developers can get away with releasing a beta (essentially what it is) and setting the full release price without the end user knowing they're a guinea pig.
- chc 3y agoThey let you return the game no questions asked if you haven't played it for two hours.
- hypeatei 3y agoTrue. Marking it early access would just save more peoples time and be more explicit about the current state of the game.
- athorax 3y agoValve/steam should absolutely not be doing that
- hypeatei 3y agoWhy not? They're still able to list the game and sell it. I don't see the issue with making it more clear to end users that they're beta testing a game.
- rychco 3y agoWhy not? There's already a hardware survey & they could easily have an opt-in system that reports the user's average framerate while playing games. If the average hardware specs can't run that game >=60fps >=90% of the time on any graphical setting then it's beyond fair to give it a "Hardware reports indicate that this game performs poorly" label.
- solardev 3y agoI like that!
- mvdtnz 3y agoIt's stunning and completely unacceptable. This is a product that is not fit for purpose. I hope the developers are embarrassed by what they have produced.
- TonyTrapp 3y agoThis is rarely developers' fault. You can bet they wanted to deliver the best product possible, but were not given the time needed to do that by upper management.
- hipadev23 3y agoWhy is it impossible that maybe Cities Skylines simply has shitty developers?
- vore 3y agoBecause if you've worked on any large scale software project, technical issues like this are almost always because of priorities and timeline.
- johnnyanmac 3y agoNot impossible, but it's an shallow dismissal often used by consumers who don't know how the sausage is made. Large claims require large proof. IME, the games industry isn't like other pieces of the tech industry where, say, 30% of devs clock in and clock out, collecting a paycheck. it's much rarer (but not impossible) to find someone still in the industry after 5+ years and not passionate. The churn is enourmous and the kinds of management in there are always pushing to get more out of you. You don't stick with that because you are low quality or lazy. You do it for the people you work with or the product you work on. Naively, perhaps. But there is certainly fulfillment you get out of it.
- mvdtnz 3y agoI didn't blame the developers. I have been involved in projects that I'm embarrassed by even though the worst decisions were the ones made by upper management (hell I worked on the new Jira front end, a continuing source of humiliation).
- tlonny 3y ago> I long for the days of a tuned, polished game engine squeezing every inch of performance out of your PC. Have you heard of Factorio :)
- waveBidder 3y agohow do they keep finding things to improve in their FridayFunFacts? the fame is an absolute gem
- deleted 3y ago[deleted]
- rkagerer 3y agoCan someone expand on exactly what is meant by "model LOD" in this context? Does the commenter mean they should have implemented a system to reduce texture resolution or polygon count dynamically, eg. depending on what's in view or how far away it is? That the artists should have made multiple version of assets with coarse variants removing things like computer cables from desks in buildings?
- davedx 3y agoYes, that. It’s short for “level of detail”.
- navjack27 3y agoTraditionally that is a thing that is done by modelers for video games yes.
- capableweb 3y ago> Can someone expand on exactly what is meant by "model LOD" in this context? Back in the day, games just had one version of each model, that gets loaded or not. Nowadays, games with lots of models and huge amount of detail lets each model have multiple different versions, with their own LOD (Level of Detail). So if you see a tree from far away, it might be 20 vertices because you're far away from it so you wouldn't see the details anyways. But if you're right next to it, it might have 20,000 vertices instead. It's an optimization technique to not send too much geometry to the GPU.
- solardev 3y agoThere were already some great explanations in the replies, but here are a few videos too: Basic overview: https://www.youtube.com/watch?v=mIkIMgEVnX0 https://www.youtube.com/watch?v=mIkIMgEVnX0 Or a more detailed one: https://www.youtube.com/watch?v=TwaS5YuTTA0 https://www.youtube.com/watch?v=TwaS5YuTTA0 It's been a standard technique in video games for... decades now.
- Zetobal 3y agoThe last one wasn't better either... most games nowadays have game breaking bugs at launch.
- pzlarsson 3y agoIt is astonishing indeed. In the long run I hope software catches up with the majority of other industries which has already realized that minimizing waste is a good idea. It might take a while but unless we get room temperature super conductivity or some other revolutionary tech first we will start thinking about efficiency again sooner or later.
- asdff 3y agoI don't remember game engines ever being polished and tuned. If you needed optimization it was always on the community to figure it out. Usually they'd do a good job though and make it go up 10 fold compared to what the game devs came up with.