Games “tend” to dominate a single, or very few cores. With modern PCs having 4 or more. You can push an isa-translator off on to a low power core. Since it won’t be a constant, heavy lifting task. Then push the translated instructions through your high performance cores. Your biggest penalty on that will generally be a small bit of latency.
Your biggest hit will likely come from having to wrap graphics APIs. But again, that hit is generally what it takes to do the same under Linux with wine/proton.
But as long as your CPUs can push the instructions fast enough. Your data bus can manage the data transfers in a timely manner. And your graphics subsystem can handle the load. It’s a doable task.
It’s very similar to emulating retro systems in a number of ways.
Really? x86 games emulated usably on ARM?
Games “tend” to dominate a single, or very few cores. With modern PCs having 4 or more. You can push an isa-translator off on to a low power core. Since it won’t be a constant, heavy lifting task. Then push the translated instructions through your high performance cores. Your biggest penalty on that will generally be a small bit of latency.
Your biggest hit will likely come from having to wrap graphics APIs. But again, that hit is generally what it takes to do the same under Linux with wine/proton.
But as long as your CPUs can push the instructions fast enough. Your data bus can manage the data transfers in a timely manner. And your graphics subsystem can handle the load. It’s a doable task.
It’s very similar to emulating retro systems in a number of ways.
Source 1 engine games like half life are running atm via box_x86