Good hardware in gaming has somewhat become a waste of money because often the bottleneck is just bad unoptimised code, and if you had worse hardware you'd be happier compromising; meanwhile good game engines (like id Tech) fly on any modern hardware.
> and if you had worse hardware you'd be happier compromising
hah, when the game in my original post was new I was running it on garbage tier hardware. I got spoiled when I had a top of the line GPU. Nowadays I have to run it like I still have decade old hardware to get decent perf.
How many Joules have we lost to Microsoft C++ vs. LLVM for example
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.
In previous console generations things were harder back then as each platform's code was more different than now.
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.
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.
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 ) - 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.
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).
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.
There was a time when Intel and IBM (PPC) compilers where unbeatable, but I don’t know if that’s the case anymore with the amount of investment done on LLVM in the past decade or so.
Its hilariously badly optimised but so inutterably brilliant that there is nothing* else that compares, it's a genre of 1* - kind of ironic that the game I really look forwards to playing after I upgrade backend of this year next will be a decade old.
We need all the performance we can get, because even if it was the worlds most optimized engine, we'd just create bigger scenarios. Who wouldn't find a 10,000 unit mission fun, even if it was only at 40fps? :)
Inutterably brilliant and a genre of 1, I couldn't agree more.