Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Huge battery consumption during Android Sleep if Lime3DS was active when entering Sleep #519

Open
1 task done
Anutim opened this issue Oct 22, 2024 · 9 comments
Open
1 task done
Labels
bug Something isn't working

Comments

@Anutim
Copy link

Anutim commented Oct 22, 2024

Is there an existing issue for this?

  • I have searched the existing issues

Affected Build(s)

2118.2

Description of Issue

If you enter Androids Sleep mode, there's a huge battery drain compared to other apps. (Lime3DS consumes like 4+% per hour, whilst most other apps I've tried are <1% per hour.)

This behaviour is exhibited on all emulators I've tried that are based on the same foundation as Lime3DS is based on, incase that helps narrow down what could be the issue.

Not sure if this is related/helps, but if you press Pause emulation, then Sleep.
Once you 'unsleep', the games already playing even though the 'Pause emulation' button still has the text 'Resume emulation'.

Expected Behavior

<1% battery consumption per hour, like pretty much all emulators I've tried apart from like Citra, Yuzu etc.

Reproduction Steps

I have an Retroid Pocket 4 Pro that I've tested this on, but I've talked to people on other devices (Retroid Pocket Mini etc) who also have the issue, so it doesn't seem to be platform specific.

Log File

No log file as this isn't related to any crash etc.

System Configuration

CPU: MTK D1100
GPU/Driver: Mali-G77 MP9
RAM: 8GB LPDDR4x (not sure what brand/product line Retroid Pocket 4 Pro uses)
OS: Android 13

@Anutim Anutim added the bug Something isn't working label Oct 22, 2024
@EthanDonley
Copy link

EthanDonley commented Oct 26, 2024

I happen to come across this issue as well on the AYN Odin 2/Retroid Pocket 4 Pro/Retroid Pocket Mini/Retroid Pocket 2S. So it's a thing on Android 10/11/13. There was a pretty old build of Citra MMJ that I believe didn't have this problem but later updates of MMJ eventually brought this issue back in.

@Anutim
Copy link
Author

Anutim commented Oct 26, 2024

I happen to come across this issue as well on the AYN Odin 2/Retroid Pocket 4 Pro/Retroid Pocket Mini/Retroid Pocket 2S. So it's a thing on Android 10/11/13. There was a pretty old build of Citra MMJ that I believe didn't have this problem but later updates of MMJ eventually brought this issue back in.

Do you know sort of when this old build of MMJ was made? I don't mind trying several different versions to test.

@kalebepalacio
Copy link

Just remove lime3ds from multitasking (recent). Then I finish using it and do this. It works.

@Anutim
Copy link
Author

Anutim commented Oct 29, 2024

Just remove lime3ds from multitasking (recent). Then I finish using it and do this. It works.

Not entirely sure what you mean by this, but if it's about preventing it from running in the background, it's not related to the post.

The premise is: if you have a game running, then put your device to sleep, then wake it up to resume playing your game. It will have consumed a lot more battery than it should have.

@kalebepalacio
Copy link

I apologize. I now understand that you are talking about portable devices with Android intended for emulation.

@kleidis
Copy link
Contributor

kleidis commented Nov 29, 2024

The premise is: if you have a game running, then put your device to sleep, then wake it up to resume playing your game. It will have consumed a lot more battery than it should have.

That's not as easy to activate as you might think on Android

@Anutim
Copy link
Author

Anutim commented Nov 29, 2024

That's not as easy to activate as you might think on Android

Sure, I mean I have no idea what goes into it. But I'd for sure consider it the biggest problem with using the emulator on Android as is.

Savestates help the situation a lot though, but it's still pretty clunky to savestate->close emu/open emu->load savestate.
Especially if you're like playing while waiting for someone. I've run into several instances playing MM3D where I'm waiting for someone and play a bit, then when they show up I just instantly hit the sleep button and forget about it and gg battery dead lol.

Not sure if this is related/helps, but if you press Pause emulation, then Sleep.
Once you 'unsleep', the games already playing even though the 'Pause emulation' button still has the text 'Resume emulation'.

What about this btw? It's not related is it?

@kleidis
Copy link
Contributor

kleidis commented Nov 29, 2024

What about this btw? It's not related is it?

Oh that completely screws with the pause emulator feature i can reproduce it
Maybe fixing this could fix your issues as well although i still am not sure how well it will handle deep sleep on Android

@Anutim
Copy link
Author

Anutim commented Nov 29, 2024

Oh that completely screws with the pause emulator feature i can reproduce it Maybe fixing this could fix your issues as well although i still am not sure how well it will handle deep sleep on Android

Well, if you do tinker with it and need a tester, let me know.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

4 participants