Message d’erreur ou utilisation élevée du processeur lors de l’exécution d’une application WPF

Cet article vous aide à résoudre le problème où vous recevez un message d’erreur FileFormatException ou ArgumentOutOfRangeException dans un programme Windows Presentation Foundation (WPF) lorsque le programme WPF traite du texte.

S’applique à : Windows Presentation Foundation
Numéro de la base de connaissances d’origine : 937135

Symptômes

Lorsque vous exécutez une application WPF dans Microsoft .NET Framework 3.0, vous pouvez recevoir une erreur FileFormatException ou Une erreur ArgumentOutofRangeException. L’erreur se produit lorsque l’application WPF commence à traiter du texte. Par exemple, vous pouvez recevoir un message d’erreur FileFormatException qui ressemble à ce qui suit :

file:///filepath/file_name fichier n’est pas conforme à la spécification de format de fichier attendue.

Dans ce message d’erreur, file_name est généralement le nom de fichier d’une police. En outre, l’application consomme jusqu’à 100 % du temps processeur.

Lorsque vous recherchez dans le Gestionnaire des tâches ou d’autres outils, PresentationFontCache.exe consomme au moins 50 % du temps processeur disponible.

Cause

Ce problème se produit si les pilotes vidéo remplacent les données dans le cache de polices stockés en mémoire.

Résolution

Pour résoudre ce problème, procédez comme suit :

  1. Quittez toutes les applications WPF qui s’exécutent sur l’ordinateur.

  2. Arrêtez le service Windows Presentation Foundation Font Cache 3.0.0.0. Pour arrêter le service Windows Presentation Foundation Font Cache 3.0.0.0, utilisez l’une des méthodes suivantes.

    • Méthode 1 : Utiliser Microsoft Management Console

      1. Cliquez sur Démarrer, sur Exécuter, tapez Services.msc, puis cliquez sur OK.
      2. Cliquez avec le bouton droit sur Windows Presentation Foundation Police Cache 3.0.0.0, puis cliquez sur Arrêter.
    • Méthode 2 : Utiliser l’invite de commandes

      1. Cliquez sur Démarrer, sur Exécuter, tapez cmd, puis cliquez sur OK.
      2. À l’invite de commandes, tapez net stop « Windows Presentation Foundation Font Cache 3.0.0.0 », puis appuyez sur Entrée.
  3. Supprimez l’ancien fichier Fontcache3.0.0.0.dat.

    Remarque

    Par défaut, le fichier Fontcache3.0.0.0.dat se trouve dans le %windir%\ServiceProfiles\LocalService\AppData\Local dossier de Windows Vista. Par défaut, le fichier Fontcache3.0.0.0.dat se trouve dans le %systemdrive%\Documents and Settings\LocalService\Local Settings\Application Data dossier de Windows XP et dans les versions antérieures de Windows.

  4. Mettez à jour les pilotes de carte vidéo. Pour cela, appliquez l’une des méthodes suivantes :

Plus d’informations

Si les pilotes de carte vidéo remplacent les données du cache de polices stockés en mémoire, les données endommagées peuvent être enregistrées sur le disque dur en tant que fichier de données. Par conséquent, vous pouvez rencontrer le problème décrit dans la section Symptômes lorsqu’une autre application WPF tente de lire le fichier de données endommagé.

Après avoir mis à jour les pilotes de carte vidéo et supprimé le fichier Fontcache3.0.0.0.dat, un nouveau fichier de données de cache de police est créé en fonction de la nouvelle configuration de l’ordinateur. Ce nouveau fichier de données de cache de polices est créé lorsque le Windows Presentation Foundation service Font Cache 3.0.0.0 est arrêté. En règle générale, le nouveau fichier de données du cache de police est créé lorsque l’ordinateur est arrêté ou redémarré.