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

Reply via email to