当我改变屏幕的分辨率时,我的屏幕会关闭并再次打开(但只是短暂的一小段时间),然后关闭再打开,最后它就达到了我想要的分辨率。
但为什么它需要闪烁?为什么它需要关闭并再次打开,甚至可能两次?
我在旧显示器和新显示器上都看到过这种情况,我不太明白为什么在改变分辨率时有必要这样做。
有人知道吗?
答案1
显示器和显卡正在协商特定的分辨率和刷新率。可能会发生以下几种情况。
显示器必须使用新设置重置。它将关闭,然后使用新设置再次打开。
更改分辨率时,显卡会暂时停止发送信号。显示器检测到信号丢失,并进入待机模式。当显卡开始发送新分辨率时,显示器会重新开启。
如果您正在运行多个显示器,显卡可能也会在活动显示器之间切换。如果显示器有多个输入,当它检测到显卡信号丢失时,它可能会在它们之间切换。
答案2
它完全取决于硬件、驱动程序和处理 GUI 环境的软件(所谓的显示管理器)以及最终显示内容的应用软件的组合。
其中每一个都可以(但不一定必须)强制重新绘制(伴随闪烁)显示。
通常(在 Windows 中),第一次闪烁发生在显示驱动程序为新分辨率重新配置硬件时。
在许多情况下,视频芯片必须停止显示。然后,在 1 个或多个显示帧之后,开始以新格式产生输出。
显示器将看到视频卡的短暂断开/重新连接,并相应地重新调整自身(另请参阅 fooot 的回答)。
在大多数情况下,显示内存的内容也不再有效,因此也会被清除。通常为黑屏。
然后,在第二步中,Windows 本身会以新的分辨率重新绘制所有显示组件。由于 Windows 此时不知道显示缓冲区中存在什么(它无法确定视频驱动程序是否清空了视频缓冲区),因此这通常从默认背景颜色的全新空白屏幕开始。然后 Windows 添加任务栏、墙纸等。
这可能会导致更多的视觉闪烁。
最后,正在运行的应用程序可能会进行额外的重新绘制,以重新调整自身以适应新的显示尺寸。(特别是当它们以最大化/全屏或贴紧显示边框运行时。)
总结一下:有些闪烁与视频硬件有关,有些闪烁与软件重绘有关。
最后但并非最不重要的一点是:
有些人对这种事情比其他人更敏感。
有时(从字面上来说)“旁观者眼中看问题”。
有些人几乎不会注意到,而其他人则觉得很烦人。