我真的很茫然。我有一个包含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可用存储空间
答案 0 :(得分:1)
我的第一个想法是尽可能地将显卡排除在外。尝试禁用Aero主题并返回到Windows基本版。
你也可以发布机器的完整规格吗?硬件,软件,32对64位,.net版本等......