The solutions have distant tradeoffs. When you want to run the latest PC games on mobile hardware using a battery, every cycle matters. Using translation layers for x86 will never be as good as as a native port.
Yeah. Also, software written for a wide gamut of hardware configs, even those under the same CPU ISA, will always be slower than software written for a unique hardware stack and only shipped for that hardware. Does it follow that all software should be written for specific hardware? I think not, because the performance overhead you take on allows saving on massive economic costs. It just isn't realistic to use development resources in that way. Even if devs are better at making ports for their games than fex, that takes precious time and money away from making the game, adding features, polishing, etc. It is much more realistic and sensible to focus on the comparative advantage than the absolute advantage [1].
Yeah. Also, software written for a wide gamut of hardware configs, even those under the same CPU ISA, will always be slower than software written for a unique hardware stack and only shipped for that hardware. Does it follow that all software should be written for specific hardware? I think not, because the performance overhead you take on allows saving on massive economic costs. It just isn't realistic to use development resources in that way. Even if devs are better at making ports for their games than fex, that takes precious time and money away from making the game, adding features, polishing, etc. It is much more realistic and sensible to focus on the comparative advantage than the absolute advantage [1].
[1] https://www.econlib.org/library/Topics/Details/comparativead...