Win10如何优化对超线程技术的调度问题。

win10对超线程的调度一直没有Win7好,经常出现同频9900k不如9700k,8700k不如8600k的情况,很多用户也一直被win10如何优化对超线程技术的调度问题所困扰,那么小编今天就为大家介绍一下win10如何优化对超线程技术的调度问题。

注意事项:

本文仅适用于intel带超线程的cpu,不带超线程的cpu无效,amd的ryzen也无需此优化只需要使用1903+最新芯片组驱动就好,此方法至少支持2017年以后的windows10版本,非k系列cpu效果更明显,日常使用时睿频更稳定。

实现原理

利用win10的异构调度功能将所有的超线程伪装成小核心,达到优先使用非超线程核心并减少线程切换核心,可以减少响应延迟提高游戏性能和单核性能,并且不影响多线程性能。

关于异构调度的具体说明详见《Windows Internals 7th Part1》中的Heterogeneous scheduling(big.LITTLE)。

实现方法

1、修改下列代码中SmallProcessorMask的值:2核4线程就改为00000005,4核8线程就改为00000055,6核12线程就改为00000555,8核16线程就改为00005555。
注:下面的代码是以6核12线程的8700k为例,此值是2进制表示的大小核标识,1为大核心,由于实测windows10下0 2 4等线程才是超线程,所以是010101010101,它们的16进制值就是555

2、这里的KGroups\\00中的00是1号cpu,如果是多路cpu还需要设置01等等,DynamicCpuPolicyExpectedRuntime值决定进程在cpu单一线程上的保持时间可以适当加长,此值需要使用regedit手动修改注册表添加,无法导入,1450为默认值5200ms。

代码如下:

Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Session Manager\\kernel]
\"DefaultDynamicHeteroCpuPolicy\"=dword:00000000
\"DynamicCpuPolicyExpectedRuntime\"=dword:00001450?
\"DynamicHeteroCpuPolicyImportant\"=dword:00000002
\"DynamicHeteroCpuPolicyImportantShort\"=dword:00000000
\"DynamicHeteroCpuPolicyMask\"=dword:00000004
[HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Session Manager\\kernel\\KGroups\
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Session Manager\\kernel]
\"DefaultDynamicHeteroCpuPolicy\"=dword:00000000
\"DynamicCpuPolicyExpectedRuntime\"=dword:00001450?
\"DynamicHeteroCpuPolicyImportant\"=dword:00000002
\"DynamicHeteroCpuPolicyImportantShort\"=dword:00000000
\"DynamicHeteroCpuPolicyMask\"=dword:00000004
[HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Session Manager\\kernel\\KGroups\\00]
\"SmallProcessorMask\"=dword:00000555
[HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Power\\PowerSettings\\54533251-82be-4824-
96c1-47b60b740d00\\0cc5b647-c1df-4637-891a-dec35c318584]
\"Attributes\"=dword:00000000
] \"SmallProcessorMask\"=dword:00000555 [HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Power\\PowerSettings\533251-82be-4824- 96c1-47b60b740d00\
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Session Manager\\kernel]
\"DefaultDynamicHeteroCpuPolicy\"=dword:00000000
\"DynamicCpuPolicyExpectedRuntime\"=dword:00001450?
\"DynamicHeteroCpuPolicyImportant\"=dword:00000002
\"DynamicHeteroCpuPolicyImportantShort\"=dword:00000000
\"DynamicHeteroCpuPolicyMask\"=dword:00000004
[HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Session Manager\\kernel\\KGroups\\00]
\"SmallProcessorMask\"=dword:00000555
[HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Power\\PowerSettings\\54533251-82be-4824-
96c1-47b60b740d00\\0cc5b647-c1df-4637-891a-dec35c318584]
\"Attributes\"=dword:00000000
cc5b647-c1df-4637-891a-dec35c318584] \"Attributes\"=dword:00000000

3、修改完保存成reg文件双击导入后,进入电源选项打开你需要使用的电源方案中的更改高级电源设置,在处理器电源管理中找到“针对第1类处理去电源效率的处理器性能核心放置最小核心数量”将其改为100%后重启电脑就设置好了。

如下图:

Win10如何优化对超线程技术的调度问题?手动修改注册表就搞定

Win10如何优化对超线程技术的调度问题?手动修改注册表就搞定

Win10如何优化对超线程技术的调度问题?手动修改注册表就搞定

4、如果不修改此值会因大小核调度默认启用的core parking功能,出现部分cpu线程无法调用的问题。

如图:

Win10如何优化对超线程技术的调度问题?手动修改注册表就搞定

Win10如何优化对超线程技术的调度问题?手动修改注册表就搞定

到这里本文关于Win10如何优化对超线程技术的调度问题就结束了,还有不知道怎么解决的小伙伴赶快来学习一下吧!希望对大家有所帮助。

如果你有任何疑问可以点击网站顶部的意见反馈,小编将第一时间进行回复。


210 个用户觉得很有用