Site icon TechGit

Nintendo 3DS emulation: Official Citra for Android performance testing on the Snapdragon 865, 855, and 845

Citra, the most popular Nintendo 3DS emulator, was officially released for Android onto the Google Play Store last week, and its performance has been at the forefront of the conversation. I’m sure anybody who saw its release wondered whether they could play their favorite Nintendo 3DS games on their Android smartphone or tablet, so I’ve spent the past few days playing games on various different devices powered by multiple different SoCs to see what kind of performance you can expect to get from your device.

I tested the following popular Nintendo 3DS games:

…on the following Android smartphones:

…and the results were rather mixed. I tested each of these 3DS games with the unofficial Citra MMJ version as well as the official Citra 3DS emulator that was just released on the Google Play Store. Some of the results were surprising. Note that all of these tests were done with audio stretching disabled as I found that it had a pretty significant performance hit for little benefit when enabled. Keep in mind that different GPU driver versions may also affect performance, and so one device with a particular chipset may not perform the same as another device with the same chipset.

Citra for Android Nintendo 3DS emulator

Nintendo 3DS emulation using the official Citra for Android port. Left to right: OnePlus 8 Pro, OnePlus 6, Realme 6 Pro.

Note: You can legally acquire 3DS ROMs for your smartphone by dumping and decrypting your own Nintendo 3DS games. For this, you will need a hacked Nintendo 3DS and a legally purchased copy of the 3DS game that you want to play.

Current performance issues with Nintendo 3DS emulation via Citra for Android (and potential fixes)

Before going into detail of the performance of the aforementioned Nintendo 3DS games on various Android smartphones, it’s worth mentioning that currently, the Citra 3DS emulator port for Android does not support a shader cache. A shader cache is simply a cache of files that keeps track of compiled shaders that are shown in-game, and having one greatly reduces CPU and GPU load. When new shaders are encountered in Citra, they are then compiled and aren’t saved to the storage. This means that they can’t be cached, and instead must be recompiled once encountered every time. This is why currently, Citra on Android can be quite stuttery when playing some 3DS games. Citra on PC supports a shader cache, and it’s quite common for users to want to download a precompiled shader cache to avoid slowly and painstakingly generating their own. Also, I found that disabling audio stretching helped performance a little bit.

Nintendo 3DS Emulation Performance – Qualcomm Snapdragon 865, 855, 845, 720G, and Kirin 980

Qualcomm Snapdragon 865

Animal Crossing: New Leaf – OnePlus 8 Pro

Official Citra

MMJ/Unofficial Citra

Mario Kart 7 – OnePlus 8 Pro

Pokemon X/Y – OnePlus 8 Pro

Note: The flickering as seen in the above video only occurred when I was screen recording.

The Legend of Zelda: A Link Between Worlds – OPPO Find X2 Pro/OnePlus 8 Pro

Fire Emblem Fates – OPPO Find X2 Pro

Qualcomm Snapdragon 855

Animal Crossing: New Leaf – OPPO Reno 10x Zoom

Official Citra

MMJ/Unofficial Citra

Mario Kart 7 – OPPO Reno 10x Zoom/OnePlus 7 Pro

Pokemon X/Y – OPPO Reno 10x Zoom

The Legend of Zelda: A Link Between Worlds – OPPO Reno 10x Zoom

Qualcomm Snapdragon 845

Animal Crossing: New Leaf – OnePlus 6

Official Citra

MMJ/Unofficial Citra

Mario Kart 7 – OnePlus 6

Pokemon X/Y – OnePlus 6

The Legend of Zelda: A Link Between Worlds – OnePlus 6

Qualcomm Snapdragon 720G

Animal Crossing: New Leaf – Realme 6 Pro

Official Citra

Pokemon X/Y – Realme 6 Pro

The Legend of Zelda: A Link Between Worlds – OnePlus 6

Kirin 980

The Honor 20 Pro with its HiSilicon Kirin 980 was unable to run any of the Nintendo 3DS games that I tested at any playable framerate. The official and unofficial Citra 3DS emulators don’t really support devices with non-Snapdragon chipsets due to driver issues, and as such, this means that Samsung smartphones with Exynos processors will also likely face issues playing any of the 3DS games listed here.

Conclusion – Nintendo 3DS Emulation is very viable (for most flagships)

Oddly enough, I found the best performance to be not with the Qualcomm Snapdragon 865 but rather with the Qualcomm Snapdragon 855. It’s possible that Citra was developed primarily on Qualcomm Snapdragon 855 devices as the Qualcomm Snapdragon 865 is a relatively recent release, but this is only speculation on my part. The Snapdragon 855 found in both the OnePlus 7T Pro and the OPPO Reno 10x Zoom handled pretty much all Nintendo 3DS games I threw at it perfectly, which greatly impressed me, and the games themselves were very much playable. The Qualcomm Snapdragon 720G also fared incredibly well, with more or less identical results to the Snapdragon 845.

Citra (Nintendo 3DS emulator) website

Citra Emulator (Free+, Google Play) →

The post Nintendo 3DS emulation: Official Citra for Android performance testing on the Snapdragon 865, 855, and 845 appeared first on xda-developers.

FacebookTwitterTumblrRedditLinkedInHacker NewsDiggBufferGoogle ClassroomThreadsXINGShare
Exit mobile version