从 Windows 7 x64 切换到 Windows 8.1 Pro x64 时,我
偶然发现了一个问题。我有完全相同的设置、相同的笔记本电脑、相同的硬件、相同的程序、相同的配置,一切都
一样。Windows 7 从未出现过我现在在 Win 8.1 中遇到的问题。问题如下;
每当我运行 1 个以上的 3D 应用程序时,1-5 分钟后屏幕就会闪烁,并挂起一个、一些或所有程序的图形(随机)。它不会挂起实际的程序(或游戏),它只是停止渲染图形 - 我仍然可以听到软件的声音,如果我点击,我可以听到自己与它的交互。我
拥有计算机、主板、所有设备(包括显卡等)的所有最新驱动程序。还安装了所有 Windows 更新,无需再安装其他内容。
我使用的所有程序都专门设置为仅使用 nVidia 适配器,强制通过 nVidia 控制面板,因此这不是切换显卡的问题,因为它是笔记本电脑。此外,在 Windows 7 中也从未出现过问题。我检查了有关此问题的所有其他线程,但它与我的具体问题无关。
以下是事件发生时我从事件查看器中收集到的信息;
A logon was attempted using explicit credentials.
Subject:
Security ID: SYSTEM
Account Name: PIXIELIGHT$
Account Domain: HYPERUNKNOWN
Logon ID: 0x3E7
Logon GUID: {00000000-0000-0000-0000-000000000000}
Account Whose Credentials Were Used:
Account Name: DWM-1
Account Domain: Window Manager
Logon GUID: {00000000-0000-0000-0000-000000000000}
。
An account was successfully logged on.
Subject:
Security ID: SYSTEM
Account Name: PIXIELIGHT$
Account Domain: HYPERUNKNOWN
Logon ID: 0x3E7
Logon Type: 2
Impersonation Level: Impersonation
New Logon:
Security ID: Window Manager\DWM-1
Account Name: DWM-1
Account Domain: Window Manager
Logon ID: 0x412659B
Logon GUID: {00000000-0000-0000-0000-000000000000}
Process Information:
Process ID: 0x304
Process Name: C:\Windows\System32\winlogon.exe
。
Special privileges assigned to new logon.
Subject:
Security ID: Window Manager\DWM-1
Account Name: DWM-1
Account Domain: Window Manager
Logon ID: 0x412659B
Privileges: SeAssignPrimaryTokenPrivilege
SeAuditPrivilege
SeImpersonatePrivilege
。
An account was logged off.
Subject:
Security ID: Window Manager\DWM-1
Account Name: DWM-1
Account Domain: Window Manager
Logon ID: 0x3E3290A
Logon Type: 2
。
因此,正如您所看到的,DWM 正在登录和退出一些帐户,从我目前所见的情况来看,这些帐户最高可达 DWM-7。它只是登录、设置一些参数,然后直接注销。
这是一个单用户系统,上面只有我的用户帐户,并且远程登录已被禁用。
在 Windows 7 中,至少可以禁用 DWM - 但我从来没有这样做过,因为它适用于我所有的东西,但看到 DWM 在 Win8 中完全搞砸了,我想我只需禁用服务器,但它无处可寻。
此外,微软似乎改变了它的工作方式,系统已经重新设计为即使它仍然处于打开状态也会生成 OK,如下面这个例子:
DwmEnableComposition( DWM_EC_DISABLECOMPOSITION ) 在 Windows 8 上不起作用,即使它返回 S_OK。通过调用 DwmIsCompositionEnabled() 进行确认,这表明前一个函数无效。
仅有 1 个 dwm.exe 在运行。仅有 1 个用户登录(我)。用户列表(管理工具 -> 计算机管理)中除管理员帐户外仅有 1 个用户。
无论是工作还是家庭使用,一次只运行 1 个软件对我来说都不是一个选择,所以我该如何解决这个问题呢?
答案1
为了分享信息,我只是想发布解决方案。在接下来的 2 周里,我根本没有时间尝试这个问题,但最终我解决了它。解决方案:
将所有游戏设置为使用 nvidia 卡。将所有与 obs/open broadcaster 相关的进程设置为使用集成的英特尔卡。问题已解决,所有地方都具有满帧率。