Just remember that stuff like red dead redemption ran on those things with all of 512 MB of unified memory. It ran and looked better than borderlands 4 does on current consoles.
The 360/PS3 was a huge jump forward but very limited by today’s standards. RDR was one of the better looking games of the generation but could not maintain a steady 30fps at 1080p/i (and I’m not sure it was even true 1080).
The PC version came later, had higher resolution textures and other graphical improvements so it compares more favourably to modern games when you play it today. It still had problems running on all but the highest-end PCs of the time.
Of course even low-end PCs can run it without breaking a sweat, because they’ve become much more powerful.
The performance problems in modern games are often not caused by fillrate-vs-resolution bottlenecks though, but by poor engine architecture decisions (triggering shader recompilations in the hot path).
But I’m confused about why you think fill rate isn’t an issue? If you are now upgrading from 1080p to 4K your GPU needs at the very least 4x the pixel pushing power and even then that’s only to maintain the same detail; you bought a 4K screen for more detail.
Presumably people do this because they hate money; as you say, it's much harder to make the pixels just slightly more crisp and you'll pay dearly for the privilege.
Because this is can be easily dealt with via upscaling or buying a more expensive GPU, but fixing shader recompilation in the hot path requires a complete engine redesign.
You don’t need a full engine redesign. UE5 provides tools for PSO bundling and also pre-caching, but you need to use them.
Also good material design and structure helps reduce the number of PSOs needed but again, you need knowledge of how the engine’s materials system works.
If you are interested, this video explains some of the solutions. https://youtube.com/watch?v=i35yf-wh3Bs
Maybe that is even related to it's good performance on consoles back then: Rockstar invested a lot of development time and sacrificed portability for performance. Basically the opposite of what modern games achieve with unreal 5.
The game felt like it had significant input lag, and at 720p with upscaling text becomes very hard to read. The game's visual style of "glitch" effects also translates badly with upscaling and I really had a tough time actually understanding what I'm looking at on the screen.
Perhaps the situation is better on OLED.
The game on new machines is quite impressive, quite unlike anything else made.
It's the #10 top most played game on Steam Deck.
If you want performance on everyday hardware, there is no way (and I'd say this holds true for any engine, not just UE5!) that you dig down into the engine an the libraries and invest the money in testing to tune the performance appropriately.
And don’t get me wrong, those features are great, but they’re not intended for low-end hardware or where fps is a priority.
This isn't a case of "these developers are lazy", UE5 issues are the case of "every single UE5 released game has shader stutter issues on PC". That's an issue with engine architecture and its APIs, not an individual thing.
Just because an engine offers you a way to shoot yourself in the foot with a sawn off shotgun, you can't blame the engine maker when you do shoot yourself in the foot with a sawn off shotgun and end up with a bleeding ugly stump.
The thing is, of course game studios will go for "we want to use ALLLLLL the newest features, we want to show off with Nanite and god knows what else". Who wouldn't? But game studios aren't willing to put in the effort surrounding such an implementation to properly tune it.
And it's not just tuning engine components for what it's worth - often enough the culprit ends up being ridiculously oversized textures, there's nothing else that could cause dozens of gigabytes worth of patches [1], and it's not a new complaint either [2].
[1] https://www.neogaf.com/threads/days-gone-whats-up-with-the-r...
[2] https://forums.guru3d.com/threads/are-game-patch-sizes-becom...
One of the reasons that a lot of studios struggle with bad performance on UE5, is because a lot of studios, fired their most experienced devs and hired bunch of cheaper new programmers, because they bought into the whole make game with blueprints idea. I have several friends (I know just one datapoint ), that were in games industry from 6 to 12 years that got fired, just for the studio to replace them with cheaper more inexperienced devs.
Baicly UE5 overpromised how easy it was. You still get some great working games that use UE5, but this are from studios that have experienced devs.
What you can’t do is hit compile out of the box and expect it to work well on those low-end platforms, because it will try to use all the high-end features if it thinks it’s allowed to.
I don’t think it exactly overpromises how easy it is, but unlike a lot of software it has a learning curve that seems gentle at first and then exponentially increases. It’s high-end AAA-grade development software aimed at professionals, it expects you to know what you’re doing.
The real reason many of these games run like shit is over reliance on real time lighting systems. RT lights are easy. It's easy to throw a bunch of artists into a box and hope for the best. A complete idiot can make a scene mostly look good without much thinking. Baked lights require a lot of anticipation and planning. It impacts iteration time, etc. The tradeoff being that this is orders of magnitude more performant than RT lights. Imagine watching Toy Story after the offline render vs attempting to do it live. This is literally the same scaling problem.
https://dev.epicgames.com/documentation/en-us/unreal-engine/...
This is absolutely unacceptable and if this happens with nearly every big release, then that also speaks badly of the engine itself. Similarly to how languages like C++ are very powerful and can be used to great effect... and people almost inevitably still write code that has memory safety issues. That comparison should make a few ears perk up, my point is that fewer developers should use Unreal Engine 5 if they can't use it well (same as with the languages).
Frankly, I place more trust in studios that have their own engines or use literally anything other than UE5, like what happened to KDC:2, a modern game that looks good and runs great across a wide variety of hardware. Or how they fixed Cyberpunk 2077, it took a while to get there but now both the visuals and performance are quite good across the board.