View Single Post
Posts: 1,548 | Thanked: 7,510 times | Joined on Apr 2010 @ Czech Republic
#517
ad slow/erratic sqlite:
There are a few issues with sqlite in Python(2.5):
  • sharing connections between threads is not supported
  • concurrent access to the database from multiple connections probably causes the "database locked" errors - there were IMHO no reports about this error since I made the db access sequential (using a mutex)
  • sqlite was added in python2.5, so it might be more buggy than in newer Python versions
Because I need to access the database from multiple threads (automatic tile download threads,batch download threads + the background tile loading thread), I have created a tile-consumer thread, that manages all writing to the database through a synchronized queue. To make it more efficient it also writes the tiles in single transaction once it has about 50 tiles in its buffer.

Loading tiles from the db works in a same way - there is a tile loading tread, that consumes loading requests and outputs tile images.

And when just testing if tile exists, which is mostly done from separate (download) threads - I need to get a per-query connection

So, its a bit complicated

But, thanks to bringing my attention to this, because I might have found some possible optimizations:
  • grouping tile loading and existence testing to large transactions, should be faster (less overhead + would help to mitigate possible slowdowns caused by the forced sequential access)
  • do a combined load/store thread to reduce the number of active database connections
Any ideas how to further improve this ?

Originally Posted by cheve View Post
all,

According to this post http://talk.maemo.org/showpost.php?p...&postcount=175, one can setup espeak to use mbrola voice file instead of the 'standard' voice.

does someone has a step-by-step how-to guide for noob to set this up; so that we can use it with modRana?

Cheers,
I have found some debian packages for mbrola. Anyone willing to help with optifing them ?
__________________
modRana: a flexible GPS navigation system
Mieru: a flexible manga and comic book reader
Universal Components - a solution for native looking yet component set independent QML appliactions (QtQuick Controls 2 & Silica supported as backends)

Last edited by MartinK; 2011-02-14 at 16:15.
 

The Following User Says Thank You to MartinK For This Useful Post: