View Single Post
Old 07-22-2012, 09:51 AM   #1
MisterMax
Enthusiast
MisterMax is a jewel in the roughMisterMax is a jewel in the roughMisterMax is a jewel in the roughMisterMax is a jewel in the roughMisterMax is a jewel in the roughMisterMax is a jewel in the roughMisterMax is a jewel in the roughMisterMax is a jewel in the roughMisterMax is a jewel in the roughMisterMax is a jewel in the roughMisterMax is a jewel in the rough
 
Posts: 25
Karma: 7365
Join Date: Jul 2012
Location: Italy
Device: 2 Kobo Touch
Talking How to speedup page turn on sideloaded epub on Kobo Touch with Firmware 2.0

In the last 2 days I've done many test on my brand new Kobo Touch upgraded with firmware 2.0.0 (r41166 12/07/12)

I've found a way to speed up the infamous slow page turn on sideloaded epub with firmware 2.0

Short Q/A:
*) will this trick make a sideloaded epub fast as a kepub? No, it wont.
*) will this trick make a sideloaded epub faster? Yes, it will.


Long story short: if you use Calibre, you need to change a value in the epub output options.
Change the "Split file larger than" parameter from it's default value (260Kb) to the minimum value of 25Kb

I've attached some screenshots that show how to change this parameter.

Backup your library before proceeding further :-)

After changing the "Split file larger than" parameter to 25Kb, you need to regenerate you epub files.
You can regenerate the epub from the original source (RTF/PDF/ODT/TXT...) if any... or you can generate a new epub starting from the original epub.
Calibre will take care of that.

Now, how much faster/slower are sideloaded epub vs. kepub books?
I gathered the following data using my webcam, and counting the number of frame between page refresh.
I start counting when my finger touch the screen, I stop counting when the new page look "final" on the screen (the Kobo need 3/4 frame (of my webcam) to "finish up" the rendering of any page shown)
My webcam goes at 30fps, so we have a precision of about 0,03sec.
For any measure I've counted the number of frame took by 6 pages turn (5 partial pages turn and 1 full page turn) and then I've calculated the average value.

First thing discovered: a partial page refresh employ the exact same time of a full page refresh.
So, partial page refresh are not faster nor slower than full page refresh.

Now, here is the page turn speed data:

Kepub book: 1,26 sec
Sideloaded epub: 1,93 - 3,52 sec
Optimized Sideloaded epub: 1,71 - 2,21 sec

The page turn speed on epub depend heavily from the internal epub structure.
I've looked at the internal of some epub/kepub books: in general, bigger and complex html files mean slower page turn.
This is why telling Calibre to split html file every 25Kb make the page turn faster.
The page turn speed on the same epub will also change depending on which page you are, I suspect that it depend on how much data the kobo need to elaborate to show the specific page you are reading.

During my experimentation I've tested many kind of optimization (remove style, remove image, change the html split file size, change the compression algorithm parameter....) I've done test on epub optimized in more than 30 different way.
The only thing that give any useful result is this "Split file larger than 25kb" parameter optimization.

This optimization impact on more than the simple page turn speed.
The whole epub experience became faster.
The goto page function is much more responsive. On an standard epub you can wait 3 or 4 second before the page refresh... on an optimized epub this is much faster (I didn't measure it, but it's about 3 or 4 time faster).

Here is some of the video I shot with my webcam:

Kepub



Standard Epub (no optimization)


Optimized Epub (Calibre "Split file larger than 25kb" parameter)


Another interesting video is the closeup of the page refresh.
It's interesting to see how the page refresh unfold out frame by frame.
To see it frame by frame you probably need to download the video and use a player like the MediaPlayerClassic


This optimization work for me on my epub.
I've tested different epub, and I've seen that the impact of this optimization vary book-by-book.
Anyway, an optimized epub is always faster than the standard version of the same epub, in the worst case scenario, the page turn speed is the same, but it only happened in a single case during my testing.

I'm very curious to know if this optimization works for other people too.

Another interesting thing is the impact of page turn speed on the reading experience.
Now, I know that in best case scenario, an optimized epub is only 0,5 sec slower than a kepub (1,7 sec vs. 1.2 sec) but the real experience is that IT FEEL much slower.
The reality is that a reaction time of 1,2 sec seem near instantaneous, whether a reaction time of 1,7 sec doesn't, it feel slow, it feel like a pause, an interruption in the flow of what i was doing.

About the usability, keep in mind that the worst case scenario is is 1.2 sec vs. 3.5 sec (on an unoptimized epub). It is slow as a turtle.... :-|

Please Kobo Dev Team, fix this slow page turn on sideloaded epub.
Attached Thumbnails
Click image for larger version

Name:	s1.PNG
Views:	1194
Size:	136.8 KB
ID:	89543   Click image for larger version

Name:	s2.PNG
Views:	1218
Size:	84.6 KB
ID:	89544   Click image for larger version

Name:	s3.PNG
Views:	1281
Size:	92.7 KB
ID:	89545   Click image for larger version

Name:	s4.PNG
Views:	1146
Size:	92.3 KB
ID:	89546  

Last edited by MisterMax; 07-22-2012 at 09:58 AM.
MisterMax is offline   Reply With Quote