我真的很茫然.我有一个包含ItemsControl的扩展器,看起来像这样;
<ItemsControl ItemsSource="{Binding Source={StaticResource SomeItems}}">
<ItemsControl.ItemTemplate>
<DataTemplate>
<StackPanel>
<ContentControl Content="{Binding}" />
</StackPanel>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
Run Code Online (Sandbox Code Playgroud)
这在大多数机器(单核和双核)上扩展时都可以正常使用.出于某种原因,当在具有四核(i7)的全新机器上运行时,扩展此扩展器需要几分钟.我做了一些分析,当WPF测量元素时,似乎存在线程同步问题,实际花费测量和渲染的时间似乎可以忽略不计,等待线程同步的时间花费是其中的大部分.有没有人见过这样的东西?
仅供参考 - 我确实在三台不同的四核(i7)机器上尝试了这一点并且遇到了同样的问题.在许多旧机器上运行没有问题.我确认机器已完全打补丁,WPF正在使用硬件渲染.完成了强制性应用程序和框架重新安装.
还有什么想法可以看吗?
谢谢
- 来自评论的一些更新 -
- 扩展器已经扩展,折叠和重新扩展在问题机器上很快
- 即使禁用硬件渲染,行为也是一样的.我认为应该从等式中删除显卡.
- 我们正在运行.Net 4.0
- 根据要求提供一些规格 - 在Intel Core i7上赢得XP SP 3(4核)M 620 @ 2.67GHZ 2.98 GB RAM 275 GB可用存储
我的第一个想法是尽可能将显卡排除在外。尝试禁用 Aero 主题并返回到 Windows 基本版。
您还可以发布机器的完整规格吗?硬件、软件、32 位与 64 位、.net 版本等...
| 归档时间: |
|
| 查看次数: |
485 次 |
| 最近记录: |