WPF渲染速度越慢,处理器越多

时间:2010-08-19 17:12:56

标签: wpf performance

我真的很茫然。我有一个包含ItemsControl的扩展器,看起来像这样;

<ItemsControl ItemsSource="{Binding Source={StaticResource SomeItems}}">
   <ItemsControl.ItemTemplate>                                
      <DataTemplate>
         <StackPanel>
            <ContentControl Content="{Binding}" />
         </StackPanel>
      </DataTemplate>
   </ItemsControl.ItemTemplate>                                
</ItemsControl>

这在大多数机器(单核和双核)上扩展时都可以正常使用。出于某种原因,当在具有四核(i7)的全新机器上运行时,扩展此扩展器需要几分钟。我做了一些分析,当WPF测量元素时,似乎存在线程同步问题,实际花费测量和渲染的时间似乎可以忽略不计,等待线程同步的时间花费是其中的大部分。有没有人见过这样的东西?

仅供参考 - 我确实在三台不同的四核(i7)机器上尝试了此操作并遇到了同样的问题。在许多旧机器上运行没有问题。我确认机器已完全打补丁,WPF正在使用硬件渲染。完成了必须的应用程序和框架重新安装。

还有其他想法吗?

由于

- 评论的一些更新 -

- 扩展器已经扩展,崩溃和重新扩展在问题机器上很快

- 即使禁用硬件渲染,行为也是一样的。我认为这应该从等式中删除显卡。

- 我们正在运行.Net 4.0

- 有些规格要求 - Win XP SP 3 上 英特尔酷睿i7(4核) M 620 @ 2.67GHZ 2.98 GB的RAM 275 GB可用存储空间

1 个答案:

答案 0 :(得分:1)

我的第一个想法是尽可能地将显卡排除在外。尝试禁用Aero主题并返回到Windows基本版。

你也可以发布机器的完整规格吗?硬件,软件,32对64位,.net版本等......