【问题标题】:Basic WPF application take 10s to open (.NET 4.5)基本的 WPF 应用程序需要 10 秒才能打开 (.NET 4.5)
【发布时间】:2015-06-16 19:01:38
【问题描述】:

情况如下: 我只是用一个简单的网格构建了一个基本的 WPF 应用程序,该网格带有一个显示 Hello Word 的 <LabeL>

这是 XAML:

<Window x:Class="TestShell.NoCaliburn.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="MainWindow" Height="350" Width="525">
    <Grid>
        <Label VerticalAlignment="Center" HorizontalAlignment="Center">Hello World!</Label>
    </Grid>
</Window>

在我的机器上,我安装了.Net 4.5,并且应用程序不到一秒就会显示出来。但在我同事的机器上,应用程序会在 ≈10s 之后出现。

  • 我尝试在我的同事机器上修复 .Net 框架
  • 运行此Command(NGEN 更新)
  • 在不同的.NET版本下编译应用程序
  • 以 32 位和 64 位编译应用程序。

注意 这种行为只发生在 WPF 中

我错过了什么?

【问题讨论】:

  • 机器的规格一样吗?是否有其他程序正在运行?
  • 另一台机器上是否有病毒扫描程序,但您的机器上没有?
  • SSD 驱动器、网络驱动器、...
  • 这里涉及的因素太多了,从 CPU、HD 到负载和使用模式(Fx 是否已经加载?)。只有您可以列出差异,也许可以在第三台 PC 上尝试。
  • 如果第二台(慢速)机器安装了 Visual Studio,您可以运行性能分析器并检查导致此问题的方法。它可能会提示您可能出现的问题(例如 WPF 字体缓存或其他内容)。

标签: c# .net wpf ngen


【解决方案1】:

我遇到了这个问题

我的 wpf 应用程序通常:

1- 在 32 位系统上运行比 64 位系统更快

2-如果安装了directx,它会影响应用程序,因为wpf是基于directx运行的,directx的版本也很重要:

  • directx 版本 7 或更高版本:无图形硬件加速

  • directx 版本 7 或更高版本且低于 9.0 版本:渲染第 1 层部分图形硬件加速

  • directx 版本 9 或更高版本:大多数图形功能使用图形硬件加速。

所以最新版本总是更适合您的 wpf 应用

使用 .net 版本 4 或更高版本,以获得更清晰的文本

还要检查显卡驱动是否已安装,版本是否为最新版本

还有更多...但这些信息足以满足您的情况

祝你好运

【讨论】:

    猜你喜欢
    • 2014-10-13
    • 2011-02-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-05
    • 1970-01-01
    • 2017-11-25
    • 1970-01-01
    相关资源
    最近更新 更多