Volumio on Android slow and laggy

Hey Michelangelo

My background is in systems and enterprise software development (C/C++, embedded, real-time, Java). I’m knowledgeable when it comes to HTML5/CSS, but JavaScript and the myriad of tools, transpilers and libraries that go with it are definitely not my strong suit, so I’m not really a natural fit for fronted Web UI development. I’ll let you decide if it’s worth a shot. I’ll be glad to give it a try if you think it makes sense.

However, my participation would be somewhat contingent on getting some support on another issue I’m even more interested in, which I described here:


For me, Volumio only makes sense if both of these issues can eventually be resolved. I realize that the playlist issue is a rather big task, which makes faster scrolling via DOM virtualization look trivial, but I’d at least want to see that or something like it discussed and put on a roadmap before I get too involved. I hope you understand that I don’t want to invest time in Volumio if I don’t see it eventually getting to a place where I can actually use it myself :slight_smile:

In regard to libraries for DOM virtualization, yes, there are multiple pre-built solutions for that problem. Which one you choose probably depends most on what you are already using. For example, if Volumio 2’s Web UI is based on Angular2, then these might be worth looking into (I don’t have first hand experience with either of them):

medium.com/@rintoj/building-vir … 79ca95014e




Won’t stop trying :wink:


@Michelangelo, hoping you eventually find the time :wink:

I just installed volumio and this problem is making it nearly unusable for me too. Interestingly, rune suffers the same problem when I tried it - not surprisingly as the web interface is similar.

Hope they can fix it. What about an option to not display album art in lists??

That wouldn’t help much at all unfortunately. Having a lot and/or very large album art can increase the time required until you see the list of albums and are able to scroll for the first time, but in my tests that has pretty much zero influence on scrolling performance once the list becomes scrollable, which is the problem discussed here.

Based on Michaelangelo’s feedback, scrolling performance on mobile devices depends primarily on how many albums are in your collection, i.e. how many entries the mobile browser must render while scrolling. The only quick fix option would be to eliminate many of the albums in your collection, so as to limit the numbers of entries to a size which mobile browsers can handle. That likely isn’t a real option, so the only way to really solve the problem is as discussed above in earlier posts.

Have you tried using another app? I use this one https://play.google.com/store/apps/details?id=org.gateshipone.malp and performance is great even with a large collection. I only use the webui on my phone if I want to change any settings

Sent from my SM-N950F using Tapatalk

Yep, most other MPD clients work fine. Pity the Volumio one, which I had to pay for (although it was very cheap) isn’t usable.

I really don’t care of the €1 price. I care much more about this unresolved bug.

I can understand why mpd playlists are broken. That’s why that would be a good thing that at least one Android client works as expected. As much as I enjoy Volumio, the official Android client does not feel like a finished product atm.

Don’t get me started on playlists… that’s the one thing keeping me from using Volumio which I think is otherwise the best audio player by far.

I suspect mpd is the real problem here, and I’m getting the feeling that any real solution wouldn’t be compatible with mpd. At least for now, it seems like we’d have to live with either:
a) really bad mpd based playlist support, or
b) a better solution that isn’t compatible with mpd, which would likely leave everyone using mpd based apps (most people?) out in the cold.

I started thinking about what my ideal solution for playlists would be, which I mentioned here:


Maybe continue the playlist discussion there?

@volumio This is still a big issue and I think this would be a great solution.
Why is this not implemented yet?