So, if there is anything that can slash the loading time, apply it by all means
Once the scrollable list shows up, it looks to be filling up asynchronously. Only small part of the list (5-7 items) is shown at any moment of time. So, what part of rendering contributes to that delay?
I doubt that scrolling delays are directly caused by the thumbnail rendering (they may though, and then it is all up to the filesystem responsiveness). Instead, they may be caused by garbage collection or some other internal process in Python. If it is true, then it would be fixable by preallocating all memory for the list before scrolling it.
self.render_icon
render_label
render_bg