代码之家  ›  专栏  ›  技术社区  ›  Christoph Jonathan

wpf使用更多处理器渲染速度较慢

  •  6
  • Christoph Jonathan  · 技术社区  · 14 年前

    我真的很迷茫。我有一个扩展器,里面有一个类似这样的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

    --按要求提供一些规格-- 赢XP SP 3 在 英特尔酷睿i7(4核) M 620@2.67GHz 2.98 GB内存 275 GB可用存储空间

    1 回复  |  直到 14 年前
        1
  •  1
  •   JaredPar    14 年前

    我的第一个想法是尽可能把显卡从等式中去掉。尝试禁用Aero主题并返回Windows Basic。

    你能把机器的全部规格都贴出来吗?硬件,软件,32对64位,.net版本,等等…