But to answer your question as if they had not yet: it's never "just" recompiling. It's:
* recompile (and fix any warnings/errors indicated by the compiler)
* re-test ... the entire game
* fix the bugs that are encountered in test
* release/publish the game for Windows ARM64
Whatever this effort is, it's much much more than "just" recompiling. You could imagine motivated individuals on the engineering team chipping away at this list of their own accord. But following through with a product requires significant effort and coordination that often is weighed against the potential revenue that this new market could provide.
That seems a bit absurd. Surely many parts of the game won't likely have bits of code that interact with architecture in unique ways. Especially if you wrote the game in relatively portable code to begin with (as WoW almost certainly was).
I mean idk, maybe windows arm64 is a uniquely nasty target. But i'm skeptical.
https://news.ycombinator.com/item?id=46009962
WoW was released 21 years ago AFAIK
I came across a performance-killing bug that made the game unplayable (less than 1fps on a Mac Studio). It happened in a couple of dungeons (I spotted 2). From my tests it was caused by a specific texture in the field of view at a certain distance. There was no problem on Intel Macs, AFAICT. My old MBP was terrible but did not get any performance hit.
This is what can happen any time you don’t test even a tiny corner of the game. Also, bear in mind that this depends on graphics settings and you get a nightmare of a test matrix.
Surely that's a GPU thing and not an CPU thing, yea? Or was something about the texture processing architecture-dependent?
The core issue is that something slipped through the cracks. I don’t blame them, it’s a huge game and testing takes quite a lot of time. But testing does matter.
Windows on ARM isn't really the same ballpark. They were still there early, but the platform is still changing quite a bit.
Now WoW already supports Apple Silicon on macOS so most of that was already taken care of, but I'm betting there's a lot of Windows-specific code in there too.
Specifically, it's comparing the native ARM64 version against the emulated x86_64 version, both running on an ARM64 CPU.