FPS boost with Wine esync on native version, thx to @klark231 for discovering this great boost and Hugo for making this possible in native version. Update Mo...
Box64 cheats by minimizing the amount of code that must be translated. For example, it injects standins for graphics libraries instead of using the ones that come with the applications whenever possible. The goal is to provide native alternatives to as much code as possible to avoid the translation problem entirely. It hijacks the application at the DLL boundary. Think of it like a sophisticated patcher preloaded with native code that only translates when it's forced to do so.
Where translation is necessary, it's imperfect. For example, floating point emulation cannot be performed with complete accuracy without a very slow software solution. If you can compromise on accuracy, performance is a little better.
State of the art emulation like Rosetta on Mac requires hardware features to accelerate the translation.
wtf. x86-ARM translation is that good now?
It's complicated.
Box64 cheats by minimizing the amount of code that must be translated. For example, it injects standins for graphics libraries instead of using the ones that come with the applications whenever possible. The goal is to provide native alternatives to as much code as possible to avoid the translation problem entirely. It hijacks the application at the DLL boundary. Think of it like a sophisticated patcher preloaded with native code that only translates when it's forced to do so.
Where translation is necessary, it's imperfect. For example, floating point emulation cannot be performed with complete accuracy without a very slow software solution. If you can compromise on accuracy, performance is a little better.
State of the art emulation like Rosetta on Mac requires hardware features to accelerate the translation.