View Single Post
Old 08-14-2013, 04:52 AM   #261
kovidgoyal
creator of calibre
kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.
 
kovidgoyal's Avatar
 
Posts: 45,484
Karma: 28005164
Join Date: Oct 2006
Location: Mumbai, India
Device: Various
The problem with precaching is that if you precache and the user does something else, you pay a performance cost, say you precache the next screen worth of covers and the user decides to do a search instead or change the sorting. Or jump several screens.

Then the render thread will have to finish rendering the precached covers before it can get to rendering the current screen of covers.

More importantly, scrolling just one screen of covers is instant with the disk cache (even on my three year old netbook), slowness only happens if you scroll through several screens at once, which precaching the next screen wont help with anyway. The only way around that is to increase the size of the memory cache and pre-fill it, which wastes *a lot* of RAM and CPU.

To put it another way, I can scroll through the disk cached covers at a speed that is faster than my eye can follow. Which is fast enough.

Last edited by kovidgoyal; 08-14-2013 at 04:55 AM.
kovidgoyal is offline   Reply With Quote