Rockbox General > Rockbox General Discussion

How is dircache supposed to work?

<< < (3/4) > >>

AlexP:
This sounds a bit dangerous - what if something changes and you forget to update it, then Rockbox tries to write something?  I'm sure you could hack it to do this, but I don't think the chances of it happpening in SVN are very high.

sadur:
Ok, I've only posted my impressions on that. If there is a way of knowing if the files have changed or not on every boot it would be nice to improve the dircache load time.
Thank you.

AlexP:
On virtually all targets there isn't without reading all the files (which is what dircache does so you save nothing) as you could have either used bootloader USB (although we could do something about that) or more of a problem USB in the OF.

gevaerts:

--- Quote from: sadur on August 28, 2010, 11:15:00 AM ---On my iPod 5.5G 80GB I have thousands of music files and with a similar directory structure I have thousands of playlists files.
If I begin to navigate the file structure before the dircache stops and play some album, the playback delays several seconds, and all slows down.

--- End quote ---

Which rockbox version are you running?

Edit: I'm asking this because I committed a disk IO priority system somewhere in April (so before 3.6), specifically to solve this issue. I just tested again on my 30GB ipod video, with a test set of about 80000 files, and it works perfectly fine. The player is responsive immediately after boot, and playback starts immediately, with dircache enabled. The disk is still busy for a minute or so of course (there is still a full rescan on boot), but apart from using some battery this doesn't have any impact.

sadur:
I'm on r27860.
My player is responsive immediately after boot if I only navigate through the files or menus, but if I play something before the disc stops working because of dircache, both the playback and the dircache scannig delays several seconds, depends on the amount left to scan, I guess.

Navigation

[0] Message Index

[#] Next page

[*] Previous page

Go to full version