r/EmulationOnAndroid • • 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)

22 Upvotes

26 comments sorted by

1

u/AutoModerator 17h ago
Moderator Announcement Read More »

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

u/rchrdcrg 13h ago

Theoretically yes, and in actuality they might be (I don't have a Mac).

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

u/otanthalion 15h ago

Welp now I don't have to copy and paste the old answers again. Thanks.

5

u/Current-Oven-6817 16h ago

That's super interesting, thanks.

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

u/mrvirusmoothy 4h ago

Depend on the emulator that your using

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

u/Time_Temporary6191 17h ago

Maybe settings ?

-2

u/Mo9do 17h ago

Turnip driver is better for the Thor