Fehlermeldung oder hohe CPU-Auslastung beim Ausführen einer WPF-basierten Anwendung

Dieser Artikel hilft Ihnen, das Problem zu beheben, bei dem Sie eine FileFormatException- oder ArgumentOutOfRangeException-Fehlermeldung in einem Windows Presentation Foundation(WPF)-basierten Programm erhalten, wenn das WPF-basierte Programm Text verarbeitet.

Gilt für:   Windows Presentation Foundation
Ursprüngliche KB-Nummer:   937135

Problembeschreibung

Wenn Sie eine WPF-basierte Anwendung in Microsoft .NET Framework 3.0 ausführen, erhalten Sie möglicherweise einen FileFormatException-Fehler oder einen ArgumentOutofRangeException-Fehler. Der Fehler tritt auf, wenn die WPF-basierte Anwendung mit der Textprozessung beginnt. Sie können z. B. eine Fehlermeldung "FileFormatException" erhalten, die der folgenden ähnelt:

file:///filepath/file_name Datei entspricht nicht der erwarteten Dateiformatspezifikation.

In dieser Fehlermeldung ist file_name in der Regel der Dateiname für eine Schriftart. Darüber hinaus verbraucht die Anwendung bis zu 100 Prozent CPU-Zeit.

Wenn Sie den Task-Manager oder andere Tools PresentationFontCache.exe verbraucht PresentationFontCache.exe 50 % oder mehr der verfügbaren Prozessorzeit.

Ursache

This issue occurs if video drivers overwrite the data in the font cache that is stored in memory.

Lösung

Führen Sie die folgenden Schritte aus, um dieses Problem zu beheben:

  1. Beenden Sie alle WPF-basierten Anwendungen, die auf dem Computer ausgeführt werden.

  2. Beenden Sie Windows Presentation Foundation 3.0.0.0-Dienst für den Schriftartencache. Verwenden Sie eine der folgenden Methoden, um den Windows Presentation Foundation 3.0.0.0-Dienst zu beenden.

    • Methode 1: Verwenden der Microsoft Management Console

      1. Klicken Sie auf "Start", klicken Sie auf "Ausführen", geben Sie "Services.msc" ein, und klicken Sie dann auf "OK".
      2. Klicken Sie mit Windows Presentation Foundation Schriftartencache 3.0.0.0 auf "Schriftartcache 3.0.0", und klicken Sie dann auf "Beenden".
    • Methode 2: Verwenden der Eingabeaufforderung

      1. Klicken Sie auf "Start", klicken Sie auf "Ausführen", geben Sie "cmd" ein, und klicken Sie dann auf "OK".
      2. Geben Sie an der Eingabeaufforderung net stop "Windows Presentation Foundation Font Cache 3.0.0.0" ein, und drücken Sie dann die EINGABETASTE.
  3. Löschen Sie die alte Fontcache3.0.0.0.dat-Datei.

    Hinweis

    Standardmäßig befindet sich die Datei "Fontcache3.0.0.0.dat" im Ordner %windir%\ServiceProfiles\LocalService\AppData\Local in Windows Vista. Standardmäßig befindet sich die Datei "Fontcache3.0.0.0.dat" im Ordner unter Windows XP und in früheren %systemdrive%\Documents and Settings\LocalService\Local Settings\Application Data Versionen von Windows.

  4. Aktualisieren Sie die Grafikkartentreiber. Verwenden Sie dazu eine der folgenden Methoden.

    • Methode 1: Verwenden des Windows Update-Katalogs

      Um die Grafikkartentreiber zu aktualisieren, suchen Sie im Windows Update-Katalog nach Updates. Weitere Informationen zum Herunterladen von Treibern aus dem Windows Update-Katalog finden Sie unter Herunterladen von Updates, die Treiber und Hotfixes aus dem Windows Update-Katalog enthalten.

    • Methode 2: Herunterladen und anschließendes Installieren der neuesten Grafikkartentreiber

      Wenden Sie sich an den Computer oder den Hersteller der Videohardware, um die neuesten Grafikkartentreiber herunterzuladen und zu installieren.

Weitere Informationen

Wenn die Grafikkartentreiber die Daten im Schriftartencache überschreiben, der im Arbeitsspeicher gespeichert ist, werden die beschädigten Daten möglicherweise als Datendatei auf der Festplatte gespeichert. Daher kann das Problem auftreten, das im Abschnitt "Symptome" beschrieben wird, wenn eine andere WPF-basierte Anwendung versucht, die beschädigte Datendatei zu lesen.

Nachdem Sie die Grafikkartentreiber aktualisiert und die Datei "Fontcache3.0.0.0.dat" gelöscht haben, wird basierend auf der neuen Computerkonfiguration eine neue Datei für den Schriftartcache erstellt. Diese neue Cachedatendatei für Schriftarten wird erstellt, wenn Windows Presentation Foundation 3.0.0.0-Dienst beendet wird. In der Regel wird die neue Cachedatendatei für Schriftarten erstellt, wenn der Computer heruntergefahren oder neu gestartet wird.