Emulator Issues #12702
closedDolphin for Android writes a lot to the phone's flash memory, about 1.8GB/hour
0%
Description
Game Name?
Any Games
What's the problem? Describe what went wrong.
Dolphin for Android writes a lot to the phone's flash memory, which can cause the phone's flash memory to prematurely wear down
What steps will reproduce the problem?
I used busybox iostat and storaged -u command on termux shell on a rooted phone.
I profiled the flash memory write operation of Dolphin emulator and found that Dolphin can write as much as 1.8GB per hour into the phone's flash memory during all games that I have.
I already make the temp.sav (the savefile when you put the dolphin into background to prevent progress loss) readonly
But the heavy write still exists.
This heavy write happens during the gameplay where the emulator write 1-2MB every 3 seconds
This can't be GPU cache because this heavy write presists even after switching into software renderer mode
Is the issue present in the latest development version? For future reference, please also write down the version number of the latest development version.
Yes. It is in 5.0-15260
Is the issue present in the latest stable version?
Yes. in 5.0-14344
What are your PC specifications? (CPU, GPU, Operating System, more)
Qualcomm Snapdragon 750G, Adreno 619, 6GB of RAM, Android 10, Rooted
Is there anything else that can help developers narrow down the issue? (e.g. logs, screenshots,
configuration files, savefiles, savestates)
I looked up every files and folders under /data/ and /sdcard/dolphin-emu
But I can't find any trace from cache files of statistically significant size
So maybe it is either the emulator writing into folders other than /data/ and /sdcard/dolphin-emu
Updated by JosJuice about 3 years ago
- Operating system Android added
- Operating system deleted (
N/A)
Interesting... But I have no idea why it could be happening.
Could you also check whether Dolphin is writing anything to /sdcard/Android/data/org.dolphinemu.dolphinemu/? We started using it for cache files a few months ago, and will start using it for other data as well soon (due to scoped storage).
Updated by Cissnei about 3 years ago
I checked, there are shader caches(which should be irrelevant because heavy write operations persists even when switching to software mode)
and .uidcache. The uid cache only weigh ~176KB and isn't updated every few seconds
nothing else
also
Unofficial Dolphin-MMJ has the same bug
And that Citra emulator (maybe developed by the same team) has the same bug.
Maybe there are some bugs in external libraries that Dolphin official, Dolphin MMJ and Citra uses in common
Updated by JosJuice about 3 years ago
Hmm... Well, let's try to narrow down what part of Dolphin could be causing it, then.
If you press Pause Emulation while a game is running, is the write activity still happening? If so, is it also happening when no game is running at all and you're just in the game list?
Updated by Cissnei about 3 years ago
I tried again with sin and punishment star successor and there are no writes during paused emulation session/ gamelist
There are 1MB writes when the scene switches every 10-30 seconds but nothing heavy compared to when playing xenoblade
Maybe the problem is overestimated, just that dolphin is compling shaders and I remembered the software rendering part wrong
Maybe xenoblade frequently writes something to wii NAND
Updated by JosJuice about 3 years ago
It being the NAND is a possibility, though in that case it should have been caught when checking /sdcard/dolphin-emu. You could test a GameCube game if you want to explore this further, since the GameCube doesn't have any NAND memory.
Updated by Cissnei about 3 years ago
so maybe we should close this until we can stabily reproduce this bug
the cause is either there are too many shaders to complie in xenoblade
or games are writing a lot to wii NAND
btw to further explore and mitigate flash lifespan concerns, are there a way to use OpenGL mode without writing shader cache?
Updated by JosJuice about 3 years ago
- Status changed from New to Invalid
Okay, I will close this for the time being then.
You can turn off the shader cache and UID cache by putting the following in GFX.ini:
[Settings]
ShaderCache = False