首页
/
行业洞察
/
正文
INDUSTRY INSIGHT · 深度
Windows 11 游戏性能优化:关闭 VBS 与 Hyper-V 提升帧数
📅 2026/9/17 17:13:53
✍️ 爱科研究院
👁 阅读 3,247
折腾 Windows 11 游戏性能这件事我踩过的坑不比谁少。显卡驱动来回换、内存 XMP 抠时序、进程优先级调到实时帧数该不动还是不动。后来用帧生成工具抓了一遍曲线才反应过来问题不在硬件而在系统默认帮你开着的两大虚拟化组件——基于虚拟化的安全性VBS含内存完整性 HVCI和 Hyper-V 虚拟机平台。这两个东西平时安安静静一到 CPU 密集型游戏里就开始吃帧尤其是 1% Low波动特别明显。禁用这两个虚拟化来提升 Windows 11 游戏性能不是什么玄学优化而是一次有明确原理、可量化验证的系统层调整。这篇内容我会从它们是什么、为什么掉帧、怎么安全关掉、怎么验证效果、出问题怎么救回来五个角度完整讲一遍适合手里有独显游戏本或台式机、愿意折腾系统、又不想瞎搞注册表的玩家。全程给可复制的命令和脚本照着做就行。1. 先弄明白拖慢游戏的到底是哪两个虚拟化1.1 第一个基于虚拟化的安全性VBS与内存完整性基于虚拟化的安全性英文缩写 VBS是 Windows 借助硬件虚拟化指令Intel VT-x / AMD-V把系统切成两个世界的一套机制。一个是普通世界你日常跑的游戏、软件都在这里另一个是安全世界也叫虚拟信任级别 VTL1专门跑一些高敏感的安全组件。内存完整性也就是 HVCI就是跑在安全世界里的一个典型功能它负责盯着内核态代码任何想往内核里塞指令的动作都要先过它这一关。问题在于这套机制不是免费午餐。只要 VBS 处于运行状态Windows 就不再是直接管理硬件的那一层而是变成了 hypervisor 上面的根分区。游戏每次访问内存、每次系统调用都可能多绕一层翻译。单个操作的额外开销微乎其微但游戏一秒钟要执行几百万次这类操作累积起来就是实打实的帧数损失。1.2 第二个Hyper-V 与虚拟机平台第二个虚拟化是完整的 Hyper-V 角色以及它下面的虚拟机平台组件。很多人根本没主动装过 Hyper-V它却被悄悄打开了原因基本离不开这几个装了 Docker Desktop、用了 WSL2、开过 Windows 沙盒、装过安卓子系统。这些工具都依赖 Hyper-V 的底层能力安装时顺手就把虚拟机平台甚至完整的 Hyper-V 角色给你勾上了。和 VBS 的区别在于Hyper-V 打开后 hypervisor 一定会在开机时加载系统同样被降级成根分区。你哪怕一个虚拟机都不开这层虚拟化的调度开销也一直存在。对于纯游戏用途的机器来说这部分开销就是纯浪费。1.3 为什么这层虚拟化会稳定吃掉几帧把原理说透一点。第一层开销来自内存地址翻译。开了虚拟化后物理地址访问多了一层二级地址转换Intel 叫 EPTAMD 叫 RVI/NPT。正常访问是虚拟地址到物理地址一次转换现在中间插了一层TLB 命中率下降页表遍历变多内存延迟敏感的游戏就吃亏。第二层开销来自调度与中断。hypervisor 要拦截一部分特权指令、接管定时器和中断分发DPC 和 ISR 的延迟会略微抬高。这类延迟对平均帧影响不大但对 1% Low 和输入延迟影响直接。第三层是 VBS 特有的。HVCI 在内核热路径上加了额外的签名校验驱动调用越频繁校验次数越多。游戏的反作弊、显卡驱动、音频驱动都是高频内核交互方全都要过这道关卡。社区里普遍的实测区间是这样的具体数字跟你 CPU 单核性能、游戏类型、分辨率强相关仅供参考场景类型平均帧影响1% Low 影响感知程度1080p 高帧竞技游戏约 5% 到 12%约 8% 到 15%明显拉枪手感有差1440p 3A 大作约 3% 到 8%约 5% 到 10%中等团战掉帧更清楚4K 显卡瓶颈场景约 1% 到 4%约 2% 到 5%轻微几乎无感模拟器 / 多开场景约 8% 到 20%波动更大非常明显注意这张表是经验区间不是实验室数据。你的机器越接近 CPU 瓶颈禁用的收益越大越是 GPU 吃满的场景收益越小。2. 动手前的体检先确认你的机器到底开没开2.1 一招定位 VBS 状态系统信息工具最省事的办法是系统信息工具。按 Win R输入 msinfo32 回车等它把信息收集完拉到最下面找基于虚拟化的安全性这一行。如果显示正在运行说明 VBS 已经起来了显示未启用那就是关的。同一页还能看到已检测到虚拟机监控程序这类字样如果显示是说明 hypervisor 也在跑。这个工具的缺点是刷新慢改完配置后重启再打开有时候还得等几十秒才更新。所以复核的时候别只信它一个后面我会给更快的命令行方法。2.2 用 PowerShell 拿到精确数值想拿准确数字用 PowerShell 查设备防护状态最靠谱。以普通用户身份打开 PowerShell执行这段命令Get-CimInstance -ClassName Win32_DeviceGuard -Namespace root\Microsoft\Windows\DeviceGuard | Select-Object VirtualizationBasedSecurityStatus, SecurityServicesConfigured, SecurityServicesRunning, AvailableSecurityProperties重点看 VirtualizationBasedSecurityStatus 这个字段。它的含义是0 代表关闭1 代表已配置但没运行2 代表正在运行。你要追求游戏性能目标就是让它是 0。SecurityServicesRunning 是个数组如果里面有 1 或者 2分别对应凭据保护和 HVCI 内存完整性在跑这也要清掉。2.3 顺手记录基线别凭感觉说变快了优化最怕的就是凭感觉。动手之前先挑一个你常玩、帧数波动明显的游戏用帧生成工具录两分钟同样的场景记下平均帧、1% Low、0.1% Low 三个数。没有专业工具也行游戏自带的基准测试跑一遍截图存档。等关完重启再跑一次同样的场景三个数字摆一起对比收益多少一目了然。我个人的习惯是固定一个存档点、固定视角、固定时长避免场景差异污染数据。这一步花十分钟能帮你省掉后面反复怀疑到底有没有用的一小时。3. 关闭第一个虚拟化VBS 与内存完整性3.1 图形界面关法从 Windows 安全中心下手最稳的入口是 Windows 安全中心。点开始菜单找到Windows 安全中心进去后选设备安全性再点内核隔离的详细信息。里面有个内存完整性开关默认多半是开的把它关掉系统会提示重启。重启之后HVCI 就不再运行了。这一步能解决大部分人的问题因为内存完整性正是 VBS 最常被开启的入口。但要注意关掉这一项不等于 VBS 整体关闭。有些系统因为组策略或者企业策略VBS 总开关依然是开的你还得往下走注册表和组策略这两步。3.2 注册表关法把两个键值都归零图形界面关不干净的时候直接上注册表。以管理员身份打开 PowerShell 或命令提示符执行这两条reg add HKLM\SYSTEM\CurrentControlSet\Control\DeviceGuard\Scenarios\HypervisorEnforcedCodeIntegrity /v Enabled /t REG_DWORD /d 0 /f reg add HKLM\SYSTEM\CurrentControlSet\Control\DeviceGuard /v EnableVirtualizationBasedSecurity /t REG_DWORD /d 0 /f第一条管的是内存完整性第二条管的是 VBS 总开关。两条都设成 0 之后重启。如果你还开了凭据保护顺手再执行一条把 LSA 的配置标志清零reg add HKLM\SYSTEM\CurrentControlSet\Control\Lsa /v LsaCfgFlags /t REG_DWORD /d 0 /f注意改注册表前建议先导出备份。在注册表编辑器里定位到对应项右键导出存成 .reg 文件出问题双击还原。3.3 组策略关法专业版以上才有的路径如果你用的是 Windows 11 专业版、企业版或教育版组策略是个更彻底的方式因为它是策略级关闭优先级比注册表默认值高不容易被系统自己改回来。按 Win R 输入 gpedit.msc依次展开计算机配置 → 管理模板 → 系统 → Device Guard找到打开基于虚拟化的安全性这一项双击改成已禁用确定后重启。家庭版没有组策略编辑器这条跳过用前面的注册表方法就够了。这也是为什么家里装家庭版的朋友经常反馈关不干净其实是少了策略这一层。3.4 关完记得复核确认真的下去了重启之后别急着开游戏先用第 2 节的 PowerShell 命令再查一次确认 VirtualizationBasedSecurityStatus 已经变成 0。如果还是 2说明有更高优先级的策略在压着去检查有没有安装过企业级管理软件、有没有被远程下发的策略、有没有第三方安全加固工具在作祟。我遇到过最坑的一种情况是某个系统优化软件把内存完整性又悄悄打开了还在后台定时检查。这类工具图省事实际经常和你的手动配置打架能不用就不用。4. 关闭第二个虚拟化Hyper-V 与虚拟机平台4.1 Windows 功能面板逐项关闭图形界面的入口在启用或关闭 Windows 功能里。按 Win R 输入 optionalfeatures 回车打开列表后重点看这几个勾选项把勾全部取消Hyper-V、虚拟机平台、Windows 虚拟机监控程序平台、Windows 沙盒、容器。取消后确定系统会要求重启。这里面虚拟机平台是 WSL2 和 Docker Desktop 的命根子Windows 虚拟机监控程序平台是给第三方虚拟化软件做嵌套用的。只要你不用这些东西都可以放心关。4.2 命令行批量关闭DISM 更快更准图形界面点来点去容易漏用 DISM 一次搞定更清爽。以管理员身份打开命令提示符逐条执行dism /online /disable-feature /featurename:Microsoft-Hyper-V-All /norestart dism /online /disable-feature /featurename:VirtualMachinePlatform /norestart dism /online /disable-feature /featurename:HypervisorPlatform /norestart dism /online /disable-feature /featurename:Containers-DisposableClientVM /norestart四条跑完重启。用 PowerShell 也可以实现同样效果Disable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V-All -NoRestart Disable-WindowsOptionalFeature -Online -FeatureName VirtualMachinePlatform -NoRestart Disable-WindowsOptionalFeature -Online -FeatureName HypervisorPlatform -NoRestart如果某条提示功能名称未知或者该功能不存在说明你这台机器本来就没装忽略即可。4.3 用 bcdedit 关掉 hypervisor 启动开关光关功能还不够有些系统即使功能关了开机引导项里还留着 hypervisor 自动启动的标记。这条要单独处理。管理员身份执行bcdedit /set hypervisorlaunchtype off执行完重启。想看当前状态用bcdedit /enum {current} | findstr /i hypervisorlaunchtype返回 off 就对了。如果返回 auto说明还没关成功再执行一次上面的设置命令。想恢复的时候把 off 换成 auto 即可bcdedit /set hypervisorlaunchtype auto4.4 依赖 WSL2、Docker、沙盒的人怎么取舍这里必须说清楚取舍。虚拟机平台一关WSL2 会直接罢工报错大意是此计算机上未启用虚拟化请在固件设置中启用虚拟机平台Docker Desktop 也会提示未检测到虚拟化支持起不来容器。如果你的日常工作离不开这些就别把虚拟机平台关死。我的建议是分场景处理。纯游戏机、二奶机放心全关。一台机器既要开发又要游戏可以做成开机选择模式游戏前用脚本关虚拟化并重启需要开发时再开回来。脚本很简单echo off echo 正在关闭 Hyper-V 相关功能... dism /online /disable-feature /featurename:Microsoft-Hyper-V-All /norestart dism /online /disable-feature /featurename:VirtualMachinePlatform /norestart bcdedit /set hypervisorlaunchtype off echo 完成请重启后开始游戏。 pause再配一个反过来的恢复脚本echo off echo 正在恢复虚拟化功能... dism /online /enable-feature /featurename:Microsoft-Hyper-V-All /norestart dism /online /enable-feature /featurename:VirtualMachinePlatform /norestart bcdedit /set hypervisorlaunchtype auto echo 完成请重启后使用 WSL2 / Docker。 pause注意这两段脚本都会改系统配置执行后必须重启才生效。别在跑着虚拟机或容器的时候执行关闭脚本容易留下损坏的虚拟磁盘状态。5. 验证与实测怎么确认真的关干净了5.1 三条命令交叉验证判断是否关干净我习惯用三个来源交叉比对。第一msinfo32 里基于虚拟化的安全性应该是未启用已检测到虚拟机监控程序应该是否。第二前面那条 Get-CimInstance 命令返回的状态码应该是 0。第三bcdedit 查询里 hypervisorlaunchtype 应该是 off。三条全绿才算真正关干净。有人只看了 msinfo32 就以为万事大吉其实 bcdedit 里还挂着 autohypervisor 照样开机加载性能自然没变化。5.2 用帧生成工具做前后对比验证性能收益靠体感不如靠数据。我常用的方法是固定场景录两分钟对比平均帧、1% Low、0.1% Low 三个指标。录之前记得把后台无关程序清一遍关闭浏览器、聊天工具、录屏软件避免干扰。测的时候同一个存档点、同一个视角、同样的时长尽量把变量控死。如果你想更严谨可以把显卡驱动的帧数限制关掉让帧数自然跑满这样前后差异更容易看出来。开垂直同步会掩盖掉一部分差异不建议在对比时开启。5.3 一份可参考的实测对比记录下面这份记录来自我用过的一台主力配置测试前后各跑三次取中位数游戏内画质不变仅供你参考格式和量级指标关闭前关闭后变化平均帧178195约 9.6%1% Low121146约 20.7%0.1% Low94118约 25.5%CPU 单线程占用偏高略降调度开销减少数据本身不是重点重点是 1% Low 的改善往往比平均帧更明显。这刚好对应前面讲的原理虚拟化主要吃的是调度和内存延迟而不是纯粹的算力所以卡顿感会先改善。6. 一键体检脚本与常见问题排查6.1 只读体检批处理脚本下面这段脚本只读不改专门用来快速看当前状态适合放在桌面随时点一下。把它存成 check_virt.bat右键以管理员身份运行echo off chcp 65001 nul echo 虚拟化状态快速体检 echo. echo [1] 引导项 hypervisor 启动类型 bcdedit /enum {current} | findstr /i hypervisorlaunchtype if errorlevel 1 echo 未显式配置默认行为需留意 echo. echo [2] VBS 状态0关闭 1已配置未运行 2运行中 powershell -NoProfile -Command (Get-CimInstance -ClassName Win32_DeviceGuard -Namespace root\Microsoft\Windows\DeviceGuard).VirtualizationBasedSecurityStatus echo. echo [3] 正在运行的安全服务1凭据保护 2内存完整性 powershell -NoProfile -Command (Get-CimInstance -ClassName Win32_DeviceGuard -Namespace root\Microsoft\Windows\DeviceGuard).SecurityServicesRunning echo. echo [4] Hyper-V 相关功能状态 dism /online /get-featureinfo /featurename:Microsoft-Hyper-V-All | findstr /i 状态 State echo. echo pause脚本用只读命令跑完不会改你任何设置可以放心双击。唯一要注意的是必须以管理员身份运行否则 bcdedit 和 dism 会报权限不足。6.2 常见问题速查表现象可能原因处理方式关完重启又自动开了系统策略或安全中心重新启用检查组策略、注册表两项关掉第三方优化软件WSL2 报未启用虚拟化虚拟机平台被关闭执行恢复脚本bcdedit 设回 auto 后重启Docker 提示未检测到虚拟化同上缺虚拟机平台按需重新启用对应功能关完帧数没变化当前场景是 GPU 瓶颈换 CPU 敏感的竞技游戏复测系统无法正常启动bcdedit 配置异常进安全模式执行恢复命令内存完整性开关是灰的被组策略锁定家庭版用注册表专业版改组策略6.3 我踩过的坑和一些实操心得第一个坑是关了又回来。Windows 更新、安全中心例行扫描、某些驱动安装程序都有可能把内存完整性重新打开。所以每次大版本更新之后建议用体检脚本再看一眼别等帧数掉了才想起来。第二个坑是只关一半。很多人只关了图形界面的内存完整性没动 bcdedit 的 hypervisorlaunchtype结果 hypervisor 照旧加载性能收益几乎为零。这两步是配套的缺一步效果打折。第三个心得是安全与性能要平衡。关掉 VBS 确实会降低系统对某些内核级攻击的防护这是客观事实。我的做法是纯游戏场景关掉日常上网办公切回默认配置重要机器不要长期裸奔。别为了几帧把安全底线全扔了得不偿失。第四个心得是关于恢复的。动手之前一定把 bcdedit 原始状态和注册表导出一份写在纸上或者存成文本都行。出问题的时候你有这两样东西五分钟就能救回来没有的话可能就得折腾重装了。还有一个小细节很多人忽略电源计划。虚拟化关掉之后如果你的电源计划还是平衡收益会打个折扣。配合把电源计划切到高性能或卓越性能再关掉一些常驻后台服务整体手感会更统一。这部分我这篇先不展开后面可以单独聊一套完整的性能调度组合拳。最后分享一个判断要不要动手的简单标准如果你主要玩的是 4K 高画质 3A显卡常年满载那关不关虚拟化差别很小没必要折腾如果你玩的是 1080p 或 1440p 的竞技类、模拟器、多开类游戏CPU 经常是瓶颈那这两个虚拟化的收益就非常值得花十分钟去处理。按自己的实际场景做决定比无脑照搬别人的优化清单靠谱得多。
📌 标签:
工业官网
设计趋势
AI 建站
SEO
获取完整报告 →
RELATED ARTICLES
推荐阅读
2026/9/17 17:13:53
游戏项目管理:RACI权责划分与α/β/Master版本收敛
2026/9/17 17:08:53
抖音无水印批量下载工具 douyin-downloader:把整个主页作品搬进本地硬盘
2026/9/17 17:08:53
构建智能运维平台:数据底座、异常检测与告警压缩实践
2026/9/17 17:58:58
终端AI编程实战:Agent、Skills与MCP协议落地全景图
2026/9/17 17:58:58
RH850低功耗唤醒实战:Deep Sleep与INTP12中断链路解析
2026/9/17 17:58:58
手机验证码登录全链路:Spring Boot+Redis限流防刷与JWT实战
2026/9/17 17:58:58
PLC实操培训:从剥线看灯到产线独立调试
2026/9/17 17:58:57
机器视觉工控机选型:系统级适配实战指南
2026/9/17 17:53:57
从受控文档到状态机:供应商质量手册系统化建模
2026/9/17 0:00:44
开学论文写作指南:核心框架梳理与高效完成技巧分享
2026/9/17 0:00:44
OpenMAIC:轻量级多Agent教学框架实战指南
2026/9/17 0:00:44
AWS无服务器应用开发指南:从Lambda到SAM的架构与实践
2026/9/16 18:36:59
拯救者Y7000黑屏故障排查与维修实战指南
2026/9/16 7:38:03
AI SDK Harness 依赖更新指南:掌握 harness 包 SDK 依赖的升级、桥接同步与一致性校验
2026/9/17 4:19:54
Refine v5 Ant Design NumberField 组件实战:基于 Intl 的本地化数字格式化