Performance Issues with WF 2.0 on a Netbook

Bug #981235 reported by Daniel Schürmann
12
This bug affects 2 people
Affects Status Importance Assigned to Milestone
Mixxx
Fix Released
Medium
Thomas Vincent

Bug Description

On My netbook the new waveform 2.0 is not usable because of performance issues.
* Atom CPU N270 @ 1.6GHz
* 2 GiB RAM
* Ubuntu Lucid
* QT Version Qt version 4.6.2.
* Intel 945GME

The current framerate of "Filtered (GL)" is ~12 fps and the rest of the GUI reacts to slow for normal usage.
The current framerate of "Filtered" is about 2 fps and "Filtered (GLSL)" is at 30fps but did not display any waveforms.

I really think the Waveform 2.0 is cool, at least at my Desktop PC.
But I think we need also a solution for less powerfull Hardware.
Is it possible to reintegrate the old waveform until the performance issues of wf 2.0 are solved?

Tags: waveform

Related branches

Revision history for this message
RJ Skerry-Ryan (rryan) wrote : Re: [Bug 981235] [NEW] Performance Issues with WF 2.0 on a Netbook

How do Simple and Simple (GL) do?

Thanks
RJ

2012/4/13 Daniel Schürmann <email address hidden>

> Public bug reported:
>
> On My netbook the new waveform 2.0 is not usable because of performance
> issues.
> * Atom CPU N270 @ 1.6GHz
> * 2 GiB RAM
> * Ubuntu Lucid
> * QT Version Qt version 4.6.2.
> * Intel 945GME
>
> The current framerate of "Filtered (GL)" is ~12 fps and the rest of the
> GUI reacts to slow for normal usage.
> The current framerate of "Filtered" is about 2 fps and "Filtered (GLSL)"
> is at 30fps but did not display any waveforms.
>
> I really think the Waveform 2.0 is cool, at least at my Desktop PC.
> But I think we need also a solution for less powerfull Hardware.
> Is it possible to reintegrate the old waveform until the performance
> issues of wf 2.0 are solved?
>
> ** Affects: mixxx
> Importance: Undecided
> Status: New
>
> --
> You received this bug notification because you are a member of Mixxx
> Development Team, which is subscribed to Mixxx.
> https://bugs.launchpad.net/bugs/981235
>
> Title:
> Performance Issues with WF 2.0 on a Netbook
>
> To manage notifications about this bug go to:
> https://bugs.launchpad.net/mixxx/+bug/981235/+subscriptions
>

Revision history for this message
Daniel Schürmann (daschuer) wrote :

With "Simple (GL)" the framerate is ~22 fps . "Simple" is not selectable.
This might be good enough, but it suffers bug #981210 and I have the impression, that the Simple mode is less detailed compared to the old waveform.

RJ Skerry-Ryan (rryan)
tags: added: waveform
Changed in mixxx:
milestone: none → 1.11.0
importance: Undecided → Medium
Revision history for this message
Owen Williams (ywwg) wrote :

I think a lot of the performance issue is the generation of the waveform, which uses high quality filters. Just switching to the IIR filters seems to be an improvement and runs faster. Based on a stopwatch count, high quality filters took 9.6 seconds to analyze a 9 minute track, whereas the IIR filters only took 7.8 seconds. Analysis time is important if I've just upgraded to 1.11 and every single track needs to be re-analyzed.

At the very least, waveform analysis needs to be interruptable. If I'm choosing among different tracks to play back, the waveform analysis queues up.

Another option is, if any deck is playing back at the time the track is loaded, don't do a full analysis. Just do the overall power and save that. Maybe we can have mixxx do the more complex banded analysis in the background when nothing is playing?

Revision history for this message
Phillip Whelan (pwhelan) wrote :

> At the very least, waveform analysis needs to be interruptable. If I'm choosing among different tracks to play back, the waveform analysis queues up.

This is an outstanding problem from way back. I was hoping to use coroutines to fix this but there is no stable, multi-platform library for this. A solution would be to rewrite the analysis callbacks to be re-entrant and stateful as well as interruptable. Each analyser would get called and work only on a slice. The outer loop could then switch between tracks as well as allow tracks to be removed from the analysis queue.

Revision history for this message
RJ Skerry-Ryan (rryan) wrote : Re: [Bug 981235] Re: Performance Issues with WF 2.0 on a Netbook

On Mon, May 7, 2012 at 6:57 PM, Phillip Whelan <email address hidden>wrote:
>
> Each analyser would get called and work only on a slice.
>

This is how the analyser queue works today. Cancelling an individual track
can be done in-between slices, as long as you add a cleanup() method to
each analyser (like finalize()).

Selecting from the queue based on tracks which are loaded or not loaded is
a quick, easy improvement. Cancelling is slightly trickier but do-able.

>
> --
> You received this bug notification because you are a member of Mixxx
> Development Team, which is subscribed to Mixxx.
> https://bugs.launchpad.net/bugs/981235
>
> Title:
> Performance Issues with WF 2.0 on a Netbook
>
> To manage notifications about this bug go to:
> https://bugs.launchpad.net/mixxx/+bug/981235/+subscriptions
>

Revision history for this message
Owen Williams (ywwg) wrote :

I suggest we break up 1.11 performance issues into multiple bugs. This bug can be the catchall for "let's get performance better" and create a new one for each issue. I suspect that analysis is only part of the problem.

Revision history for this message
Thomas Vincent (vrince) wrote :

I agree analyser performance should be reported elsewhere.

Changed in mixxx:
assignee: nobody → Thomas Vincent (vrince)
Revision history for this message
Thomas Vincent (vrince) wrote :

Simple 1.10 like waveform are in wavefrom-2.0_pure-gl almost ready to be merged

Changed in mixxx:
status: New → Fix Committed
Thomas Vincent (vrince)
Changed in mixxx:
status: Fix Committed → In Progress
Revision history for this message
Thomas Vincent (vrince) wrote :

Daniel can you test on machine described in this report see if 1.10 like waveform are usable ?

Changed in mixxx:
status: In Progress → Fix Committed
RJ Skerry-Ryan (rryan)
Changed in mixxx:
status: Fix Committed → Fix Released
Revision history for this message
Swiftb0y (swiftb0y) wrote :

Mixxx now uses GitHub for bug tracking. This bug has been migrated to:
https://github.com/mixxxdj/mixxx/issues/6365

lock status: Metadata changes locked and limited to project staff
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.