如题,相信很多在windows下使用vnc而非rdp作为远程桌面的大佬都发现了,vnc在笔记本合上的情况下有很多软件都显示为白底,而一把显示屏打开又能正常显示,这是因为把笔记本屏幕合上之后ACPI会向操作系统发送事件,表明显示屏已关闭,致使显卡缓冲区(显存)切换到待机模式,这不会影响使用简单绘图api的程序,但会影响几乎全部使用加速api的程序,而且没有方法关闭这个功能。而rdp不会受其影响,因为windows自带rdp驱动会自行模拟一个基础显卡和显示屏。由于VNC底层上直接对缓冲区进行读取,就会发生这个问题,但不是没有解决的方法。
硬件法(旧):这个方法很简单,随便买一个hdmi视频模拟插头,接上笔记本后他会模拟一个不存在的屏幕出来,当显示屏关闭(合上)之后windows会自动切换上去,就跟真的屏幕似的。
软件法(新):这个是我在外寻找很久之后发现的方法,无需便宜的硬件。由于windows判断显示屏是靠盖子合上这个事件而不是显示屏离线本身,那么大家都懂了。我们只需禁用盖子即可。在设备管理器的系统设备里,找到ACPI盖子,右击禁用,或者更新驱动程序,让其变成卷管理器(就是选这个驱动,至于为什么吗,,老外说一开始这个能用就没试别的了,禁用也没试,应该可以)。非常简单,也非常有效
我知道你们很想知道软件法会不会导致屏幕合上后不会熄灭,答案是不会。屏幕是UEFI/BIOS控制的。ACPI盖子只负责接收事件,也不用担心打开后屏幕不自动点亮,UEFI/BIOS也考虑到了这一点。
更新:由于不同笔记本有各自的处理方式,所以软件法还是有可能会出现打开不亮屏的。如果这样的话可以自行看看电源选项找找折中方案,或者直接硬件法简单粗暴。。
作者:GoDaftWithEBK
https://www.bilibili.com/read/mobile/5646649
出处: bilibili
强 bbk 强