zyrouge / symphony

🎵 Lightweight, elegant music player for Android 9+.
https://zyrouge.github.io/symphony/
GNU Affero General Public License v3.0
1.17k stars 77 forks source link

[Bug] Mini-player progress bar high GPU usage #405

Open owosoup opened 8 months ago

owosoup commented 8 months ago

Description

Hello again! The truncated title option works well, props to you, and your 10X dev response! But, sadly, another element of it keeps the GPU running at full speed.

My best guess would be the progress bar, which is pretty smooth, lets me think it updates at an uncapped rate. Luckily, the full screen player doesn't have this issue, as the progress bar does indeed move by small increments gradually without pushing render frames at a fast pace. You could somewhat copy that fullscreen bar code for simplicity's sake, maybe?

Steps to Reproduce

  1. Play music
  2. Have the mini-player marquee on display
  3. Battery drain

Expected Behavior

A less gpu-intensive marquee, which is displayed a lot of the time navigating the app, would prove battery saving.

Screenshots

Screenshot_2024-01-05-21-54-15-08_c328a126cb0fb561391a2f6f61559b68 (My bad, I was still in grayscale during the screenshot)

Device

Checklist

zyrouge commented 8 months ago

This might need some investigation.

zyrouge commented 8 months ago

Screenshot_2024-01-07-14-11-09-589_io github zyrouge symphony

Seems to be just fine for me.

owosoup commented 8 months ago

Well, what I mean is that the debug gpu profile bars shouldn't flow at a fast rate. Using an image was a bad decision from me, they should be choppy (indicating gpu standbys at regular intervals, instead of constant stress).

Another thing I thought of would be simply adding an option to remove the progress bar (like the title option, your truncated approach was great) but that would be pretty radical and ugly. Maybe an option to change the progress bar to a timecode

Anyway, I feel like this issue is getting a bit over the top for such a small problem, so I won't bother you any more!

zyrouge commented 8 months ago

Well, what I mean is that the debug gpu profile bars shouldn't flow at a fast rate. Using an image was a bad decision from me, they should be choppy (indicating gpu standbys at regular intervals, instead of constant stress).

Another thing I thought of would be simply adding an option to remove the progress bar (like the title option, your truncated approach was great) but that would be pretty radical and ugly. Maybe an option to change the progress bar to a timecode for the song? You'd only need to update it every second, that could be nice.

Anyway, I feel like this issue is getting a bit over the top for such a small problem, so I won't bother you any more!

I tried to find the cause for that but it seems like Compose likes to keep redrawing frequently. I'm not sure what actually causes this. The same happens in Now Player screen. Also, this redrawing doesn't stop when you pause after playing. I guess I'll take some time to find the cause.