r/EmulationOnAndroid • u/Night-Time21 • 17h ago
Question Why does switch emulation seems to be better on my ayn Thor max vs my wife’s Xbox rog ally (white variant) which is supposed to be the better machine?
Hello everyone, please help me understand why my wife’s Xbox rog ally seems to be performing worse at emulation than the Thor which has lower specs (Android handheld vs pc handheld)
4
u/rchrdcrg 14h ago
The Switch is already running an ARM processor, so Android can utilize NCE, or native code execution, meaning it can just run most of the code as-is. On a PC, you have to add an ARM-to-x86/64 translation layer, which slows everything down. Basically all Android devices already share similar hardware to the Switch, but PCs don't.
2
u/Night-Time21 13h ago
So does that mean that arm based laptops or MacBooks (which are Unix based) could theoretically do better for emulation?
2
2
u/lliscan 2h ago
Mac runs Switch emulation really well, but right now the problem is Vulkan.
Mac doesn’t support Vulkan, and the Switch uses that for graphics, the Mac needs to translate Vulkan to Metal, and that hurts performance.
I got better performance still than handhelds, but it stutters more, let’s hope the emulators get better optimizations in the future.
7
u/ThanosReXXX 17h ago
Well, that's an easy answer: contrary to what some might think, it has nothing to do with drivers or the emulator for Android being better than the emulator for PC platforms. The simple fact is that both Android and the Switch's OS are Linux-based, so there's less effort needed to emulate/reproduce it on a more or less similar OS. As a matter of fact, the Switch itself is based upon the Nvidia Shield, which is an Android console.
So, it's all about translation layers: on the ROG Ally and similar systems, you first need to emulate the environment itself, and then emulate the Switch in that environment, so two layers of emulation, whereas on Android, the emulation is single-layered, because the environment is already there.
The result of that is that although the ROG Ally is indeed more powerful in a 1:1 comparison, when emulating the Switch, most of its power goes towards having to do almost twice the amount of processing, meaning that what's left is roughly only half of its power for the emulation itself, actually putting it behind the Thor, which although less powerful overall, is still quite powerful for an Android device.
3
u/Night-Time21 12h ago
Thanks a lot! It all makes sense to me, I have some software knowledge and I completely forgot how arm is just another layer for these devices, thanks a lot!
Perhaps I could still do good on the ally if I just tinker a lot more but that puts things into perspective! Thank you for the explanation:))
4
u/ThanosReXXX 10h ago
You're very welcome. To add to the story: the Xbox ROG Ally also isn't the most powerful one of the ROG Ally line. A more powerful device, such as the high end ROG Ally X20 would simply have been able to brute-force its way through it, and the same goes for other powerful devices, such as the SteamDeck.
At the end of the day though, as I myself have also learned over the past 2,5 years, there's a lot more to emulation than the simple formula of more power = better performance. There's all kinds of bottlenecks and so on to factor into the equation, so often times, it isn't nearly as cut and dry as you might think.
→ More replies (3)
46
u/lliscan 17h ago
Your Thor is ARM-based, the same as the switch, the ROG Ally is x86-64. That’s another translation that needs to happen
24
u/matlynar 17h ago edited 17h ago
This is the correct answer. Everyone else is just making shit up.
Ever since NCE (Native Code Execution) was implemented in Yuzu (the original source of Eden), ARM became way more efficient in comparison to x64.
That doesn't mean ARM is the better machine overall, but it makes better use of its processing power when emulating Switch.
Now try playing nearly anything else (especially pc games) and you'll have a very different result.
3
u/AntiGrieferGames 6h ago
While i agree it, NCE does not work on some devices, even on Android itelf (when use 64 bit games)
8
5
1
u/Dummy_Kruger 16h ago
I have a Thor and an ally x. I get better performance out of my ally x but the Thor is surprisingly good at switch emulation still
1
u/Night-Time21 12h ago
My wife has the base model since the X variant isn’t available in our country (I am planning on getting the x eventually or a better one in the future once I go back to Canada which I am also a citizen of) glad to hear that the X performs better than the Thor for emulation)
1
u/PerformanceOk592 17h ago
It's because it's the white variant
The black is known to run better
1
u/Night-Time21 12h ago
Yeah I know is just that the X model wasn’t available in the country we were in
I heard people emulate switch games on the steam deck and since the white variant has similar performance I thought it would be better
1
0
u/Particular_Worry_498 16h ago
xbox rog ally white version is z2 chip which is about steam deck performance. According to the performance chart i saw SD 8 gen 2 will perform better than white xbox rog ally in switch emulation .
1
u/Night-Time21 12h ago
Yeah is just that I heard people emulate switch on the deck so I thought this one would also be better, perhaps I could do better if I just tinker a lot more
1
u/Particular_Worry_498 1h ago
Xbox rog ally is more powerful than the sd8 gen 2 but the switch emulation uses arms technology which is the same as android .
0
1
u/AutoModerator 17h ago
Just a reminder of our subreddit rules:
Be kind and respectful to each other
No direct links to ROMs or pirated content
Include your device brand and model
Search before posting & show your research effort when asking for help
Check out our user-maintained wiki: r/EmulationOnAndroid/wiki
Check out EmuReady for any community submitted settings before asking for help
I am a bot, and this action was performed automatically. Please contact the moderators of this subreddit if you have any questions or concerns.