c# - BlurEffect 在应用效果之前有很长的延迟

标签 c# .net wpf blur

我正在尝试在另一个窗口上使用弹出窗口。使用 showDialog 方法调用弹出窗口,其中弹出窗口本身只是设计为弹出窗口的另一个窗口。

我想让后窗变得模糊,以便将焦点设置到弹出窗口。 我尝试使用:

 BlurEffect objBlur = new BlurEffect();
 objBlur.Radius = 30;
 this.Effect = objBlur;
 popup.showDialog();
 this.Effefct = null;

问题是程序有点“卡住”了一段时间,需要很长时间才能看到弹出窗口。

如果没有模糊效果,弹出窗口当然会立即显示。当半径较低时,延迟时间较短,但半径非常低(如 5)时,会花费太多时间。

有什么问题吗?我可以解决这个问题吗?如果没有,有没有更好的方法来实现这一目标?

最佳答案

尝试改变BlurEffect.KernelTypeBox值(value)。高斯内核可创建更高质量的模糊,但如果考虑性能,请使用 Box 内核,因为它使用的计算量较少。还要确保 RenderingBias是性能(默认)。

关于c# - BlurEffect 在应用效果之前有很长的延迟,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10173509/

相关文章:

c# - 由于 AppDomain 在项目之间交叉时,通过 Resharper 8 测试运行 NUnit 失败

.net - 授予对 Outlook 应用程序的访问权限

c# - ComboBox SelectedItem 绑定(bind)不更新

c# - 从 Eventhandler 中删除所有方法

c# - 如何从 TabControl 中隐藏 TabPage

c# - 以编程方式更改 Windows 10 锁屏背景(在桌面上)

所有列的 WPF GridView 共享单元格模板

c# - 当 ListView 的 ItemsSource 改变时触发事件

c# - C# 中的 System.String[*] 和 System.String[] 区别

c# - Windows 四月更新后我的应用程序停止提供静态文件