Messaggio di errore o utilizzo elevato della CPU durante l'esecuzione di un'applicazione basata su WPF

Questo articolo consente di risolvere il problema in cui si riceve un messaggio di errore FileFormatException o ArgumentOutOfRangeException in un programma basato su Windows Presentation Foundation (WPF) quando il programma basato su WPF elabora il testo.

Si applica a: Windows Presentation Foundation
Numero KB originale: 937135

Sintomi

Quando si esegue un'applicazione basata su WPF in Microsoft .NET Framework 3.0, è possibile che venga visualizzato un errore FileFormatException o un errore ArgumentOutofRangeException. L'errore si verifica quando l'applicazione basata su WPF inizia a elaborare il testo. Ad esempio, è possibile che venga visualizzato un messaggio di errore FileFormatException simile al seguente:

file:///filepath/file_name file non è conforme alla specifica del formato di file prevista.

In questo messaggio di errore , file_name è in genere il nome file per un tipo di carattere. Inoltre, l'applicazione usa fino al 100% di tempo cpu.

Quando si cerca in Gestione attività o in altri strumenti, PresentationFontCache.exe utilizza il 50% o più del tempo disponibile per il processore.

Causa

Questo problema si verifica se i driver video sovrascrivono i dati nella cache dei tipi di carattere archiviati in memoria.

Risoluzione

Per risolvere il problema, seguire la procedura seguente:

  1. Chiudere tutte le applicazioni basate su WPF in esecuzione nel computer.

  2. Arrestare il servizio Windows Presentation Foundation Font Cache 3.0.0.0. Per arrestare il servizio Windows Presentation Foundation Font Cache 3.0.0.0, usare uno dei metodi seguenti.

    • Metodo 1: Usare Microsoft Management Console

      1. Fare clic sul pulsante Start, scegliere Esegui, digitare Services.msc e quindi fare clic su OK.
      2. Fare clic con il pulsante destro del mouse Windows Presentation Foundation Cache dei tipi di carattere 3.0.0.0 e quindi scegliere Arresta.
    • Metodo 2: Usare il prompt dei comandi

      1. Fare clic su Start, fare clic su Esegui, digitare cmd e quindi fare clic su OK.
      2. Al prompt dei comandi digitare net stop "Windows Presentation Foundation Font Cache 3.0.0.0" e quindi premere INVIO.
  3. Eliminare il file di Fontcache3.0.0.0.dat precedente.

    Nota

    Per impostazione predefinita, il file Fontcache3.0.0.0.dat si trova nella %windir%\ServiceProfiles\LocalService\AppData\Local cartella in Windows Vista. Per impostazione predefinita, il file Fontcache3.0.0.0.dat si trova nella %systemdrive%\Documents and Settings\LocalService\Local Settings\Application Data cartella in Windows XP e nelle versioni precedenti di Windows.

  4. Aggiornare i driver della scheda video. A tale scopo, utilizzare uno dei seguenti metodi.

    • Metodo 1: Usare Windows Update Catalog

      Per aggiornare i driver della scheda video, verificare la disponibilità di aggiornamenti nel catalogo Windows Update. Per altre informazioni su come scaricare i driver dal catalogo Windows Update, vedere Come scaricare gli aggiornamenti che includono driver e hotfix dal catalogo Windows Update.

    • Metodo 2: Scaricare e quindi installare i driver della scheda video più recenti

      Per scaricare e installare i driver della scheda video più recenti, contattare il computer o il produttore dell'hardware video.

Ulteriori informazioni

Se i driver della scheda video sovrascrivono i dati nella cache dei tipi di carattere memorizzati in memoria, i dati danneggiati potrebbero essere salvati nel disco rigido come file di dati. È pertanto possibile che si verifichi il problema descritto nella sezione Sintomi quando un'altra applicazione basata su WPF tenta di leggere il file di dati danneggiato.

Dopo aver aggiornato i driver della scheda video e dopo aver eliminato il file Fontcache3.0.0.0.dat, viene creato un nuovo file di dati della cache dei tipi di carattere basato sulla nuova configurazione del computer. Questo nuovo file di dati della cache dei tipi di carattere viene creato quando il servizio Windows Presentation Foundation Font Cache 3.0.0.0 viene arrestato. In genere, il nuovo file di dati della cache dei tipi di carattere viene creato quando il computer viene arrestato o riavviato.