UE5 is very very very brand new.
How much code base is shared in UE5 with UE4/3/2? (This is an honest question I would love to know....but the point is alot of code is likely to be legacy to support legacy things)
They have alot of optimization left on the table, that can be seen in some of the roadmap items from now through 6.0.
It is much much more difficult to design a system for n-threads than 1 thread... and even with many n-threaded systems, the primary GUI thread gets bottlenecked.
Game code just isn't made to be parallel. It's interactive.
This is so true.
Is there room for improvement? Most likely yes in alot of engines.
But it seems like that improvement can only go so far to ensure the world functions coherently over time. (At least for FPS game types, etc).
This is similar to OneEng2's example, eventually a realtime interface has to have some synchronzation to be usable and prevent issues. (This is my somewhat laymans description, I dont know if that is some type of law or just a complexity thing... if Im wrong here then cool Id love to learn more around this topic as its not really something I deal with directly)
Most code development I see ends up alot like this: Im not changing anything if there isnt a problem to be fixed or a feature to be added.
This happens because of time to value constraints.
Sebbi's paper linked above is a prime example of incremental changes made w/o really fixing baggage. Man that was somewhat grim from the baggage perspective.