Project

General

Profile

Actions

Emulator Issues #12702

closed

Dolphin for Android writes a lot to the phone's flash memory, about 1.8GB/hour

Added by Cissnei over 2 years ago. Updated over 2 years ago.

Status:
Invalid
Priority:
Normal
Assignee:
-
% Done:

0%

Operating system:
Android
Issue type:
Bug
Milestone:
Regression:
No
Relates to usability:
No
Relates to performance:
No
Easy:
No
Relates to maintainability:
No
Regression start:
Fixed in:

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

Actions #1

Updated by JosJuice over 2 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).

Actions #2

Updated by Cissnei over 2 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

Actions #3

Updated by JosJuice over 2 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?

Actions #4

Updated by Cissnei over 2 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

Actions #5

Updated by JosJuice over 2 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.

Actions #6

Updated by Cissnei over 2 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?

Actions #7

Updated by JosJuice over 2 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
Actions

Also available in: Atom PDF