What you need to know
- Microsoft rolled out support for ARM64EC for Windows 11 on Arm.
- ARM64EC allows apps to run on Arm hardware with a combination of ARM code that runs natively and x64 code that runs through emulation.
- This setup lets developers gradually migrate apps completely over to ARM while seeing performance benefits immediately.
Windows 11 on ARM devices, such as the Surface Pro X and Lenovo ThinkPad X13s, could see a new wave of supported apps. Microsoft just announced (opens in new tab) the general availability of ARM64EC, which allows developers to build applications with a combination of x64 and ARM code. For example, the bulk of an app could run natively on ARM code, while a few extensions or specific features could rely on x64 code running through emulation. The end result is better app performance on Windows 11 on ARM devices.
With ARM64EC, developers can gradually migrate applications to ARM without having to wait to see immediate returns. Microsoft explained the benefits of ARM64EC in a developer blog post when the feature was first announced.
“With ARM64EC, you can choose to start small and build incrementally. You can identify a part of your codebase that would benefit most from native performance and rebuild it as ARM64EC,” explained Microsoft. “The rest of the app will remain fully functional as emulated x64, but the recompiled ARM64EC parts will now have native speed. Over time, you can recompile more of the app as ARM64EC to further improve performance and conserve battery life for your app’s customers.”
In addition to optimizing an application for Windows 11 on ARM taking time, doing so requires an investment of work that only pays off when completed. Until ARM64EC was unveiled, developers couldn’t port an app halfway. Now, applications can be gradually migrated from x64 code to ARM code, all with the added benefit of seeing immediate performance gains.
ARM64EC is also useful for situations in which dependencies don’t support ARM natively. In these cases, developers can now make ARM apps that utilize x64 dependencies.
Microsoft has several tools to help developers get started with ARM64EC, including a support document (opens in new tab).