2012-05-02 62 views
0

我的wpf应用程序运行速度非常慢。我从Windows使用wpf的性能分析工具,并发现我的每帧硬件IRT很高(100+)。我在帮助中看到这是由一些影响造成的。禁用一些效果后,我发现这是原因...WPF DropShadowEffect性能问题,寻找更换

 <Border.Effect> 
      <DropShadowEffect Direction="45" Color="#DDDDDD"/> 
     </Border.Effect> 

我对所有的拖放对象都使用了这种效果。

现在我正在寻找一种不会冻结整个应用程序的类似效果。 .net 4.0中有什么影响我可以用来实现这一点?

非常感谢您

大卫

+0

什么是视频卡/驱动程序的硬件规格?您可能需要确保使用GPU而不是CPU渲染阴影。 –

+0

我的视频卡是带有2012.0309.43.976驱动程序的ati 4650M。但是,如果它是软件呈现不是软件IRTs(那些几乎都是0)? – DavidVdd

回答

0

在用户控件也解决了问题使用位图缓存。除非缩放非常重要,您可以使用此...

<UserControl x:Class="myControl" 
    CacheMode="BitmapCache" 
> 
<Grid> 
</Grid> 
</UserControl> 
1

你可以尝试SystemDropShadowChrome

+0

是的,它的效果更好,但它仍然可以降低每秒钟的帧数。我正在考虑设置详细程度的选项。非常感谢 – DavidVdd