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 Verarbeitung von Text beginnt. Sie erhalten z. B. eine FileFormatException-Fehlermeldung, 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 betrachten, verbraucht PresentationFontCache.exe 50 % oder mehr der verfügbaren Prozessorzeit.

Ursache

Dieses Problem tritt auf, wenn Videotreiber die Daten im Schriftartencache überschreiben, der im Arbeitsspeicher gespeichert ist.

Lösung

Gehen Sie folgendermaßen vor, um dieses Problem zu beheben:

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

  2. Beenden Sie den Windows Presentation Foundation Font Cache 3.0.0.0-Dienst. Verwenden Sie eine der folgenden Methoden, um den Dienst Windows Presentation Foundation Font Cache 3.0.0.0 zu beenden.

    • Methode 1: Verwenden der Microsoft-Verwaltungskonsole

      1. Klicken Sie auf "Start", auf "Ausführen", geben Sie "Services.msc" ein, und klicken Sie dann auf "OK".
      2. Klicken Sie mit der rechten Maustaste auf Windows Presentation Foundation Schriftartencache 3.0.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 den Netzstopp "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 %windir%\ServiceProfiles\LocalService\AppData\Local Ordner in Windows Vista. Standardmäßig befindet sich die Datei Fontcache3.0.0.0.dat im %systemdrive%\Documents and Settings\LocalService\Local Settings\Application Data Ordner in Windows XP und in früheren Versionen von Windows.

  4. Aktualisieren Sie die Grafikkartentreiber. Wenden Sie hierzu eine der folgenden Methoden an.

    • Methode 1: Verwenden Windows Updatekatalogs

      Um die Grafikkartentreiber zu aktualisieren, suchen Sie im Windows Updatekatalog nach Updates. Weitere Informationen zum Herunterladen von Treibern aus dem Windows Updatekatalog finden Sie unter Herunterladen von Updates, die Treiber und Hotfixes aus dem Windows Updatekatalog 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 Im Speicher gespeicherten Schriftartcache überschreiben, werden die beschädigten Daten möglicherweise als Datendatei auf der Festplatte gespeichert. Daher tritt möglicherweise das im Abschnitt "Symptome" beschriebene Problem auf, 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 mit Schriftartcachedaten erstellt. Diese neue Schriftartencache-Datendatei wird erstellt, wenn der Windows Presentation Foundation Font Cache 3.0.0.0-Dienst beendet wird. In der Regel wird die neue Schriftartencache-Datendatei erstellt, wenn der Computer heruntergefahren oder neu gestartet wird.