WPF白屏渲染问题

3

我正在接手一份旧的WPF应用。

我发现有时启动时会出现白屏。这种情况并非总是发生,只有当我将鼠标移动到屏幕上时才开始看到UI的部分区域绘制出来。我从未看到过整个UI被绘制出来,只能重启应用程序。

我们使用的是Windows 8.1和.net 4.5。

很抱歉提供的信息较少,但若有任何线索请告知,谢谢。

1个回答

2

不了解代码的情况下,看起来WPF渲染线程没有跟上,建议您尝试以下几个方法:

  1. 在不同的机器/显卡上尝试并查看是否发生相同的行为
  2. 检查您的CPU是否在进行大量工作?
  3. 检查内存是否不断增加?
  4. 对应用程序进行分析(垃圾回收、代大小等)

然而,最好的方法是开始查看代码,这可能只是一个错误,导致UI混乱。

在此处查看一些故障排除提示

图形卡故障排除

Windows Presentation Foundation(WPF)与Windows上的先前应用程序平台不同,因为它使用自己的基于DirectX的硬件加速渲染管道(在可用时)来绘制任何WPF窗口的内容。 先前的应用程序平台通常不太依赖显示驱动程序质量,因为它们的大部分渲染是在软件而不是硬件中完成的。 因此,WPF应用程序的视觉质量严重依赖于系统的显示设备和其显示驱动程序的质量。 故障显示设备可能会导致WPF应用程序或桌面上其他位置出现绘图伪像,当应用程序使用WPF硬件渲染管道时。


非常感谢你,Dragos,你给了我一些很好的起点(至少你没有投反对票)。 - JD.
是的,它发生在不同的机器上。因此某些密集的东西正在启动...只是它并不总是发生。 - JD.
应用程序是否与数据库或任何网络相关的内容有关? - WBuck
刚刚注意到有很多视图模型被创建,尽管它们直到稍后才在用户界面中显示,但仍然会进行一些 WCF 调用。实际上,它们建立了一些通道来启动双工对话。 - JD.

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接