Quote:
Originally Posted by Tomsk
Not necessarily.
Going forward is easy as the Kindle knows where the start of the next page is, ie at the end of the current one.
Going backwards the Kindle has to calculate where the start of the previous page is, unless it stores the previous page start location in memory.
|
I've never written software for an eBook reader, but I speculate that they store between 2 to 10 pages in a cache of display memory for turning speed. (the amount of memory required is small) If the designers believe that people are more far likely to turn the page forward than backwards, they will try to keep the cache full of "Next" pages with few "previous" pages in cache.
But going backwards, you probably don't have any more than one "old" page in the cache. However many old pages you have in cache, you still have to promote all the old pages forward towards the 'current' position, and all the 'next' pages forward into the future read status and delete from cache those pages that now extend beyond the cache. Then you have to recalculate index of where the page stop and start locations are in permanent memory. This indexing is probably the big time user. Some of this could be done after the new 'current' page is displayed and the reader is 'at rest' while you read.
I would think you could promote/demote and display Pages in cache pretty quickly, but reading old pages from permanent storage could be time consuming. The older, slower, lower powered chips currently found in readers don't mutltask all that well so everything has to be done pretty much sequentially. So the illusion of immediacy is not created.
But if you use a faster, more current chip, this process could be sped up through multitasking. Unfortunately, this would likely come at the price of reduced battery life, extra heat issues, and of course the cost of more expensive parts.
Not to excuse the programmers, I suspect there is a LOT that could be done with the current OS programming to speed things up. But every decision you make has 'downstream' implications when it comes to response speed. Just one essentially 'correct, but not optimal' decision could have a profound impact on performance. A half dozen such decisions could create a byzantine network of inter-relatedness that is very difficult to unravel.