They keep trying to push WOA, but because for some reason, Microsoft can't create a competent emulator like Rosetta 2 and emulate x86_64 apps to help ease the transition from x86_64-based apps to ARM-based apps,
Windows on Arm has a transcompiler that is largely similar to Rosetta 2. There a couple of differences but not real huge ones. MS has bent over backwards to keep more compatibility around. Apple threw a signficant number of apps out the windows and didn't try to work with them.
That major gap has been what the translated binaries actually run on. The new target processor largely has to have a speed increase over the old system to toss at translation 'overhead'. For example, if the M-series was 10% faster and the overhead is 2% then get a net 8% increase. If overhead is 4% still get a smaller net increase. In a contrasting example , if the Q-series is 10% slower and over is 2% then the get a 12% decrease. If the overhes is 4% then have a 14% decrease.
Going to get widely different end users reactions to those to even the overhead for translation is about exactly the same.
Early on the Qualcomm processor sales pitch was almost 100% about longer battery life, always-on celluar internet . Parity with the x86 models, let alone an increase, wasn't even on the table.
The over major stumbling block is Microsoft spend more than several years focusing on 32-bit only apps. Which technically is another Arm instruction set that Apple dumped as soon as they could get away with. And yet Miscrosoft plowed away for years trying to make that work better. ( somewhat because of all the 'sunk cost' legacy work they had put in on Windows Phone on Qualcomm and Window RT. )
Windows didn't come up with a preview for x86-64 compatiblity until 2020. The didn't 'clean up' windows to be 64-bit only kernel until Windows 11.
WoWA recompiles the code also.
"...
The
WOW64 layer of Windows allows x86 code to run on the Arm64 version of Windows. x86 emulation works by compiling blocks of x86 instructions into Arm64 instructions with optimizations to improve performance. A service caches these translated blocks of code to reduce the overhead of instruction translation and allow for optimization when the code runs again. The caches are produced for each module so that other apps can make use of them on first launch. ..."
https://learn.microsoft.com/en-us/windows/arm/apps-on-arm-x86-emulation
Apple pushes almost all of the compile into a one time delay when first try to run the app. They stuff a whole complete copying into a not directly observable folder on the disk. So over time what you are doing is duplicating you app footprint on disk (making copies). Microsoft is taking a more circumscribed approach to just not blatantly making wholesale persistent copies.
Similarly Windows allows mixed binaries ( for better or worse and also relatively recently released ).
" ... Arm64EC (“Emulation Compatible”) enables you to build new native apps or incrementally transition existing x64 apps to take advantage of the native speed and performance possible with Arm-powered devices, including better power consumption, battery life, and accelerated AI & ML workloads. ..."
Learn how Arm64EC empowers you to build and incrementally update apps that benefit from native performance on Arm devices, without interrupting your current x64 functionality.
learn.microsoft.com
Apple is more of a rip-the-band-aid-off-quickly. Either transition the whole app including all possible plug-ins or don't get native. Also 'tough love' ... critical 32-bit app you needed.. too bad; dead. Need AVX .. 'no soup for you!!!' That isn't a question of competency , but rather one of different approach.
Pretty good chance Microsoft did this because people asked for it. It would be less work for for MS to tell developers 'tough luck ... it is entirely on your time/dime '. Their user base is so large they probably do have end users who has some odd-ball plug-in that is critical but has no development support under it at all ( a zombie piece of code). Nobody is going do an update and the whole 'tough love... go make a new one' isn't going to work in that context. They can't.
WOA will never catch on, IMHO....you can't brute force it. You have to do what Apple did and create an emulator like Rosetta 2 to allow enterprises and users to adopt WOA, while still allowing them to use their legacy x86_64 apps while the devs work on updating their apps to ARM. Then, when most of the major apps have been updated to ARM, you can kill off the emulator.
Err that whole really gradual incremental progress is exactly what Arm64EC is for; and Apple does not have at all.
And again with an extensive amoutn of legacy applicate lingering around .... there are some apps with no devs doing anything on them. 'Retire the emulator' is likely not going away in Windows over a dozen years after Apple dumps theirs.
You can't dump the emulator if not completely dump x86-64 for all supported systems. If you have a Intel Mac it is actively one the Vintage/Obsolete 5 year countdown clock or already on the dumped list. That is
NOT happening on Windows.
Apple added some non standard augments to Arm instruction set to 'goose' the translated Rosetta 2 code . Windows isn't looking to do just one Arm implementor. And Windows doesn't have special quirks stuffed into x86 ... so not likely particularly happing in Arm implementations either. Windows doesn't really need a 1990's Intel to get looped into a single implementor orbit with. Windows is looking for a ecosystem.
Apple doesn't want any vendor ecosystem at all. That is two very different solution paths.