Skip to content

Stop the Software Catalog loading bar's clock when hidden - #5592

Merged
Gabriel Dufresne (GabrielDuf) merged 1 commit into
mainfrom
fix/5058-catalog-progressbar-gpu
Oct 23, 2026
Merged

Gabriel Dufresne (GabrielDuf) merged 1 commit into
mainfrom
fix/5058-catalog-progressbar-gpu

Conversation

@GabrielDuf

Copy link
Copy Markdown
Contributor

The Software Catalog page declared its loading ProgressBar with a static IsIndeterminate="True" and hid it through IsVisible. An indeterminate ProgressBar's animation clock keeps ticking while the control is hidden, so the compositor keeps producing frames at the display refresh rate. The page is created lazily and then cached, so after the first visit to Software Catalog the idle GPU drain fixed in #5061 came back.

This binds IsIndeterminate to IsLoading, the same flag that drives its visibility, matching how #5061 fixed every other indeterminate bar. It was the last static IsIndeterminate="True" in the app.

GPU usage while a reload or install is running is not addressed here: it comes from Avalonia's Windows renderer presenting the full window surface every frame, and is tracked upstream (AvaloniaUI/Avalonia#20757).

Fixes #5058

The Software Catalog page declared its loading ProgressBar with a static
IsIndeterminate="True" and hid it through IsVisible. An indeterminate
ProgressBar's animation clock keeps ticking while the control is hidden,
so the compositor keeps producing frames at the display refresh rate.
The page is created lazily and then cached, so after the first visit to
Software Catalog the idle GPU drain fixed in #5061 came back.

Bind IsIndeterminate to IsLoading, the same flag that drives its
visibility, matching how #5061 fixed every other indeterminate bar.

Fixes #5058

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟢 Approval recommended

The single binding change uses the existing observable loading state and introduces no identified blocking issues.

No open issues 🎉

What changed in this PR

Stops the Software Catalog loading animation when loading finishes, extending the idle GPU usage fix from #5061 to the cached catalog page.

Changes:

  • Binds IsIndeterminate to IsLoading, matching the progress bar’s visibility.
  • Leaves loading logic and rendering during active operations unchanged.
File Description
src/​UniGetUI.Avalonia/​Views/​SoftwarePages/​SoftwareCatalogPage.axaml Replaces the always-running progress animation with a loading-state binding.

Review effort: Balanced

@randy-but-a-ro randy-but-a-ro Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🤖 Pull request was approved automatically: the AI review is complete and all its review threads are resolved. 🎉

Integration Details
{
	"deliveryId": "5a56d820-cf20-11f1-9acb-f81f9582bbe0",
	"headSha": "91b689284d59f1d01eee3862b9d979628544fb3d",
	"reviewer": "copilot-pull-request-reviewer[bot]"
}

@GabrielDuf
Gabriel Dufresne (GabrielDuf) merged commit 5d8e9bc into main Oct 23, 2026
2 checks passed
@GabrielDuf
Gabriel Dufresne (GabrielDuf) deleted the fix/5058-catalog-progressbar-gpu branch October 23, 2026 20:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

[BUG] High GPU usage

2 participants