答案1
我认为这可能是 Windows 中使用 Display Port 的一个错误。
当通过 Display Port 连接的显示器进入睡眠状态时,Windows 几乎将其视为物理断开连接。
即使您只使用一个显示器也会导致问题:程序窗口被移动和调整大小,一些窗口出现错误,等等。
您可以尝试在 Windows 注册表编辑器中修复。打开它并导航到:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GraphicsDrivers\Configuration\
在较旧的 Windows 10 版本中,那里曾经有一个以名称开头的“文件夹”(键):
SIMULATED_(...)
在较新的版本中,它可能是:
NOEDID_(...)
在这些键内,由于您有三个显示器设置,所以应该至少有三个子文件夹:00
和。01
02
您要做的是,在PrimSurfSize
和上使用适当的值ActiveSize
。
例如,对于 1080p 分辨率:
00\PrimSurfSize.cx => 1920 decimal
00\PrimSurfSize.cy => 1080 decimal
00\00\PrimSurfSize.cx => 1920 decimal
00\00\PrimSurfSize.cy => 1080 decimal
00\00\ActiveSize.cx => 1920 decimal
00\00\ActiveSize.cy => 1080 decimal
对与您的其他显示器相对应的01
和文件夹重复上述操作。02
重新启动,希望有帮助=)
如果不起作用,你也可以尝试持久窗口,它试图解决这个问题:
什么是 PersistentWindows?一个名字不太好的实用程序,当显示器显示数量/分辨率调整并恢复到以前的设置时,它会保留窗口的位置和大小。
对于那些在 DisplayPort 和任何其他连接混合运行多显示器的用户,您可以运行此工具,而不必担心在一切恢复正常时重新安排。
答案2
我有 6 台显示器,也遇到了这个问题。根据有关 regkey 位置 Vinícius M 的信息,我做了一些调整,到目前为止,我似乎很幸运,删除了 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GraphicsDrivers\Configuration 下的所有配置文件(我有 10-15 个),然后重新启动了我的电脑。然后我重新排列了屏幕,它似乎正常工作了。我认为发生的事情是显示端口无法及时注册以唤醒,它只检测到 3 台显示器,并选择了它认为匹配的配置文件之一。现在我的注册表项中只有一个 6 台显示器配置,所以它似乎运行正常。
答案3
此问题已在 Windows 版本 21287 中修复。要将您的 Windows 更新到此版本,您应该升级到 Windows 11(对我来说,此问题已修复),或加入 Windows 10 Insider 计划并选择“测试版频道”。或者只是等待 Windows 10 版本升级到此版本。
https://devblogs.microsoft.com/directx/avoid-unexpected-app-rearrangement/