A quick AHA moment came today when I was witnessing how achingly slow the RasPi was browsing through TV shows (Choose title, count to 7, choose season, count to 7, choose episode, etc).

So, aha; Went straight to XBMC > Settings > Video > File and deselected ‘generate thumbnails’.
Note: If anyone with clout reads this; this should be default for RasPi installs.

XBMC does not use the GPU to process thumbnails, which means that every time you are browsing a folder, it’s using the underpowered CPU to read one file, render a frame, and compress that in to an image, then do that for every thing else on the screen.

Edit: I don’t have the coding skills to put in the work to make this happen, but what makes sense is to split off a thread that generates the thumbnails with absolute low priority and ability to be terminated instantly (when someone presses play, or changes folders). The UI should also stop caring altogether when the thread is sent off: it shouldn’t wait, but just check in passively later to see if it’s done.