digimezzo / dopamine

The audio player that keeps it simple
https://digimezzo.github.io/site/
GNU General Public License v3.0
1.58k stars 110 forks source link

Opening folders slow when there are a large number of music files #695

Closed EricChan1989 closed 1 month ago

EricChan1989 commented 1 month ago

Dear Support,

I am using the latest preview version, and found that once I try to open a folder which contains a large number of music files, it is very slow. I am thinking if it is caused by the application trying to load the tags for all thr music files?

If it is the case, what if we change the application's logic to only load limited tags when opening a folder, and then load all the tags when playing a music?

Thanks.

digimezzo commented 1 month ago

@EricChan1989 How many files are we speaking about? Do you mean that this happens when browsing through folders on the "Folders" screen?

EricChan1989 commented 1 month ago

@EricChan1989 How many files are we speaking about? Do you mean that this happens when browsing through folders on the "Folders" screen?

I have a folder which contains about 500 songs, about 4GB size totally, and yes, it is about the folders screen. The songs are located on an ssd on an smb location on a LAN windows computer which has a more than good performance for network (2.5Gbps), storage (500-600Mbps) and performance (the CPU of the smb share is I5 12600). It makes sense if the 1st time opening that large folder would take a long time ( it takes about 10-15secs to load it), however, the current issue is that each time I open it, it takes such long time, even if i did not close the application. I tried to copy the folder onto the local computer which runs dopamine, which also has a very good performance for a music player (almost the same specs as the smb storage compiter), and it can take a bit shorter time but it may still take about 5-6 seconds to open the folder. I guess that maybe the logic of loading music tags can be optimised to make this ptocess quicker? Thank you very much for your prompt response anyway!!!

digimezzo commented 1 month ago

@EricChan1989 Thanks for the detailed info. It's indeed the reading of the tags that causes the delay. I already stripped reading of the tags to the bare essential for the folder screen many previews ago due to performance. It improved a lot. 5-6 seconds for 500 songs is quite reasonable, but I understand that it's frustrating to wait. I'll try to add some tweaks to make the experience quicker in preview 35. Thanks for reporting this problem.

EricChan1989 commented 1 month ago

thanks for your updates. I am thinking if it is possible to create a database maybe at the 1st time of loading all the tags. after that, only the differences would be loaded, or maybe a rescan can only be triggered manually, which can increase the performance for a lot. thanks.

digimezzo commented 1 month ago

@EricChan1989 Could you try out the build which is here: https://github.com/digimezzo/dopamine/actions/runs/11150974446 It has tweaks for the folder performance issue. Thanks

EricChan1989 commented 1 month ago

I have to say that this version is more than perfect related to this reported issue. everything is very smooth, even if the folders are in Lan, remotely from my local computer. I believe this issue can be marked as resolved now. thank you very much for your efforts!!!

digimezzo commented 1 month ago

@EricChan1989 Thank you for confirming. I'll release this fix in preview 35.