Guide de dépannage Windows

Micro-freezes de ~5 secondes sur Windows quand vous changez de fenêtre pendant une visio ? Voici la méthode pour trouver et corriger.

Écran qui se fige 3 à 10 secondes en basculant vers votre navigateur ou une application pendant un appel Zoom, Teams ou Meet — alors que votre PC est puissant et vos ressources loin d'être saturées ? Ce guide vous montre comment prouver d'où ça vient, puis comment le corriger de façon réversible. Aucun logiciel à installer.

🎯 Ce guide est pour vous si…

Si votre problème est différent (écran noir, redémarrage brutal, gel définitif nécessitant un reset), ce guide ne s'applique probablement pas.

1.Comprendre : pourquoi ça gèle

Quand ce type de micro-freeze survient, le réflexe est de soupçonner un manque de RAM ou un CPU dépassé. C'est rarement ça : un manque de ressources produit des ralentissements progressifs, pas des gels nets de quelques secondes qui disparaissent d'un coup.

Le vrai suspect, ce sont les logiciels qui s'injectent dans vos applications pour fonctionner. Deux grandes familles sont préinstallées sur énormément de PC :

🎧 Les couches audio « améliorées »

Livrées avec les cartes mères ASUS, MSI, Gigabyte et d'autres : Nahimic, Sonic Studio, Sonic Radar… Pour appliquer leurs effets (égaliseur, spatialisation), elles s'accrochent au flux audio de chaque application qui émet du son. Or un navigateur ou une application moderne initialise sa session audio au lancement ou au premier passage au premier plan — pile le moment où vous basculez dessus.

🎮 La Xbox Game Bar (Windows)

Activée par défaut, elle surveille les applications accélérées par le GPU (jeux, mais aussi navigateurs et applications de bureau modernes) pour permettre l'enregistrement instantané (Win+G). Elle pose ses « hooks » au moment où une application de ce type prend le focus.

Dans les deux cas, le scénario du gel est le même : une application de communication (visio avec micro/caméra actifs) occupe déjà l'audio et l'encodeur vidéo du GPU. Vous basculez vers une fenêtre accélérée GPU → la couche d'injection s'accroche à elle au même moment → le pilote graphique ou audio encaisse mal la collision → tout le système se fige quelques secondes.

C'est pour ça que le gel semble « aléatoire » mais suit en réalité un motif précis : il faut la combinaison visio active + bascule vers une app injectable.

2.Diagnostiquer : la méthode

Ne désactivez rien au hasard : vous ne sauriez jamais ce qui a réellement agi. La méthode ci-dessous vous donne des preuves, en trois temps : enregistrer, tester une variable à la fois, comparer.

Étape 2.1 — Poser un « enregistreur de gels »

Ce script PowerShell note l'état du système (CPU, RAM, GPU, disque) toutes les secondes dans un fichier CSV. Son intérêt est double : il enregistre les ressources, mais surtout, quand le système gèle, le script gèle aussi — chaque gel laisse donc un « trou » dans les horodatages du fichier. Un trou de 10 secondes = un gel de ~10 secondes, daté à la seconde près.

Enregistrez ce script sous C:\Diagnostic\monitor.ps1 (créez le dossier) :

monitor.ps1
param(
    [string]$OutFile = "C:\Diagnostic\capture.csv",
    [int]$DurationMinutes = 120
)

if (-not (Test-Path $OutFile)) {
    "Timestamp,CPULoadPct,RAMFreeGB,RAMUsedGB,GPU3D_Pct,GPUEncode_Pct,DiskQueue" |
        Out-File -FilePath $OutFile -Encoding utf8
}

$end = (Get-Date).AddMinutes($DurationMinutes)

while ((Get-Date) -lt $end) {
    $ts  = Get-Date -Format "yyyy-MM-dd HH:mm:ss"
    $cpu = (Get-CimInstance Win32_Processor |
            Measure-Object -Property LoadPercentage -Average).Average
    $os  = Get-CimInstance Win32_OperatingSystem
    $ramFree = [math]::Round($os.FreePhysicalMemory / 1MB, 2)
    $ramUsed = [math]::Round(($os.TotalVisibleMemorySize - $os.FreePhysicalMemory) / 1MB, 2)

    $gpu = (Get-Counter '\GPU Engine(*)\Utilization Percentage' -ErrorAction SilentlyContinue).CounterSamples
    $gpu3d  = ($gpu | Where-Object { $_.Path -match 'engtype_3d' } |
               Measure-Object -Property CookedValue -Sum).Sum
    $gpuEnc = ($gpu | Where-Object { $_.Path -match 'engtype_videoencode' } |
               Measure-Object -Property CookedValue -Sum).Sum

    $dq = (Get-Counter '\PhysicalDisk(_Total)\Current Disk Queue Length' -ErrorAction SilentlyContinue).CounterSamples.CookedValue

    "$ts,$cpu,$ramFree,$ramUsed,$([math]::Round($gpu3d,1)),$([math]::Round($gpuEnc,1)),$dq" |
        Out-File -FilePath $OutFile -Append -Encoding utf8

    Start-Sleep -Seconds 1
}

Lancez-le en arrière-plan (PowerShell normal, pas besoin d'administrateur) :

PowerShell
Start-Process powershell -WindowStyle Hidden -ArgumentList `
  '-NoProfile -ExecutionPolicy Bypass -File "C:\Diagnostic\monitor.ps1" -DurationMinutes 240'

Puis utilisez votre PC normalement — visio + navigation, comme un jour habituel. À chaque gel ressenti, notez l'heure affichée par Windows. C'est tout.

Étape 2.2 — Lire les résultats : trouver les trous

Après votre session, ce petit script liste tous les trous anormaux du fichier (l'écart normal entre deux lignes est de 1 à 5 secondes ; au-delà de 7, c'est un gel) :

PowerShell — détection des gels
$prev = $null
Import-Csv "C:\Diagnostic\capture.csv" | ForEach-Object {
    $t = [datetime]::ParseExact($_.Timestamp, "yyyy-MM-dd HH:mm:ss", $null)
    if ($prev -and ($t - $prev).TotalSeconds -gt 7) {
        "GEL probable de $([int](($t - $prev).TotalSeconds))s : $prev --> $t"
    }
    $prev = $t
}

Exemple de sortie (valeurs illustratives) :

exemple de résultat
GEL probable de 9s  : 14/03/2026 10:42:00 --> 14/03/2026 10:42:09
GEL probable de 11s : 14/03/2026 10:51:33 --> 14/03/2026 10:51:44
GEL probable de 8s  : 14/03/2026 11:03:17 --> 14/03/2026 11:03:25

Croisez avec les heures que vous avez notées : si elles correspondent, vous avez la preuve objective que ce sont de vrais gels système. Regardez aussi les colonnes CPU/RAM sur les lignes juste avant chaque trou : si elles sont basses, vous venez d'innocenter vos ressources — inutile d'acheter de la RAM.

Étape 2.3 — Tester UNE variable à la fois

C'est la règle d'or de tout diagnostic : ne changez qu'une seule chose entre deux sessions de capture, sinon impossible de savoir ce qui a agi. Le principe :

  1. Session de capture n°1 : configuration normale → comptez les gels (votre « référence »).
  2. Désactivez un seul suspect (voir partie 4).
  3. Session de capture n°2, mêmes conditions d'usage → comptez à nouveau.
  4. Les gels ont disparu ? Suspect confirmé. Toujours là ? Restaurez-le et passez au suivant.
Le piège des « hooks résiduels » — la cause n°1 des faux résultats. Quand vous désactivez un logiciel d'injection (Nahimic, Game Bar…), le code qu'il a déjà injecté dans vos applications ouvertes y reste jusqu'à leur redémarrage. Si vous testez sans avoir relancé votre navigateur et votre appli de visio, les gels continueront et vous conclurez à tort que le suspect est innocent. Après chaque changement : fermez et relancez les applications concernées (ou redémarrez le PC, c'est encore plus sûr).
Un contre-test vaut de l'or : une fois les gels disparus, réactivez le suspect quelques minutes. Si les gels reviennent immédiatement, votre preuve devient irréfutable. Pensez à re-désactiver ensuite… et à relancer vos applis (toujours les hooks résiduels).

3.L'arbre de décision

Gels de 3-10 s au changement de fenêtre pendant une visio ?
▼ oui
Lancez la capture (étape 2.1) et confirmez les trous dans le CSV
▼ gels confirmés, CPU/RAM calmes
Un logiciel audio type Nahimic est-il présent ?
(vérification en partie 4)
▼ oui → désactivez-le, relancez vos applis, re-capturez
Gels disparus ?
▼ oui
Coupable trouvé. Faites le contre-test Game Bar avant de conclure (les deux peuvent être coupables ensemble)
▼ non
Restaurez-le, passez à la Game Bar ↓
▼ non → passez directement à la Game Bar
Game Bar désactivée + applis relancées : gels disparus ?
▼ oui
Coupable trouvé. Gardez-la désactivée
▼ non
Autres pistes : voir la FAQ (overlays, MPO, périphériques Bluetooth…)
Important : les deux suspects peuvent être coupables en même temps, chacun suffisant à provoquer les gels. Si vous en désactivez un et que ça continue, ne le restaurez définitivement qu'après avoir testé l'autre — le calme complet peut nécessiter la désactivation des deux.

4.Corriger : désactiver les coupables

Avant de commencer : tout ce qui suit est réversible et les commandes de retour arrière sont fournies à chaque étape. Ne désactivez jamais un service dont vous ignorez le rôle sans l'avoir identifié. Ces manipulations sont à faire sur votre propre machine ; sur un PC d'entreprise, parlez-en d'abord à votre service informatique.

4.1 — La couche audio (Nahimic et similaires)

Vérifier si elle est présente (PowerShell normal) :

PowerShell — vérification
Get-Service | Where-Object { $_.DisplayName -match 'Nahimic|Sonic|A-Volute' } |
    Select-Object Name, DisplayName, Status, StartType

Si un service apparaît avec Status: Running, c'est un candidat. Pour le désactiver, ouvrez PowerShell en administrateur (clic droit sur le menu Démarrer → « Terminal (administrateur) ») :

Effet de bord : vous perdez uniquement les effets audio « améliorés » (égaliseur virtuel, spatialisation). Le son de base continue de fonctionner via vos pilotes classiques. Notez aussi que l'arrêt du service peut faire clignoter/planter brièvement une application qui était accrochée — c'est attendu, un redémarrage des applis suit de toute façon.
PowerShell ADMIN — désactivation (exemple avec NahimicService)
Stop-Service NahimicService -Force
Set-Service NahimicService -StartupType Disabled
# Verification : la ligne suivante ne doit rien retourner
Get-Process *nahimic* -ErrorAction SilentlyContinue
PowerShell ADMIN — retour arrière
Set-Service NahimicService -StartupType Automatic
Start-Service NahimicService
Mon service ne s'appelle pas « NahimicService » (MSI, Gigabyte, autre)

Le nom exact varie selon la marque et la génération : NahimicService, Nahimic service, A-Volute-NsSvc, AWCC (Alienware), services « Sonic Studio » (ASUS)… Utilisez le nom exact retourné par la commande de vérification ci-dessus dans les commandes de désactivation (colonne Name, pas DisplayName).

Ces logiciels sont souvent réinstallés/réactivés par les suites constructeur (Armoury Crate chez ASUS, MSI Center, etc.) lors de leurs mises à jour. Si vos gels reviennent des semaines plus tard, re-vérifiez ce service en premier.

4.2 — La Xbox Game Bar

Vérifier son état (PowerShell normal — 1 = activée, 0 = désactivée) :

PowerShell — vérification
Get-ItemProperty 'HKCU:\System\GameConfigStore' -Name GameDVR_Enabled
Effet de bord : vous perdez l'enregistrement d'écran Win+G et les overlays Xbox. Si vous enregistrez votre écran, utilisez plutôt un outil dédié type OBS Studio, qui n'accroche pas vos applications en permanence.

Désactiver (PowerShell normal, pas besoin d'admin — le réglage est propre à votre session utilisateur) :

PowerShell — désactivation
Set-ItemProperty -Path 'HKCU:\System\GameConfigStore' -Name 'GameDVR_Enabled' -Value 0
PowerShell — retour arrière
Set-ItemProperty -Path 'HKCU:\System\GameConfigStore' -Name 'GameDVR_Enabled' -Value 1

Vous pouvez aussi passer par l'interface : Paramètres → Jeux → Game Bar et Paramètres → Jeux → Captures, tout désactiver.

Rappel crucial : après CHAQUE désactivation/réactivation, fermez et relancez votre navigateur et votre application de visio (ou redémarrez le PC). Sans ça, les hooks déjà posés continuent d'agir et faussent votre test.

Votre checklist de progression

Cochez au fur et à mesure — l'état est mémorisé par votre navigateur.

5.Vérifier, et tout restaurer si besoin

Une fois votre configuration finale en place, laissez la capture tourner sur une journée de travail normale. Le verdict est simple : zéro trou de plus de 7 secondes dans le CSV = problème résolu. Gardez le fichier — si les gels réapparaissent dans quelques mois (souvent après une mise à jour constructeur qui réactive un service), vous aurez une référence de comparaison et la méthode déjà prête.

Si vous voulez tout remettre comme avant (par exemple parce que le problème venait d'ailleurs) :

PowerShell ADMIN — restauration complète
# Couche audio (adaptez le nom du service)
Set-Service NahimicService -StartupType Automatic
Start-Service NahimicService

# Xbox Game Bar
Set-ItemProperty -Path 'HKCU:\System\GameConfigStore' -Name 'GameDVR_Enabled' -Value 1

6.FAQ

C'est risqué de désactiver ces services ?

Non. Les deux réglages présentés ici sont des désactivations propres et documentées, entièrement réversibles avec les commandes fournies. On ne supprime aucun fichier, on ne touche ni au démarrage du système, ni aux pilotes. Le pire scénario possible : vous perdez temporairement des effets audio « améliorés » ou l'enregistrement Win+G, et vous les restaurez en deux commandes.

J'ai désactivé les deux et j'ai encore des gels. Quelles autres pistes ?

D'abord, êtes-vous sûr d'avoir relancé vos applications (ou redémarré) après chaque changement ? C'est l'erreur la plus fréquente. Ensuite, dans l'ordre :

  • Autres logiciels à overlay : Discord (overlay en jeu), GeForce Experience/ShadowPlay, AMD ReLive, overlays de RGB (iCUE, Synapse…). Même logique d'injection, même méthode de test.
  • Pilote graphique : mettez-le à jour (ou testez une version plus ancienne stable si le problème est apparu après une mise à jour).
  • MPO (Multi-Plane Overlay) : mécanisme d'affichage de Windows, source connue de saccades avec les navigateurs. Recherchez « OverlayTestMode registry » pour le correctif documenté — modification de registre système, à faire en connaissance de cause.
  • Périphériques Bluetooth audio : un casque qui bascule entre profil « mains-libres » (micro) et « stéréo » peut geler la pile audio. Testez une session complète en audio filaire.
  • Pilotes d'affichage virtuels (streaming type Parsec, spacedesk, DroidCam…) : quittez-les complètement le temps d'une session de test.

La méthode de capture reste votre meilleure alliée : une variable à la fois, preuves à l'appui.

Pourquoi ne pas simplement désinstaller Nahimic ?

Vous pouvez, mais la désactivation du service suffit techniquement et elle est plus facile à annuler. La désinstallation complète est souvent frustrante : ces logiciels reviennent fréquemment via les suites constructeur (Armoury Crate, MSI Center…) ou Windows Update. Si vous désinstallez, désactivez aussi la réinstallation automatique dans la suite constructeur correspondante. Dans tous les cas, si les gels reviennent un jour, re-vérifiez d'abord l'état de ces services.

Le script de capture ralentit-il mon PC ?

Il consomme une fraction d'un seul cœur de CPU (les compteurs GPU sont ce qu'il y a de plus coûteux à lire). Sur une machine moderne multi-cœurs, l'impact est négligeable et surtout constant — il ne peut donc pas fausser la comparaison entre vos sessions de test, qui subissent toutes le même effet.

Ça marche aussi sur Windows 10 ? Avec une carte NVIDIA ? Avec Teams plutôt que Zoom ?

Oui. Le mécanisme (injection audio + hooks de capture au changement de focus pendant une visio) n'est spécifique ni à Windows 11, ni à AMD, ni à Zoom. Les commandes du guide fonctionnent à l'identique sur Windows 10 et 11. Avec NVIDIA, ajoutez GeForce Experience/ShadowPlay à votre liste de suspects (c'est aussi une couche de capture avec overlay).

Comment être sûr que ce ne sont pas ma RAM ou mon CPU ?

C'est justement ce que le CSV vous montre : regardez les colonnes CPULoadPct et RAMFreeGB sur les lignes qui précèdent immédiatement chaque trou. Si le CPU est sous ~30 % et qu'il reste plusieurs Go de RAM libres au moment du gel, vos ressources ne sont pas en cause. Un système à court de RAM montre au contraire une RAMFreeGB qui s'effondre et une activité disque en flèche (colonne DiskQueue) avant les ralentissements.