Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Spinning Ducks stop spinning between end of Parse, and refresh of Inspection Results #3321

Closed
ThunderFrame opened this issue Aug 31, 2017 · 4 comments
Assignees
Labels
feature-inspections technical-debt This makes development harder or is leftover from a PullRequest. Needs to be adressed at some point. user-interface This issue explicitly relates to the visible interface of Rubberduck.

Comments

@ThunderFrame
Copy link
Member

I'm unsure if this is because the CPU is flat-out when running inspections, and the WPF animation isn't updating, or whether the animation is stopped (but not removed) when the Parse/Resolve completes.

The frozen ducks are delicious when slow-cooked suggest that the process is hung, and should perhaps keep spinning until the inspection results are refreshed.

Obviously this UI anomaly only occurs when you have a lot of inspection results. My open projects generate about 900 results (some of which are aggregated, so the total number of inspection results is probably closer to 2000)

@ThunderFrame ThunderFrame added feature-inspections quality-control user-interface This issue explicitly relates to the visible interface of Rubberduck. labels Aug 31, 2017
@retailcoder
Copy link
Member

The ducks would be showing for as long as "busy" state is true. The ViewModel's RefreshInspections method sets it to true, runs the inspections asynchronously (awaits the results), then groups the results accordingly with the selected grouping, and then the very last thing that it does, is dispatching these instructions to the UI thread:

        UiDispatcher.Invoke(() =>
        {
            Results = new ObservableCollection<IInspectionResult>(results);

            IsBusy = false;
            IsRefreshing = false;
            SelectedItem = null;
        });

I don't see how else we can do this.

@ghost
Copy link

ghost commented Aug 31, 2017

This feels like an area where we could do some optimization and performance improvements re: the UI. I'll see what I can do.

IMHO, its UI performance, or trying to implement multithreading. :/

@ghost ghost self-assigned this Aug 31, 2017
@Vogel612 Vogel612 added technical-debt This makes development harder or is leftover from a PullRequest. Needs to be adressed at some point. and removed quality-control labels Nov 16, 2017
@Vogel612 Vogel612 added this to TODO in CodeName: Cucumber Nov 18, 2017
@comintern comintern self-assigned this Jan 16, 2019
@comintern
Copy link
Contributor

This should be fixed when #4717 merges.

@comintern
Copy link
Contributor

Should be closed by #4717.

CodeName: Cucumber automation moved this from TODO to Done Feb 9, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature-inspections technical-debt This makes development harder or is leftover from a PullRequest. Needs to be adressed at some point. user-interface This issue explicitly relates to the visible interface of Rubberduck.
Projects
Development

No branches or pull requests

4 participants