4 ms·
> I suspect a lot of games leave a fair amount on the table. I worked as a programmer for a AAA game. My feeling is that there needs to be someone in the team
by FartyMcFarter 5y ago
> I suspect a lot of games leave a fair amount on the table.
I worked as a programmer for a AAA game. My feeling is that there needs to be someone in the team with enough influence who cares about optimisation enough to invest a lot of time on it.
After working on the game for a while I had enough political budget to spend time fixing ocasional frame stalls that annoyed me, which felt nice. I also worked a bit on general optimisation, but mostly on stalls. There were definitely lots of people who cared about performance, but this probably varies from studio to studio. If I hadn't done this, I'm sure someone else would have fixed some of them, but not necessarily all of them.
Let's also remember that lots of teams are under tight pressure and deadlines to deliver features and they may not have time to work on performance even if they want to - and if you're using an external engine, this gets even harder to work on.
Anyway, just my 2 cents, maybe other people who were in similar contexts will chime in with their own experiences.
- nollbit 5y agoAnother issue with game dev for games that release on PC is that devs are usually on very high-end machines. NVMe RAIDs, 3080's, etc. Great for productivity, but there's very little dog fooding on low-spec machines.
- FartyMcFarter 5y agoThat is true. The game I worked on was also on PS4 and Xbox One, which are both somewhat similar in architecture to a PC (at least in terms of CPU performance), just slower. If we could make the game perform well on the XB1, we knew it most likely would do well on PS4 and PC as well. But you're right, there could be PC-specific issues that would only show up on low-spec PCs. In previous console generations things were harder back then as each platform's code was more different than now.
- iforgotpassword 5y agoI have been deeply impressed with the unreal engine over the last few years. If a gaming studio picks it, chances are much higher it works well on mid- to low tier machines. It's incredible how well optimized it is. It probably takes the "looks per CPU/GPU cycle" crown if that is a thing. ;-)
- ehnto 5y agoI just can't picture how performance couldn't be one of the milestones, surely it's common to have a minimum performance target at least?
- FartyMcFarter 5y agoGames are a realtime application, so there's always a performance target and some performance work unless the game is very simple. All professional game developers are conscious of performance to some extent. On the other hand, games are not hard-realtime - if the framerate sometimes drops below the target or there's the occasional stall, not all teams will care enough or be able to fix that. In my post above I was talking from the perspective of going the extra mile and trying to make performance really good, which not all games do.
- ehnto 5y agoAh I understand, so in the circumstance you're thinking of it does generally run quite well, but there might be hitches or areas of lower performance that would take a bit more work to get performing perfectly. Without someone directly responsible for those areas as that are changes hands a few times no doubt, eventually it's reached launch time and no one took responsibility. I recently started working with a large organization and it's made me empathize with how these behemoth pieces of work can miss seemingly obvious issues. People probably noticed, but no one did anything about it since it wasn't in their work stream anymore.
- kllrnohj 5y agoThe minimum performance target is usually 30fps (more common) or 60fps (less common) as that's all that a consoles budget usually allows. All you need is one thread that comes in just under 32ms on a PS4, but maybe doesn't scale all that well. For example, it's a task that's heavily memory bandwidth or latency bound, which isn't really all that much better on modern top-end desktops. Bam, now you have both a "badly optimized" game and one in which all performance targets are achieved. Which is not really all that unlikely of a scenario. Just look at the absurd gains that the 5800X3D achieves in some engines over the 5800X, despite the X3D running at lower clock speeds. GTA 5 is a good example here ( https://youtu.be/hBFNoKUHjcg?t=885 https://youtu.be/hBFNoKUHjcg?t=885 ) - the 5800X3D achieves the highest fps on that at 171, a staggering 40 fps higher than the 5800X (by comparison the 12900K is 154fps). Something about that engine just slams into a memory bandwidth/latency wall, at which point it just stops scaling.
- mhh__ 5y agoThe types of games I'm thinking about are actually non-trivial Indie/niche games. I won't name it but there's a simulator game I play thats very detailed but technically just screams like at some point they either didn't know or didn't have time to care about architecture then just winged it so now you have huge amounts of logic dumped into a basically single-threaded program. I trust game engine developers a lot, I trust game developers in general not all that much - making games has a very tight feedback loop so a lot of them don't sit back and do it right rather than passing "tests" (not that games have tests most of the time).
- FartyMcFarter 5y agoI see - I think it's my bias as well as seeing a lot of people complaining about AAA performance that led me to reply the way I did :) Your example sounds like it could be caused by a program outgrowing its initial design and might almost need a complete rewrite in order to improve, which is an unfortunate thing that happens naturally sometimes.