2012-08-06 19:45:54 +0000 2012-08-06 19:45:54 +0000
14
14
Advertisement

在没有Catalyst控制中心的情况下更改过扫描/欠扫描设置。

Advertisement

刚安装了Windows 8,下载了ATI网站推荐的Catalyst版本。然而它却说无法启动! 我的主显示器是通过HDMI线连接到我的电脑上的,显示不是全屏的(显示器周围有一个空白的填充区域)。通常我在CCC中更改过扫描/欠扫描设置来重置它,但由于我没有访问它的权限,我想知道是否有任何方法可以让我在没有CCC的情况下更改它(也许通过注册表)?

Advertisement
Advertisement

答案 (11)

25
25
25
2012-08-06 20:44:23 +0000

我与从事催化剂驱动的AMD开发人员就过扫描/欠扫描的困境进行了广泛的讨论。

基本思路是,AMD宁可对一些HDMI显示器过扫描的人进行下扫描,造成画面过小(画面周围有空白),也不愿意不进行下扫描,造成显示器总是过扫描的人(没有设置更改,EDID信息不正确)桌面显示过大。他们的论点是,如果桌面过大,那么用户就看不到催化剂图标在哪里,也看不到开始菜单,因此他们无法浏览UI以做出适当的改变。所以他们坚持默认在HDMI上进行底层扫描,以确保没有人被一个对他们的屏幕来说太大的桌面所困住(UI元素挂在 “屏幕外")。

我不同意这个政策,但就是这样。这似乎也是图形驱动程序开发人员中相当独特的决定,因为我无法在其他一些非AMD设备上重现这种奇怪的现象。安卓平板电脑,英伟达显卡和英特尔片上显卡。

Linux上,有一种方法可以直接通过修改 "PCSDB"(Persistent Configuration Store Database,持久配置存储数据库)中的值来调整下扫描/上扫描。我不知道Windows上有什么等价物,也不知道你是否可以在不使用Catalyst的情况下读取/写入设置。

我无法亲自测试这个解决方案,但似乎有人在相当新的驱动程序上工作,所以给它一个机会。去Tom’s Hardware 要不我就把它重贴在这里了。

I found a fix for the overscan issue  
Go to the following key in the registry:  
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\video{####....}0x1&000 
Create a new DWORD: 
"DigitalHDTVDefaultUnderscan" = dword 0x0000 
Note: there might be several {####....} , should be the one with most of the ATI settings. 
Source:http://forum.beyond3d.com/showthread.php?t=62100

这是几年前AMD的一个消息来源(将保持匿名)关于他们的HDMI下扫描/上扫描政策的一段话。请注意,这适用于Windows和Linux。

默认为下扫描的目的不是让我们依靠高清电视过扫描回到全屏。这将是非常可怕的,因为在GPU降级,然后再由电视回升的过程中会损失图像质量。相反,它解决了电视默认为过扫描,并且没有机制来禁止它的问题(许多廉价的高清电视)。在这种情况下,电视会对图像进行过扫描,因此菜单通常会显示在屏幕边缘之外,使用户无法轻松访问它们。默认值纯粹是出于可用性的目的,CCC-LE应该可以将其改为0%(或者你可以使用注册表/PCS键强制默认为0%)。

如果你有一个智能高清电视,它会告诉我们它们是否超扫描,我们会做正确的事情,默认为0%。然而,并不是很多制造商在显示器的EDID中正确地设置了该属性,所以我们会回退到默认的欠扫描。

底层扫描只应该是HDMI的默认值。DisplayPort或DVI不应该默认为下划线。

6
6
6
2013-03-09 19:20:48 +0000

对于Linux来说,解决的办法是在终端中输入这个。

sudo aticonfig --set-pcs-val=MCIL,DigitalHDTVDefaultUnderscan,0

(把这个贴在这里是为了所有平台都只需要一个书签)

3
Advertisement
3
3
2014-10-28 19:47:47 +0000
Advertisement

我无法用我的Radeon HD 3600Windows 8.1 64bit上使用这里提出的解决方案使其工作。我尝试了所有方法,包括

  • DigitalHDTVDefaultUnderscanTVEnableOverscan的所有组合都变成了01
  • DigitalHDTVDefaultUnderscan中的00000001甚至不同的注册表路径中的
  • 按照这里的建议将DALR6 DFP1920x1080x0x59DALR6 DFP1920x1080x0x60设置为0 这里
  • 在催化剂控制中心内(更改数值没有显示任何效果)

以下是最终为我提供的工作方法 - 最终没有安装CCC!

1.下载并解压CCC 13.4 legacy beta(HD 2x/3x/4x Series的最新驱动) 2. 从Packages\Drivers\Display\W86A_INF 手动安装驱动–对我来说,唯一有效的驱动是C8156445 –在选择框中,我选择了两个同样名字的驱动中的第二个。 - ATI Radeon HD 3600 Series - ATI Radeon HD 3600 Series - 选择这个 3. 安装 CCC(只选择 CCC 和 Visual C++ Redistributable Library) 4. 配置显示为0%过扫描/欠扫描 - 如果滑块被停用,你的屏幕可能不是Full-HD - 如果没有立即出现完美清晰的画面,你需要从步骤2中选择另一个驱动 5. 画面现在应该很清晰了! 6. 如果画面很清晰,你可以卸载除了驱动以外的所有东西 - CCC - Visual C++ Redistributable Libraries - Folder C:\AMD

现在我不用CCC也能看到清晰的画面。

2
2
2
2015-10-19 14:23:10 +0000

我使用 steffen 的答案在 Windows 10 上得到了这个工作,并追踪到了更多细节。

我之前尝试过禁用TVEnableOverscanDigitalHDTVDefaultUnderscan,但没有成功(在amdkmdag下的CurrentControlSet\Services键中也更改了它们),以及多个版本和组合的传统CCC/驱动安装程序。在Windows 10升级之前,它在Windows 8.1上工作得很好(我不记得做了什么特别的事情来让它工作,但不是100%确定)。

首先,在Windows 10上,解压的安装包(13.4 beta)拒绝运行。相反,我进入设备管理器并卸载了显示适配器,勾选了删除驱动程序的方框。然后我选择了Action-/>Scan for hardware changes,得到了一个 “Microsoft Basic Display Adapter"。我右击选择更新驱动,然后选择自己指定驱动的选项。我按照steffen的描述,从解压的AMD包中选取了Packages\Drivers\Display\W86A_INF这个文件夹。有相当长的一段时间的硬件检测/安装,在它结束时,驱动程序版本仍然是Windows 10版本(03/01/2015,8.970.100.9001而不是04/24/2013,8.970.100.0000从包中)。然而,运行设置程序并安装VISION Conrol Center,结果CCC正常运行。它报告的是正确的、旧版本的驱动程序。

这时,我可以在运行 进程监控 时调整过扫描,并在我按下 Apply 时观察注册表值的设置。

15:26:19.6441241 CCC.exe 6740 RegSetValue HKLM\System\CurrentControlSet\Control\Class\{4d36e968-e325-11ce-bfc1-08002be10318}0x1&000\GDOADJR6 DFP SUCCESS Type: REG_BINARY, Length: 384, Data: 00 00 00 00 02 00 00 00 10 00 00 00 00 00 00 00
15:26:19.6457995 CCC.exe 6740 RegSetValue HKLM\System\CurrentControlSet\Control\Class\{4d36e968-e325-11ce-bfc1-08002be10318}0x1&000\DALR6 DFP1920x1080x0x59 SUCCESS Type: REG_BINARY, Length: 48, Data: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
15:26:19.6468669 CCC.exe 6740 RegSetValue HKLM\System\CurrentControlSet\Control\Class\{4d36e968-e325-11ce-bfc1-08002be10318}0x1&000\DAL_DFPOptions SUCCESS Type: REG_BINARY, Length: 4, Data: 18 00 00 00

我相信这些前缀与 steffen 等人提到的HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Video键解析的路径相同。进程监视器没有显示完整的数据,但是通过实验和用RegEdit放大显示,相关的字节在DALR6和GDOADJR6中–前者在37字节(偏移量0x24),后者在21字节(偏移量0x14)。当过扫描完全关闭时,这些值为 0(在 GUI 中向右),并且滑块向左每增加一个,这些值就增加一个。

最后,我再次从设备管理器中卸载了显示适配器驱动程序(包括删除驱动程序)。Windows自动又经历了一个延长的检测周期,并返回到原来的、微软提供的驱动程序。出于某种原因,CCC似乎仍然在工作,现在显示更现代的驱动版本。这让我可以再次在GUI中进行更改,并观察效果。令人困惑的是,当切换设备/驱动程序时,在HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Video键下会创建新的条目。更令人困惑的是,第二次出现了我的显示器是在60Hz,而不是59Hz,所以相关的键略有变化。然而,这两个偏移量仍然是正确的,并且随着滑块/应用过程而改变。

在没有先安装CCC的情况下,我没有进行测试,但在删除CCC后仍然可以使用。我只能假设它们是被驱动程序读取的:最坏的情况下是在启动时,可能是在每一个重要的显示事件(比如改变分辨率)时。

Windows 10 TH2 (Threshold 2)

安装TH2后,过度扫描又回来了,而且更严重。二进制数据块的大小发生了变化,现在默认的是8个,而不是2个。 驱动程序的版本没有变化,二进制数据的位置也没有变化。DALR6的还是在37字节(偏移量0x24),GDOADJR6还是在21字节(偏移量0x14)。我最初在RegEdit中误读了十六进制偏移量,所以安装了和之前一样的Catalyst 13.4 beta VISION控制中心(没有驱动)。这次第一时间就成功了,并且能够立即从GUI中控制过扫描。

2
Advertisement
2
2
2014-09-14 10:42:16 +0000
Advertisement

有同样的问题,我的解决方法是:

用regedit设置键。

HKLM\System\CurrentControlSet\Video\***0x1&000
    DWORD: TVEnableOverscan = 0x0
    DWORD: DigitalHDTVDefaultUnderscan = 0x0

HKLM\System\CurrentControlSet\Video\ ***0x1&000\DAL2_DATA_2.0\DisplayPath_*\MODE_*** \Adjustment
    rename "Underscan" to for example "oldUnderscan" to disable it

重启看看是否有效

只改变前两个值对我来说是行不通的。

你需要用注册表中的正确值来替换这些值。我还猜测 “0000 "是第一个屏幕,"0001 "是第二个屏幕,以此类推(第一个屏幕是我的高清电视,第二个屏幕是普通的PC显示器–它已经将TVEnableOverscan设置为0了

1
1
1
2014-07-03 06:39:49 +0000

我有一个Hpavilion dv6与ATI hd 4650与Windows 8.1更新。

在windows 8中,改变数值很好用,但在windows 8.1更新中,windows一直在恢复数值,使黑色边框保持不变。

我解决这个问题的方法是在0000注册键上添加用户 “system",只允许系统读取数值,并在所有键和子键上应用这些安全设置。

现在在Windows 8.1下也能正常工作了。

希望能帮到大家。

1
Advertisement
1
1
2014-01-27 11:35:17 +0000
Advertisement

我也遇到了类似的问题,无法安装催化剂控制中心……所以也无法调整下划线设置。

我能够克服它(更像是掩盖问题真的),并调整我的三星电视上的屏幕大小设置,我有我的PC连接到。听起来,这正是AMD试图解决的问题。

现在我可以看到整个屏幕的1080p,而且幸运的是电视很聪明,可以为每个hdmi输入设置不同的屏幕尺寸。

也许类似的方法可以用在PC显示器上?

1
1
1
2014-02-06 01:04:48 +0000

这不是直接针对win8的,但它在server 2012r2中工作,所以我假设它至少可以在8.1或8中鹦鹉学舌。无论如何,我删除了默认的下划线?(图像小于显示)通过编辑BestViewOption/Hdmi二进制键发现在`HKEYLOCALMACHINE\SYSTEM\CurrentControlSet\Control\Video{B380344A-9336-4C46-A52D-F53C6EAD0696}`HKEYLOCALMACHINE\SYSTEM\CurrentControlSet\Control\Video这不是直接针对win8的,但它在server 2012r2中工作,所以我假设它至少可以在8.1或8中鹦鹉学舌。无论如何,我删除了默认的下划线?(图像小于显示)通过编辑BestViewOption/Hdmi二进制键发现在HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Video\{B380344A-9336-4C46-A52D-F53C6EAD0696}000\DAL2_DATA__2_0\DisplayPath_5\Option

你要找的GUID是在{B380344A-9336-4C46-A52D-F53C6EAD0696}

再次0x6&在regkey字符串中是一个GUID,对我来说是独一无二的,不要指望在你的机器上看到完全相同的。

这是在Server 2012r2上使用CCC 14.1beta

总之希望能帮到大家。

0
Advertisement
0
0
2014-08-07 16:53:00 +0000
Advertisement

将CC安装在不同的文件夹中,我只需要解决这个问题就可以了。不管怎么说,默认文件夹已经损坏了。

0
0
0
2014-11-29 21:06:45 +0000

我改变了我的注册表设置(就像上面说的那样),并改变了我的hdmi电缆–没有任何变化。

然后我关闭了我的电脑,删除了我的第二个屏幕(DVI),并重新启动:现在一切正常了!

也许这可以节省一些测试和研究的时间。

也许这可以节省一些人的测试和研究时间……。

0
0
0
2015-01-03 22:47:53 +0000

对于我的老式三星液晶显示器,我把P.SIZE从16:9改为 “Just Scan",就能解决这个问题。在此之前,我一直都是安装控制中心的,很烂!

Advertisement