Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

DXVK, VKD3D, D3DMetal, etc. are translation layers. You're implying they're far more heavyweight than they actually are. The real reason Windows games don't run as well on Macs is that they're usually built for x86_64 instead of ARM.

As someone who has used both Windows and Linux to game on the same x86_64 device, the performance hit with Proton is pretty much negligible (and sometimes games actually run faster on Linux).





> DXVK, VKD3D, D3DMetal, etc. are translation layers.

Rosetta is a translation layer that only operates the first time you run a given x86 app on Mac, and creates an ARM translation that is written to disk and used in the future.

Does that mean it has no overhead?


There is more substantial overhead translating to a different instruction set than in converting API calls to another API. Looking at basic benchmarks should be enough to demonstrate this. IIRC it's like 80% of the performance or something when using Rosetta as compared to native.

Also, Rosetta is more like a transpiler, since it basically recompiles the binary, whereas the others are literally layers that basically take calls in one API and translate them to another. They're pretty much the same thing as ANGLE.


> There is more substantial overhead translating to a different instruction set than in converting API calls to another API.

It's a one time only cost, since Rosetta only runs the first time you launch an app and the translation is written to disk to be used in the future.

That means there is no ongoing cost by your logic, and Proton translating an API call every time it is used is worse.




Consider applying for YC's Winter 2026 batch! Applications are open till Nov 10

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: