Hopefully the answer is simple:
They behave differently because they're very different programs.
The same things that make KO faster than PB reader in your examples make KO slower than PB in counterexamples, such as changing font face or font size in an epub.
Some more general info:
- KO is always constrained by hardware/firmware.
- Porting KO to a new platform involves porting input (buttons, touchscreen...) and ouput (screen drawing, epd updates) handlers.
- Some platforms, like Kobo or Remarkable expose a very generic interface at the firmware level and everything is implemented into a big blob (a.k.a stock app)
- Other platforms, like Pocketbook or Android, restrict low level access to these interfaces and provide a middleware to interact with.
As a rule of thumb platforms where we have raw access to generic input events & generic framebuffer can be optimized much more than platforms where we deal with middleware.
An extreme example of these differences is in partial refreshes: almost everywhere we can choose the waveform used to refresh the screen and adapt it to our tastes (i.e: increasing speed by loosing some quality if the rectangle we're going to draw is small or its content not so important).
That's not the case on Pocketbooks, where the middle man decides for us.
|