View Single Post
Posts: 3,319 | Thanked: 5,610 times | Joined on Aug 2008 @ Finland
#8
Originally Posted by karatchov View Post
@atila77: I'm very interested with pyqtoreader, and I'll be happy if you give me an idea about some points :
* How fast can pytoreader render html ? Responsiveness is a Major requirement in this project.
I'm using Qt to render html, so I'd say it's pretty quick if you don't have a fancy layout in the book. Also, I do cheat. I'm employing several tricks to avoid reading/parsing the WHOLE html file. This results in a major speedup in even the largest html files, but can break some of the aforementioned layouts.

As for responsiveness as in UI, I'd say liqbase will be invariably be faster on *today's* devices. Especially the startup time The graphicsview double buffering is no match for lcuk's black magic on a N8x0. However, the moment Maemo devices receive 3D acceleration (which is announced for the next generation), I believe this advantage will be more than matched as graphicsview talks OpenGL natively so I can bring on the heavy artillery

* Should I use pure python to write a module ? Can I trust python as a language for a fast eBook engine ?
It's your call ! Python is excellent as a glue language - you can write your code in C/C++ and then interface it to Python with minimal effort. I'd say use the language you're more proficient with - language speed rarely makes up for programmer experience except for the simplest constructs. If you're equally good in both and don't mind setting up scratchbox or a native dev environment, go for C/C++.

* Honestly I'm not convinced about writing a plug-in, then optimizing the core, this approach may not be as easy and straightforward as starting from zero with speed in mind.
I can tell you straight away that the devil is in the details. It's not hard to write a reader, it's hard to write a QUICK reader as you have to cut a lot of corners. This in turn requires detailed analysis and experimenting with the underlying formats you want to support. That work/knowledge can be put to good use in both a plugin and a standalone project.