Disable Game DVR and Xbox Recording in Windows 11
Game DVR — Microsoft’s background screen recording feature built into Windows — has been a performance concern since its introduction in Windows 10. The feature runs constantly while you game, capturing a rolling buffer of footage so you can save the last 30 seconds of gameplay on demand. On paper that sounds useful. In practice, it consumes GPU encode resources, introduces memory overhead, and on some configurations causes frame time spikes. Disabling it properly requires touching multiple settings because the feature has redundant activation paths.
What Game DVR Actually Does
When Game DVR is active, GameDVR (a component of the Xbox Game Bar, GameBar.exe) hooks into the DXGI present chain of any detected game. It uses your GPU’s hardware video encoder (NVENC on NVIDIA, AMF on AMD, Quick Sync on Intel) to continuously encode game footage into a rolling memory buffer. When you press Win + Alt + G, Windows saves that buffer to disk.
This background encoding has real costs:
- GPU encoder utilization: Hardware encoders are mostly dedicated circuits, but they share memory bandwidth and command queues with the 3D engine. A busy encoder adds latency to the 3D pipeline.
- Memory overhead: The rolling buffer itself consumes VRAM or system RAM depending on the implementation.
- CPU overhead: GameBar’s game detection and the DVR management process run continuously.
- Driver hooks: The DXGI hook that Game DVR installs can introduce frame time variance in some game/driver combinations.
What “Still Runs” Even After You Disable It
This is the part that trips up most guides. There are three separate components that need to be addressed:
| Component | What It Does | How to Disable |
|---|---|---|
Xbox Game Bar (GameBar.exe) | UI overlay (Win + G) | Settings or registry |
| Game DVR background recording | Rolling buffer capture | Registry key |
Xbox Game Bar service (BcastDVRUserService) | Service supporting capture | Services.msc or registry |
Disabling Game DVR in Settings alone only addresses the first. The DVR buffer and service can still run unless you address all three.
Method 1: Windows Settings (Basic)
Settings → Gaming → Xbox Game Bar → toggle "Enable Xbox Game Bar" → Off
Settings → Gaming → Captures → toggle "Record in the background while I'm playing a game" → Off
This is the minimum configuration most guides suggest. It is insufficient for full DVR removal.
Method 2: Registry Keys (Complete Disable)
These registry changes cover all three components:
# Disable Game DVR (user-level)
$gameDVRPath = "HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\GameDVR"
If (-not (Test-Path $gameDVRPath)) { New-Item -Path $gameDVRPath -Force | Out-Null }
Set-ItemProperty -Path $gameDVRPath -Name "AppCaptureEnabled" -Value 0 -Type DWord
# Disable Game Bar (user-level)
$gameBarPath = "HKCU:\SOFTWARE\Microsoft\GameBar"
If (-not (Test-Path $gameBarPath)) { New-Item -Path $gameBarPath -Force | Out-Null }
Set-ItemProperty -Path $gameBarPath -Name "UseNexusForGameBarEnabled" -Value 0 -Type DWord
Set-ItemProperty -Path $gameBarPath -Name "AllowAutoGameMode" -Value 0 -Type DWord
# Disable Game DVR at system level
$systemDVR = "HKLM:\SOFTWARE\Policies\Microsoft\Windows\GameDVR"
If (-not (Test-Path $systemDVR)) { New-Item -Path $systemDVR -Force | Out-Null }
Set-ItemProperty -Path $systemDVR -Name "AllowGameDVR" -Value 0 -Type DWord
Write-Host "Game DVR disabled via registry."
The HKLM:\SOFTWARE\Policies\Microsoft\Windows\GameDVR key is the Group Policy path — setting AllowGameDVR = 0 here prevents users and apps from re-enabling DVR even if they toggle the Settings switch.
Method 3: Group Policy (Enterprise / Pro)
On Windows 11 Pro or Enterprise:
- Press Win + R →
gpedit.msc. - Navigate to: Computer Configuration → Administrative Templates → Windows Components → Windows Game Recording and Broadcasting.
- Double-click “Enables or disables Windows Game Recording and Broadcasting”.
- Select Disabled → Apply → OK.
This is the same as setting AllowGameDVR = 0 in the registry above, just via GUI.
Disabling the Background Recording Service
The BcastDVRUserService runs per-user and supports the background capture functionality. Disable it:
# Disable BcastDVRUserService for current user session
# Note: This is a per-user service with a dynamic suffix
$services = Get-Service | Where-Object {$_.Name -like "BcastDVRUserService*"}
foreach ($svc in $services) {
Stop-Service -Name $svc.Name -Force -ErrorAction SilentlyContinue
Set-Service -Name $svc.Name -StartupType Disabled
Write-Host "Disabled: $($svc.Name)"
}
# Also disable the template service that spawns user instances
$templateService = "HKLM:\SYSTEM\CurrentControlSet\Services\BcastDVRUserService"
If (Test-Path $templateService) {
Set-ItemProperty -Path $templateService -Name "Start" -Value 4 # 4 = Disabled
Write-Host "BcastDVRUserService template disabled."
}
Disabling Xbox Game Bar Completely
If you do not use any Xbox Game Bar features (overlay, social features, achievements), you can suppress it entirely:
# Prevent Game Bar from launching (keyboard shortcut becomes inert)
Set-ItemProperty -Path "HKCU:\SOFTWARE\Microsoft\GameBar" `
-Name "ShowStartupPanel" -Value 0 -Type DWord
# Disable Game Bar's ability to recognize games
Set-ItemProperty -Path "HKCU:\System\GameConfigStore" `
-Name "GameDVR_Enabled" -Value 0 -Type DWord
Set-ItemProperty -Path "HKCU:\System\GameConfigStore" `
-Name "GameDVR_FSEBehaviorMode" -Value 2 -Type DWord
Set-ItemProperty -Path "HKCU:\System\GameConfigStore" `
-Name "GameDVR_HonorUserFSEBehaviorMode" -Value 1 -Type DWord
Set-ItemProperty -Path "HKCU:\System\GameConfigStore" `
-Name "GameDVR_FSEBehavior" -Value 2 -Type DWord
The GameDVR_FSEBehaviorMode = 2 value tells Windows to force exclusive fullscreen behavior, which also disables Game Bar’s ability to overlay on top of games in exclusive fullscreen.
Uninstalling Xbox Game Bar (Optional — Aggressive)
For users who want Game Bar completely removed:
# Remove Xbox Game Bar package (run as Administrator)
Get-AppxPackage -AllUsers Microsoft.XboxGamingOverlay | Remove-AppxPackage -AllUsers
Get-AppxPackage -AllUsers Microsoft.XboxGameOverlay | Remove-AppxPackage -AllUsers
Warning: This is difficult to reverse without reinstalling Windows or using the Store. Some games that use Xbox achievements or cloud saves may not function correctly. Only do this if you are certain you do not need these features.
What Still Runs After Disabling (And Why It Matters)
Even with all the above applied, these Xbox/gaming components continue running:
| Component | Why It Keeps Running | Can You Stop It? |
|---|---|---|
| Xbox Identity Provider | Required for Xbox game pass title authentication | Yes, but breaks game pass |
Game Mode (GameModeService) | CPU priority boosting for active games | You can disable, but it helps more than hurts |
| Xbox Live Auth Manager | Xbox account authentication | Yes, disable if not using Xbox services |
| Windows Game Recording DRM hooks | Used by some titles for anti-cheat | No, kernel-level |
Game Mode (GameModeService) is worth keeping — it boosts your game process’s CPU scheduling priority and reduces background task interference. Unlike Game DVR, it does not consume GPU encode resources.
Performance Impact: What to Realistically Expect
The performance impact of Game DVR varies widely by system:
| System Config | Expected FPS Improvement | Frame Time Improvement |
|---|---|---|
| NVIDIA RTX 4070 + i7-13700K | 0–1% avg FPS | 5–15% reduction in 1% lows |
| AMD RX 6700 XT + Ryzen 5 5600 | 1–3% avg FPS | 10–20% reduction in 1% lows |
| Older GPU (RTX 2060 / RX 5700) | 2–5% avg FPS | 15–25% reduction in 1% lows |
The improvement is most pronounced on older GPUs where the hardware encoder is less isolated from the 3D pipeline, and in frame-time variance (1% lows) rather than raw average FPS. If your game stutters periodically but average FPS looks fine, Game DVR is a prime suspect.
Complete Disable Script
Save this as DisableGameDVR.ps1 and run as Administrator for a one-shot configuration:
# Game DVR Complete Disable Script for Windows 11
# Run as Administrator
$keys = @{
"HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\GameDVR" = @{ "AppCaptureEnabled" = 0 }
"HKCU:\System\GameConfigStore" = @{
"GameDVR_Enabled" = 0
"GameDVR_FSEBehaviorMode" = 2
"GameDVR_HonorUserFSEBehaviorMode" = 1
"GameDVR_FSEBehavior" = 2
}
"HKCU:\SOFTWARE\Microsoft\GameBar" = @{
"UseNexusForGameBarEnabled" = 0
"ShowStartupPanel" = 0
}
"HKLM:\SOFTWARE\Policies\Microsoft\Windows\GameDVR" = @{ "AllowGameDVR" = 0 }
}
foreach ($path in $keys.Keys) {
If (-not (Test-Path $path)) { New-Item -Path $path -Force | Out-Null }
foreach ($name in $keys[$path].Keys) {
Set-ItemProperty -Path $path -Name $name -Value $keys[$path][$name] -Type DWord
Write-Host "Set $path\$name = $($keys[$path][$name])"
}
}
# Disable background recording service
Get-Service | Where-Object {$_.Name -like "BcastDVRUserService*"} | ForEach-Object {
Stop-Service $_ -Force -ErrorAction SilentlyContinue
Set-Service $_ -StartupType Disabled
}
Write-Host "`nGame DVR fully disabled. No restart required."
Applying these changes takes two minutes and is fully reversible by setting the DWORD values back to 1 (or deleting the policy key). For the majority of gamers, this is one of the safest and most consistently effective optimizations available in Windows 11.