我正在尝试以窗口模式玩英雄无敌 3(全屏模式下会卡住),所有更改屏幕颜色比例的选项都有一堆 32 位选项,但仅此而已。有没有办法安装较低的颜色?也许用驱动程序?
我在 Windows 8 上。
我的显示器实际上是一台使用 HDMI 的 42 英寸电视。(这可能是问题所在吗?)
答案1
首先我来介绍一下背景:
当您打开一个新的(全)屏幕时,您会使用一些设置,包括尺寸(水平和垂直分辨率),有时还包括该屏幕上使用的颜色数量。
例子:
CGA 具有 320x200 和 2 位来存储颜色信息。
这 2 位可以表示四个不同的值:00、01、10 和 11。CGA
使用它来指定以下颜色:
VGA 更为现代,且接近《英雄无敌 3》的时代,支持更多颜色,但在使用更高分辨率和更多颜色时需要更多内存。
例如,如果使用 640x480 分辨率,16 种颜色(用 4 位表示),则需要 640x480x4 位(1228800 位)来存储图像信息。也就是 154k。对于现代系统来说,这是一个微不足道的数字,但在那个年代,显卡通常配备 256 或 512KiB KiB 内存,而一幅图像需要其中很大一部分。
如果您移动到 800x600(仍然是 16 种颜色),那么您将需要 240KiB。
如果添加更多颜色信息(例如 256 种颜色,需要 8 位来存储),则大小将加倍。需要 307KiB 和 480KiB。最后一个非常接近 512KiB 卡上的最大值。
再次将每个像素的颜色位数加倍,我们得到 16 位,这允许 216 种颜色(65536)。这对于大多数游戏来说已经足够了,并且被广泛使用。
此后,我们尝试了 24 位色彩组合(为了用非技术术语推销产品,我们将其模糊地称为“数百万种颜色”)。24 位色彩能够容纳的颜色比人眼所能辨别的还要多。然而,在数字世界中,内存访问通常以 8、16 或 32 位模式进行,这显然令人不快。通过使用 32 位来存储这 24 位色彩信息,可以加快速度,或者不使用其中的 8 位,或者将它们用于其他用途(例如,Alpha 通道信息可以更轻松地实现透明度)。
现在我们终于到了我可以开始回答你的问题的部分了:
任何现代系统都配备了大量的显存和不再需要限制颜色数量来节省空间。如果没有这种需要,这些模式很少被使用。大多只在非常旧的系统或非常旧的软件(例如您的游戏)上使用。
在我输入这些内容时(2014 年),这些旧的 16 位传统模式已有几十年历史(1990 年代),现代操作系统或现代图形驱动程序不再支持它是很有意义的。而你需要两者都支持它才能使用它。
你的操作系统是 Windows 8 它使用桌面窗口管理器,这是一个始终开启且需要 32 位色彩深度的应用程序。它不支持你改变这一点。
MSDN 页面相关链接:
Windows 8 does not support colour depth other than 32 bits per pixel. The
user can no longer change the colour depth of the system by using the
control panel.
In addition, app developers cannot use APIs to change the color depth of
the system. Windows 8 will detect apps that try to change the color depth
of the system to less than 32 bits per pixel, and inform the user that an
app compatibility shim must be applied to run the apps. After
confirmation from the user, the app compatibility shim is applied and
the shim virtualizes the low colour mode to the app while keeping the
system running at 32 bits per pixel. `
因此,简而言之:您无法在除 32 位色深模式之外的任何模式下运行 Windows 8。如果您想使用较少的颜色,则需要兼容性垫片。要启用这些:请参阅此链接
但令我困惑的是,你应该弹出一个窗口,提示您使用此 shim 运行游戏(即以兼容模式运行)。您第一次尝试启动游戏时是否遇到了这个问题?您如何回答的?
答案2
在 Windows 8 中,桌面窗口管理器 (DWM) 始终运行,以启用新的开始屏幕和新的商店应用。要让 DWM 始终运行,您必须选择 32 位颜色,这就是 Win8 不再允许您将颜色更改为 16 位的原因。
答案3
首先,尝试以下步骤:http://www.guidingtech.com/9914/change-from-16-bit-to-32-bit-color-windows-7/并查看是否有可用的选项来改变有效模式或颜色,然后在您的游戏中进行测试。
如果失败了...
您可能能够强制程序默认为 256 色(8 位),但我还没有在 Windows 上看到 64K 色(16 位)强制选项。右键单击可执行文件(如果您使用快捷方式打开游戏,则需要导航到快捷方式的目标)并进入属性。在对话框中,可能是“强制 256 色”或类似内容的选项。选中该选项的复选框,然后尝试运行程序。游戏开始后,程序应该会强制运行 256 色。
请注意,此选项最后在 Windows 7 上得到确认,但我不确定此选项在 Windows 8 上是否仍然存在。