学无先后达者为师!
不忘初心,砥砺前行。

Avalonia UI 中使用 ProgressBar 控件时,请关注 CPU 占用。

ProgressBar 控件的 IsIndeterminate 属性如果为 True,则表示忙碌中并显示一个滚动动画。

在设置 IsIndeterminateTrue 之后, 如果显示过的 ProgressBar 被隐藏,那么动画是不会被禁用的。

注意到这点是因为:我使用 ProgressBar 做了一个加载提示,并在加载完成后将控件隐藏。在某个配置较低的服务器上,这个空闲不动的界面一直稳定的占用 30% 的 CPU 。

如何解决

该问题在 2018 年就有讨论:

https://github.com/AvaloniaUI/Avalonia/issues/2012

解决方式是将 IsIndeterminateIsVisiable 绑定为相同的值,大概就是下面的样子:

<ProgressBar
		IsVisible="{Binding IsBusy}"
		IsIndeterminate="{Binding IsBusy}" />

赞(0) 打赏
未经允许不得转载:码农很忙 » Avalonia UI 中使用 ProgressBar 控件时,请关注 CPU 占用。

评论 抢沙发

给作者买杯咖啡

非常感谢你的打赏,我们将继续给力更多优质内容,让我们一起创建更加美好的网络世界!

支付宝扫一扫

微信扫一扫

登录

找回密码

注册