Win7 32位系统下玩游戏不能全屏,注册表里Display1_DownScaling和Scaling改了几回,重启也重启了,黑边还是老老实实待在那。这种事我帮人弄过不少,今天直接把你可能踩过的坑挨个点一下。
注册表确实管着缩放,但你得改对了地方。很多教程指向HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GraphicsDrivers\Configuration,问题出在这个路径下面有多个连接器标识,你接的是HDMI口,改的却是VGA对应的键值,那自然没用。更关键的是,Win7 32位走的WDDM 1.1显示驱动模型,显卡驱动在加载时会覆盖掉部分注册表缩放值,所以你改完重启后立刻被还原。这不是你操作失误,是系统设计如此。
那真正的原因在哪儿?八成出在显卡控制面板的缩放选项里。NVIDIA控制面板里找“调整桌面尺寸和位置”,把缩放模式从“纵横比”或“无缩放”改成“全屏”,同时勾上“覆盖由游戏和程序设置的缩放模式”。这一步做完,大部分黑边直接消失。AMD的催化剂或Adrenalin面板里找“缩放”选项,选“全屏”,并且开启GPU缩放,别用显示器缩放。Intel核芯显卡就在图形属性里把缩放设置成“拉伸”或“全屏”,默认的“居中”就是给你留黑边的。
显卡驱动面板弄完之后,再看看显示器自身设置。很多LCD显示器的OSD菜单里有“宽屏模式”、“图像比例”或者叫“显示屏分辨率缩放”之类的选项,默认是“4:3”原始比例,你得手动把它改为“全屏”或“拉伸”。有些老款戴尔、三星的VGA口输入下这个选项藏得挺深,但确实存在。你得按显示器上的菜单键一个一个找。
还有分辨率匹配的问题。老游戏普遍只支持640x480或800x600,你桌面如果是1920x1080,游戏全屏时四周黑边非常正常。这时候想要黑边消失,只能在显卡面板里选“全屏拉伸”,但画面会被拉变形,圆形按钮变椭圆。不想变形又不想有黑边,只能换一个符合显示器比例的旧分辨率,比如16:10显示器用1280x800,16:9用1366x768,然后游戏里也调成同样比例的分辨率,这样虽然不能原生全屏,但画面至少填满屏幕不会失真。

剩下一种特殊情况,32位Win7里旧显卡驱动对显示器EDID识别不完整,系统读取不到游戏需要的分辨率,导致游戏只能窗口化。这个可以在显卡驱动面板里手动自定义分辨率,把游戏要用的分辨率加进去,然后把显示刷新率调到匹配值,游戏再切全屏就正常了。这类问题在十年以前的老显卡上特别多,比如9800GT这类卡装新驱动反而容易出问题,建议装老旧但稳定的驱动版本。
至于注册表,真正该改的时候只有一种:驱动面板和显示器菜单都核对过了,依旧黑边。办法是把HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GraphicsDrivers\Configuration下面找到当前显示器对应的键值,留意Scaling这个DWORD,数值3代表拉伸全屏,4代表保持纵横比,2代表居中。改完必须重启。如果这个键值改完还没用,打开dxdiag看一眼DirectDraw加速状态,把它禁用了试试,部分老游戏会因此找回全屏。这个方法副作用大,平时游戏还容易卡,不推荐长期用。
顺带提一句外设的事。HDMI线在部分老款显示器上会把比例选项锁死为原始状态,你换一根VGA线反而能调出缩放菜单。这种情况我印象里有飞利浦和优派两个牌子的显示出现过,概率不高但值得排查。
再补充一种容易被忽略的:Win7 32位系统里Direct3D组件不完整,尤其某些精简版系统,游戏全屏后画面撕裂或直接退回桌面。用DirectX修复工具把运行库补全,DX版本