在 Windows XP 或 Windows Server 2003 中,已启用分层窗口的基于 WPF 的应用程序的性能较差

针对 Windows Server 2003 的支持已于 2015 年 7 月 14 日终止。

Microsoft 已于 2015 年 7 月 14 日终止了对于 Windows Server 2003 的支持。该更改已影响到您的软件更新和安全选项。 了解这一措施对于您的含义以及如何继续保持受保护状态。

症状
计算机已安装 Microsoft .NET Framework 3.0。在基于 Windows Presentation Foundation (WPF) 的应用程序中,通过将“Windows.AllowsTransparency 窗口”属性的值设为 TRUE 来启用分层窗口。使用此配置时,基于 WPF 的应用程序的性能较差。另外,您可能会注意到下列问题:
  • 动画出现抖动
  • 帧速率较低
  • CPU 使用率较高
原因
出现此问题的原因是分层窗口启用了顶层窗口的透明效果。基于 WPF 的应用程序通过使用 DirectX 管道呈现图形。在 DirectX 9.0c 中,IDirect3DSurface9::GetDC 方法不支持使用 Alpha 通道的透明效果。因此,不会对基于 WPF 的应用程序所呈现的图形进行硬件加速。相反,此应用程序会在软件层呈现图形。在此情况下,应用程序的性能较差并会占用大部分 CPU 时间。

注意:DirectX 9.0c 随 Microsoft Windows XP Service Pack 2、Microsoft Windows Server 2003 Service Pack 1 和 Windows Server 2003 Service Pack 2 提供。
解决方案

修补程序信息

Windows XP

Microsoft 现在提供了一个受支持的修补程序,但此程序只用于解决本文中提到的问题。请仅对出现这一特定问题的系统应用此修补程序。此修补程序可能还会接受进一步的测试。因此,如果此问题没有给您造成严重影响,我们建议您等待包含此修补程序的下一个 Service Pack。

要解决此问题,请向 Microsoft 在线客户服务提交请求以获取该修补程序。要提交联机请求以获取该修补程序,请访问下面的 Microsoft 网站:注意:如果发生其他问题或需要进行任何疑难解答,您可能需要创建单独的服务请求。对于此特定修补程序无法解决的其他支持问题和事项,将照常收取支持费用。要创建单独的服务请求,请访问下面的 Microsoft 网站:
先决条件
无需先决条件。
重新启动要求
应用此修补程序后,不必重新启动计算机。
修补程序替代信息
此修补程序不替代任何其他修补程序。
文件信息
此修补程序的英文版具有下表中列出的文件属性(或更新的文件属性)。这些文件的日期和时间按协调世界时 (UTC) 列出。当您查看文件信息时,该时间将转换为本地时间。要了解 UTC 与本地时间之间的时差,请使用“控制面板”中“日期和时间”项的“时区”选项卡。
文件名文件版本文件大小日期时间平台
D3d9.dll5.3.2600.31331,689,0882007 年 5 月 7 日13:49x86

Windows Server 2003

Microsoft 现在提供了一个受支持的修补程序,但此程序只用于解决本文中提到的问题。请仅对出现这一特定问题的系统应用此修补程序。此修补程序可能还会接受进一步的测试。因此,如果此问题没有给您造成严重影响,我们建议您等待包含此修补程序的下一个 Service Pack。

要解决此问题,请向 Microsoft 在线客户服务提交请求以获取该修补程序。要提交联机请求以获取该修补程序,请访问下面的 Microsoft 网站:注意:如果发生其他问题或需要进行任何疑难解答,您可能需要创建单独的服务请求。对于此特定修补程序无法解决的其他支持问题和事项,将照常收取支持费用。要创建单独的服务请求,请访问下面的 Microsoft 网站:
先决条件
要应用此修补程序,您必须已安装 Windows Server 2003 Service Pack 1 或 Windows Server 2003 Service Pack 2。
重新启动要求
应用此修补程序后,不必重新启动计算机。
修补程序替代信息
此修补程序不替代任何其他修补程序。
文件信息
此修补程序的英文版具有下表中列出的文件属性(或更新的文件属性)。这些文件的日期和时间按协调世界时 (UTC) 列出。当您查看文件信息时,该时间将转换为本地时间。要了解 UTC 与本地时间之间的时差,请使用“控制面板”中“日期和时间”项的“时区”选项卡。

基于 x86 的 Windows Server 2003 版本
文件名文件版本文件大小日期时间平台SP 要求服务分支
D3d9.dll5.3.3790.29431,690,6242007 年 5 月 25 日06:24x86SP1SP1QFE
D3d9.dll5.3.3790.40871,690,6242007 年 5 月 25 日05:03x86SP2SP2QFE
基于 x64 的 Windows Server 2003 版本
文件名文件版本文件大小日期时间平台SP 要求服务分支
D3d9.dll5.3.3790.29432,098,1762007 年 5 月 24 日15:42x64SP1SP1QFE
Wd3d9.dll5.3.3790.29431,690,6242007 年 5 月 24 日15:42x86SP1WOW
D3d9.dll5.3.3790.40872,098,1762007 年 5 月 24 日15:57x64SP2SP2QFE
Wd3d9.dll5.3.3790.40871,690,6242007 年 5 月 24 日15:57x86SP2WOW
替代方法
要解决此问题,请在基于 WPF 的应用程序中禁用分层窗口。
状态
Microsoft 已确认这是在“这篇文章中的信息适用于:”部分中列出的 Microsoft 产品中存在的问题。
更多信息
仅将此修补程序应用于其中的基于 WPF 的应用程序未使用硬件加速来呈现图形的计算机。

如果在“显示属性”对话框中将颜色质量设置为“中(16 位)”,则某些视频驱动程序的性能在分层窗口中可能会降低。要避免此问题,请将颜色质量设置为“最高(32 位)”。
HW Acceleration AllowsTransparency GetDC
属性

文章 ID:937106 - 上次审阅时间:01/29/2008 05:42:00 - 修订版本: 2.2

Microsoft Windows Server 2003 Service Pack 2, Microsoft Windows Server 2003 Service Pack 1, Microsoft Windows Server 2003, Standard x64 Edition, Microsoft Windows Server 2003, Enterprise x64 Edition, Microsoft Windows Server 2003, Datacenter x64 Edition, Microsoft Windows XP Service Pack 2

  • kbfix kbqfe kbwinxppresp3fix kbexpertiseinter kbhotfixserver kbwinserv2003postsp2fix KB937106
反馈