Windows 10 on ARM will soon get a native ARM64 SDK, allowing developers to code directly for the ARM64 processor, but this will not solve the issue of existing high-performance apps such as many Creative Cloud applications not being available in x86 32bit versions.
In an interview with ZDNet, Windows general manager Erin Chapple has revealed that this may be an issue which will never be resolved.
“To emulate x64 in addition to x86 doubles the engineering work,” Erin Chapple told ZDNet. “In addition, Windows only supports the Windows on Windows (WOW) abstraction layer for 32-bit applications, not 64-bit applications. We would have to add support for a 64-bit Windows on Windows layer.”
This would be new work, rather than simply adapting the existing 32-bit support in 64 bit Windows to run x86 apps on ARM.
“This is technically possible, [but] it is a resource trade-off of the work necessary versus the benefit to the user. When we looked at our telemetry for the most-used applications on Windows, we found that the majority of them have x86 versions. A lot of applications also have only x86 versions. Most of the 64-bit only applications are games which are outside of the target customer for this device. Lastly, those applications that are 64-bit only typically want to run natively for performance reasons. As a result, we decided to focus our engineering investments on the native ARM64 SDK to enable developers to natively write their application for the device.”
Chapple did not think the performance concerns were credible.
“If the app is using the hard disk, graphics, or networking, all of this runs in the kernel and is running at native performance. If the application is CPU bound, it takes more time than native because it has to be translated. This will also vary by application. In our testing we have found that most of the apps running under emulation are consistent with user’s expectation of responsiveness,” she noted.
If a developer really needed 64 bit performance, they would ideally code for ARM64 directly. Microsoft is planning to announce an SDK for ARM64 at Build 2018.
“We are still working through our ARM64 SDK plans, including what versions of .NET will be supported,” Chapple said.