Working together with Varun, we've realised that using the active library
filter aka "Selector" feature, causes a hang in the interface each time one
of the filters is applied. This is caused by the hit to the database, so I
have two suggestions to improve the performace:
1. Implement the filters on qtTableView directly in C++, like
(this<http://stackoverflow.com/questions/6785481/how-to-set-filter-option-in-qtablewidget>)
negating any need to re-request anything from the database.
2. Implement some kind of thread for the operation - looking through the
code, /src/library/browse/browsethread.cpp is something like this?
3. Investigate improving the performance of the sqlite database - from my
limited understanding, this is already using caching as much as possible -
but perhaps there are some more indexes we can add to help the queries - an
example is this "WHERE ((Genre == 'House' AND (Bpm > 122 AND Bpm < 125) AND
Key in ('Fm','A#m')) AND id in (.....)"
The suggestions from a previous project are to do this:
Use Transactions
Use Pre made statements
And Apply these settings (right after you create the DB)
PRAGMA main.page_size = 4096;
PRAGMA main.cache_size=10000;
PRAGMA main.locking_mode=EXCLUSIVE;
PRAGMA main.synchronous=NORMAL;
PRAGMA main.journal_mode=WAL;
PRAGMA main.temp_store = MEMORY;
Can anyone give thoughts/feedback on the above, what has already been done?
thanks
Keith
------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and
threat landscape has changed and how IT managers can respond. Discussions
will include endpoint security, mobile security and the latest in malware
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
_______________________________________________
Get Mixxx, the #1 Free MP3 DJ Mixing software Today
http://mixxx.org
Mixxx-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mixxx-devel