在 Windows 上玩旧游戏时修复 DirectDraw 错误

尽管技术的进步和游戏的图形质量,我们中最怀旧的人不可避免地会想要玩标志着我们童年时代的 PC 视频游戏。 帝国时代、文明 II 或暗黑破坏神等游戏就是最明显的例子。 问题是当我们尝试在 Windows 10 或 Windows 11 上玩这些旧游戏时,我们可能会遇到 DirectDraw 不兼容错误。 如果这是我们的情况,今天我们将看看怎样解决它。

请记住,当我们谈论 DirectDraw 时,我们是在 已经过时的 API 它本身是 Microsoft 的 DirectX API 子集的一部分,与 Direct3D 一起成为 DirectX 图形管理的主要来源。 通过它,可以在 Windows 中的任何程序或游戏中渲染 2D 图形,允许它们以全屏或窗口模式执行。

导致 DirectDraw 出现此错误的原因

正如我们所提到的,目前 DirectDraw 不再独立工作,而是与 Direct3D 一起成为 DirectX 的一部分。 反过来,它与 DirectX API 相关联,将帮助我们在 Windows 10 和 Windows 11 计算机上表示 2D 图形。

这就是为什么如果我们在运行旧游戏时遇到 DirectDraw 问题,可能是由于以下原因之一:

  • 与 Windows 10/11 不兼容: 由于这是一款旧游戏,它很可能不是为与现代操作系统一起使用而设计的。 鉴于此问题,它可能会导致出现错误。
  • 游戏全屏运行 – 许多旧游戏已设置为以全屏模式运行,但是,当我们以窗口模式运行时,问题就停止了。
  • 图形问题 – 此错误可归因于与 Direct3D 11 和 Direct3D 12 等技术不兼容。
  • Direct Play 和 .NET Framework 3.5 已禁用 – 许多较旧的游戏,尤其是为 Windows XP 开发的游戏,需要 Direct Play 和 .NET Framework 3.5 才能运行。 由于它们是过时的技术,它们可能在 Windows 10/11 中被禁用。

正如我们所见,我们的旧游戏在 Windows 10 和 Windows 11 上运行时出现问题的原因不同,从而导致 DirectDraw 错误。 一旦找到可能的问题,我们将看看我们能做些什么来解决它。

修复错误的步骤

接下来,我们将看到在 Windows 10 或 Windows 11 计算机上运行旧游戏时可以执行的不同操作来结束 DirectDraw 问题。

以窗口模式运行游戏

可以通过强制游戏以窗口模式运行而不是从快捷方式或可执行文件属性全屏运行来解决此特定 DirectDraw 问题。

这就是为什么我们必须找到可执行的 .exe 或直接访问有问题的游戏并用鼠标右键单击它。 在上下文菜单中,我们选择 特性 部分。 接下来,在 捷径 我们添加的标签 -w 到文件路径的末尾 目的地 场地。

最后,我们单击 Apply 和 OK 保存更改并检查这是否修复了错误。

调整屏幕大小

我们想要运行的旧版游戏可能被设计为以低于显示器分辨率的屏幕分辨率运行,因此试图强制游戏以更高的分辨率启动最终会导致出现 DirectDraw 错误。

这就是为什么在我们要运行游戏以使其适应其要求时降低显示器的分辨率可能是可取的,从而确保它可以毫无问题地运行。 为此,在 视窗 11 我们右键单击桌面上的空白处,然后单击 配置显示。 这将打开“设置”菜单。 这里,在 规模和设计部分, 我们必须将屏幕分辨率更改为系统允许的最低指标,例如 640 x 480 或 800 x 600 像素。

如果我们使用 视窗 10 作为操作系统,这些步骤非常相似,因为唯一改变的是屏幕界面的外观。 所以我们在桌面空白处右击选择 显示设置 . 在配置菜单中,我们不放置在屏幕部分。 这里从 规模和分布 我们将当前分辨率更改为尽可能低的部分。

进行更改后,我们再次测试游戏现在是否可以正常运行并且 DirectDraw 的问题是否消失。

以兼容模式运行游戏

我们可以尝试的另一种选择是在与最初开发游戏的操作系统版本相关的兼容模式下运行游戏。

这是我们可以手动执行的操作,方法是右键单击快捷方式并访问“属性”部分以选择正确的操作系统。 为此,请单击 兼容性 选项卡,然后检查 以兼容模式运行此程序 框,然后从可用选项列表中选择 Windows XP。

完成此操作后,您所要做的就是单击“应用”和“确定”以保存更改并再次运行游戏以检查它是否正常工作。

启用直接播放和 .NET 3.5

我们尝试在 Windows 或 Windows 11 计算机上运行的旧游戏可能需要 Direct Play 和 .NET Framework 3.5 技术 被启用 . 由于我们谈论的是两种过时的技术,因此它们被停用是正常的。 如果游戏开发人员尚未更新游戏以使用 Direct Play 和 .NET Framework 3.5 的较新等效版本,则需要从 Windows 功能菜单中启用这两个组件。

首先是按下键盘快捷键“Windows + R”来启动运行命令。 我们在这里写 应用程序向导 并按下 Enter 或 OK 按钮。

这将打开 程序和特点 菜单。 这里我们点击 激活或停用 Windows 功能 部分,我们在左上角找到。

在出现的新窗口中,我们必须检查 .NET 框架 3.5 框(包括 .NET 2.0 和 3.0),并在出现确认消息时单击是。 然后我们点击 Legacy Components 文件夹并检查 直接播放选项。

完成后,单击确定保存更改并再次运行问题游戏以检查它是否正常工作。