[Interest] How to properly show progress for a signal processing pipeline

Igor Mironchik igor.mironchik at gmail.com
Mon Apr 8 17:17:10 CEST 2019


Hi,

Have a look at Qt Maintenance Tool download meta information progress bar...

On 08.04.2019 18:04, Tony Rietwyk wrote:
> Hi Sean,
>
> I would just show one progress set to 3 * raw count.  Each stage 
> periodically signals to the ui thread its progress, and whether it has 
> processed the end-of-data signal from the previous stage.  In the ui 
> thread slot:
>
> int totalCount, rawCount;
>
> QVector<int> stageProgress;
>
> void stageProgressSlot(int stageIndex, int count, bool completed) {
>
>     Q_ASSERT(count <= rawCount);
>
>     auto thisCount = (if completed ? rawCount : count);
>
>     Q_ASSERT(thisCount >= stageProgress[stageIndex]);
>
>     totalCount += thisCount - stageProgress[stageIndex];
>
>     stageProgress[stageIndex] = thisCount;
>
>     ui->progress->setValue(totalCount);
>
> }
>
> It will always appear to start slowly then jump forward depending on 
> the degree of filtering.  I can't see a way to avoid that other than 
> Bill's idea.
>
> Hope that helps,  Tony
>
>
> On 9/04/2019 12:16 am, william.crocker at analog.com wrote:
>>
>>>
>>>   So the issue I'm having here is that I want to show the user some 
>>> sort of progress indicator (this whole pipeline takes a bit of 
>>> time), but at the start I only know the raw count, not any of the 
>>> intermediate or final counts. And because the A->B->Final portion of 
>>> the pipeline takes a noticeable amount of time, I can't just run the 
>>> progress bar from 0 to Raw count, because then from the user's 
>>> standpoint the progress bar would reach 100% once the number of raw 
>>> samples is exhausted, not when processing is fully complete.
>>>
>>
>> You could show three progress bars, one for each stage.
>> Assume each item will pass through each stage (which is pessimistic)
>> and show progress based on that. In most cases the whole
>> process will finish early based on the bars, but progress
>> will be shown.
>>
>> Bill
>> _______________________________________________
>> Interest mailing list
>> Interest at qt-project.org
>> https://lists.qt-project.org/listinfo/interest
> _______________________________________________
> Interest mailing list
> Interest at qt-project.org
> https://lists.qt-project.org/listinfo/interest


More information about the Interest mailing list