CharlesGrey: So it's really that much of a mess? Is it just a matter of how much a dev team can spend on optimization, in terms of money and workforce? And I know that older hardware, such as older generations of GPUs can be wildly different from modern ones, but there shouldn't be much difference between cards from the same gen? I mean, most games only support a limited range of hardware anyhow, and as I mentioned in my earlier example, there shouldn't be much of a difference between a GTX 1060, 1070 and 1080 right? If a game is optimized for a GTX 1060, then the more powerful GPUs from that gen should "automatically" be able to handle it, or does it take further fine tuning?
By the way, is that Geralt in your icon or another character?
I think you're probably right in regards to cards in the same gen. Optimization for a 1060 would probably also benefit a 1080. I think problem lies in the fact that optimization for a 1060 could be making things worse on a Radeon card, etc.
It's a
different character from a card game I play.
Also, I think I should clarify something as well, when I talk about optimization here, I mean stuff to push the hardware to its max. Math tricks and stuff that get as much as they can from every cycle. The sort of thing you try and do to push the hardware beyond what's its been capable of before. I do think there's a lot of just sloppy code around though. I'm sure there's a lot that could be done on games (probably mainly Indie, though AAA could be relevant) that would make them run better no matter the system. Like take The Sexy Brutale for example, that's a really light game running in Unity, and there's no way it should be demanding on a system. And yet, slight lag when switching between rooms is a common problem. That's the kind of optimization that could be made and I would expect would be relevant across all systems.
AB2012: Chronic industry-wide laziness is also the same reason why devs regularly can't be bothered to add keyboard rebinding options for the PC release (despite even +25 year old 1MB MS-DOS games managing just fine and it being something so simple it typically takes 1x half-competent coder less than 1x hour of work)...
1 hour? Really? Even if a system was already designed to handle that, I think it would take longer. Not even mentioning if the code base wasn't planned out well, stuff might need re-factoring which could skyrocket the time.