你目前正处于脱机状态,正在等待 Internet 重新连接

Windows Vista 游戏开发中的虚拟地址空间使用情况

对未安装任何 Service Pack 的 Windows Vista 的支持已于 2010 年 4 月 13 日结束。若要继续接收 Windows 安全更新,请确保您运行的是 Windows Vista Service Pack 2 (SP2)。有关更多信息,请参阅此 Microsoft 网页:对某些版本的 Windows 的支持即将结束

概要
此更新减少了某些情况下虚拟地址控件的使用。安装此更新后,在具有大量视频内存的硬件配置上运行的应用程序可能不太可能达到虚拟控件限制。此更新可能改善某些硬件配置上的应用程序性能。

此更新包括在 Windows Vista Service Pack 1 (SP1) 中。

有关如何获取最新的 Vista Service Pack 或如何验证是否安装了最新的 Vista Service Pack 的详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
935791如何获取最新的 Windows Vista Service Pack
适用于高级用户的更多信息
本文讨论 Windows 游戏开发中的虚拟地址空间使用情况。本文介绍了当您在现代操作系统(例如 Windows Vista)中运行应用程序时可能发生的潜在问题本文包含有关可以解决某些问题的更新的信息。有关这些问题的详细信息,请访问下面的 Microsoft 网站:在诸如 Windows Vista 的现代操作系统上,应用程序在它们自己的专用虚拟地址空间内运行。通常,对于 32 位的应用程序,虚拟地址空间的大小固定在 2 千兆字节 (GB)。有多少虚拟地址空间可用与计算机上存在多少物理内存无关。

应用程序加载的每个内存分配、文件映射或库会使用此虚拟地址空间中的空间。当应用程序使用其所有虚拟地址空间时,任何其他操作会失败。尽管应该编码所有的应用程序以处理内存分配故障,但许多应用程序不会从这些故障中正确恢复。因此,程序从这些故障中恢复后可能会变得不稳定或停止响应。

现有的游戏和其他图形应用程序为应用程序使用的视频内存资源的副本频繁分配虚拟内存。如果视频内存的内容丢失,则应用程序会使用此副本快速还原此显示。例如,如果用户按 ALT+TAB 或者如果用户将计算机置于待机状态,则应用程序会使用此副本。通常,当应用程序创建托管资源时,DirectX 运行时代表应用程序管理副本。但是,应用程序也可以管理副本本身。副本使用的虚拟内存与应用程序分配的视频内存资源成正比。

现代图形处理单元 (GPU) 可以有 512 MB 或更多的视频内存。对于视频资源的内存副本,尝试利用这些大量视频内存的应用程序可以使用很大比例的虚拟地址空间。在 32 位的系统上,这些应用程序可能使用所有可用的虚拟地址空间。

随着 Windows Vista 中 DirectX 10 和 Windows Display Driver Model (WDDM) 的引进,应用程序不再需要维持系统内存中资源的副本。襄樊,视频内存管理器确保显示转换中维护了每个视频内存分配的内存。出于兼容性考虑,Windows Vista 模拟早于 DirectX 10 的 DirectX 版本的“设备丢失”以确保未更改 application-visible API 行为。

若要虚拟化视频内存,Windows Vista 中的视频内存管理器会向每个视频内存资源分配虚拟地址范围。此概念在范围上类似于应用程序可能创建的副本。但是,视频内存管理器可能比应用程序更有效地管理进程。视频内存管理器使用虚拟地址范围处理视频内存转换或过度承诺。但是,虚拟地址范围通常未在具有许多视频内存的系统上使用。只要此虚拟地址范围仍然未使用,则不会为其分配物理内存。与此相反,保证保持在较老驱动程序模型中的系统内存副本使用物理内存完全填充。

如果应用程序创建其视频资源自身的副本,或者应用程序使用 DirectX 9 或较早版本,则虚拟地址空间包含 WDDM 视频内存管理器的虚拟化范围和应用程序的副本。使用早于 DirectX 10 的图形 API 的应用程序和有大量视频内存的目标 GPU 可以轻易耗尽其虚拟地址空间。

若要解决此问题,Microsoft 要更改视频内存管理器维护视频内存资源内容的方式。正在进行此更改以便永久虚拟地址范围不必用于每个虚拟化分配。有了新的防范,只有作为“可锁定”创建的分配消耗应用程序虚拟地址空间中的空间。不是作为“可锁定”创建的分配不会占用空间。此方法大大降低了使用的虚拟地址空间。因此,应用程序可以在大型视频内存配置上运行,而不会达到限制。

尽管此方法减少了虚拟地址消耗,但是它不会消除许多应用程序正快速接近的 2 GB 虚拟地址空间限制。最终,应用程序将由于其他原因到达此限制。

更新信息

可以从 Microsoft 下载中心下载以下文件:

Windows Vista(32 位版本)

下载立即下载 940105 程序包。

Windows Vista(64 位版本)

下载立即下载 940105 程序包。

有关如何下载 Microsoft 支持文件的更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
119591 如何从联机服务获取 Microsoft 支持文件
Microsoft 已对该文件进行了病毒扫描。Microsoft 使用的是该文件发布时可以获得的最新病毒检测软件。该文件存储在安全性得到增强的服务器上,以防止在未经授权的情况下对其进行更改。

先决条件

如果您运行的是基于 Windows Vista 且具有多个图形卡的计算机上,则我们建议您首先安装包括在 Microsoft 知识库文章 936710 中的修补程序。有关更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
936710当 DirectX 10 应用程序在基于 Windows Vista 且具有多个图形卡的计算机上运行时,计算机不使用辅助图形卡

重新启动要求

应用此更新后,必须重新启动计算机。

更新替换信息

此更新不替代以前发布的更新。

文件信息

此更新的英文版具有下表中列出的文件属性(或更新的文件属性)。这些文件的日期和时间按协调世界时 (UTC) 列出。当您查看文件信息时,该时间将转换为本地时间。若要了解 UTC 与本地时间之间的时差,请使用“控制面板”中“日期和时间”项中的“时区”选项卡。
Windows Vista(32 位版本)
File nameFile versionFile sizeDateTimePlatform
Cdd.dll6.0.6000.2064836,86427-Jul-200702:17x86
Dxgkrnl.sys6.0.6000.20648621,05627-Jul-200701:07x86
Update.mumNot Applicable1,78827-Jul-200717:27Not Applicable
X86_5e2dac6229b5926b0c74da835150f1a5_31bf3856ad364e35_6.0.6000.20648_none_42a29c9b7959cc08.manifestNot Applicable69627-Jul-200717:27Not Applicable
X86_microsoft-windows-lddmcore_31bf3856ad364e35_6.0.6000.20648_none_aa48b77dff9d11aa.manifestNot Applicable8,95827-Jul-200717:27Not Applicable
Windows Vista(64 位版本)
File nameFile versionFile sizeDateTimePlatform
Amd64_ce07f9e62de28926f56e50610267ed82_31bf3856ad364e35_6.0.6000.20648_none_ff82e7b15cf29216.manifestNot Applicable70027-Jul-200717:27Not Applicable
Amd64_microsoft-windows-lddmcore_31bf3856ad364e35_6.0.6000.20648_none_06675301b7fa82e0.manifestNot Applicable9,22327-Jul-200717:31Not Applicable
Cdd.dll6.0.6000.2064847,10427-Jul-200703:13x64
Dxgkrnl.sys6.0.6000.20648878,08027-Jul-200701:19x64
Update.mumNot Applicable1,78827-Jul-200717:27Not Applicable
属性

文章 ID:940105 - 上次审阅时间:05/28/2010 07:00:23 - 修订版本: 4.7

Windows Vista Home Basic 64-bit edition, Windows Vista Home Premium 64-bit edition, Windows Vista Business 64-bit edition, Windows Vista Enterprise 64-bit edition, Windows Vista Ultimate 64-bit edition, Windows Vista Starter, Windows Vista Home Basic, Windows Vista Home Premium, Windows Vista Business, Windows Vista Enterprise, Windows Vista Ultimate

  • kbvistasp1fix kbresolve atdownload kbfix kbexpertiseadvanced kbwinvistapostrtmfix kbqfe kbhotfixserver KB940105
反馈
ml>