Thanks Max, yes I agree looking at how Clemetine have solved these problems
and implementing similar ideas would be a big step - there's no point
re-inventing the wheel!

Is this a possible solution, at least for now?

http://stackoverflow.com/questions/6737260/creating-a-thread-for-a-database-in-qt-a-reasonnable-design-or-nonsense

I'm not highly experienced with either Qt or C++ so I can only go by what
other people say is good/not good.




On 26 June 2012 12:27, Max Linke <max_li...@gmx.de> wrote:

> Hi
>
> see https://bugs.launchpad.net/mixxx/+bug/1010365
>
> This is a serious problem affecting almost all db transactions.
> I like the idea of Daniel to move all the db transactions into its
> own thread.
>
> best Max
>
> On Tue, 26 Jun 2012 12:15:42 -1000
> "keithsalisb...@gmail.com" <keithsalisb...@gmail.com> wrote:
>
> > 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
> Mixxx-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/mixxx-devel
>



-- 
keithsalisb...@gmail.com
------------------------------------------------------------------------------
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
Mixxx-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mixxx-devel

Reply via email to