WPF tabanlı bir uygulama çalıştırılırken hata iletisi veya yüksek CPU kullanımı
Bu makale, WPF tabanlı program metin işlerken Windows Presentation Foundation (WPF) tabanlı bir programda FileFormatException veya ArgumentOutOfRangeException hata iletisi almanıza neden olan sorunu çözmenize yardımcı olur.
Şunlar için geçerlidir: Windows Presentation Foundation
Özgün KB numarası: 937135
Belirtiler
Microsoft .NET Framework 3.0'da WPF tabanlı bir uygulama çalıştırdığınızda, FileFormatException hatası veya ArgumentOutofRangeException hatası alabilirsiniz. HATA, WPF tabanlı uygulama metin işlemeye başladığında oluşur. Örneğin, aşağıdakine benzer bir FileFormatException hata iletisi alabilirsiniz:
file:///filepath/file_name dosya beklenen dosya biçimi belirtimine uymuyor.
Bu hata iletisinde , file_name genellikle yazı tipinin dosya adıdır. Ayrıca uygulama yüzde 100'e kadar CPU süresi tüketir.
Görev Yöneticisi'ne veya diğer araçlara bakarken PresentationFontCache.exe kullanılabilir işlemci süresinin %50'sini veya daha fazlasını tüketir.
Neden
Bu sorun, video sürücüleri bellekte depolanan yazı tipi önbelleğindeki verilerin üzerine yazarsa oluşur.
Çözüm
Bu sorunu çözmek için şu adımları izleyin:
Bilgisayarda çalışan tüm WPF tabanlı uygulamalardan çıkın.
Windows Presentation Foundation Yazı Tipi Önbelleği 3.0.0.0 hizmetini durdurun. Windows Presentation Foundation Yazı Tipi Önbelleği 3.0.0.0 hizmetini durdurmak için aşağıdaki yöntemlerden birini kullanın.
Yöntem 1: Microsoft Yönetim Konsolu'nu kullanma
- Başlat'a tıklayın, Çalıştır'a tıklayın, Services.msc yazın ve tamam'a tıklayın.
- Windows Presentation Foundation Yazı Tipi Önbelleği 3.0.0.0'a sağ tıklayın ve ardından Durdur'a tıklayın.
Yöntem 2: Komut istemini kullanma
- Başlat'a tıklayın, Çalıştır'a tıklayın, cmd yazın ve tamam'a tıklayın.
- Komut isteminde net stop "Windows Presentation Foundation Yazı Tipi Önbelleği 3.0.0.0" yazın ve ENTER tuşuna basın.
Eski Fontcache3.0.0.0.dat dosyasını silin.
Not
Varsayılan olarak, Fontcache3.0.0.0.dat dosyası Windows Vista'daki
%windir%\ServiceProfiles\LocalService\AppData\Local
klasörde bulunur. Varsayılan olarak, Fontcache3.0.0.0.dat dosyası Windows XP'deki%systemdrive%\Documents and Settings\LocalService\Local Settings\Application Data
klasörde ve Windows'un önceki sürümlerinde bulunur.Ekran kartı sürücülerini güncelleştirin. Bunu yapmak için aşağıdaki yöntemlerden birini kullanın.
Yöntem 1: Windows Update Kataloğu kullanma
Ekran kartı sürücülerini güncelleştirmek için Windows Update Kataloğu'nda güncelleştirmeleri denetleyin. Windows Update Kataloğu'ndan sürücüleri indirme hakkında daha fazla bilgi için bkz. Windows Update Kataloğu'ndan sürücüleri ve düzeltmeleri içeren güncelleştirmeleri indirme.
Yöntem 2: En son ekran kartı sürücülerini indirme ve yükleme
En son ekran kartı sürücülerini indirmek ve yüklemek için bilgisayar veya video donanımı üreticisine başvurun.
Daha fazla bilgi
Ekran kartı sürücüleri bellekte depolanan yazı tipi önbelleğindeki verilerin üzerine yazarsa, bozuk veriler sabit diske veri dosyası olarak kaydedilebilir. Bu nedenle, başka bir WPF tabanlı uygulama bozuk veri dosyasını okumaya çalıştığında Belirtiler bölümünde açıklanan sorunla karşılaşabilirsiniz.
Ekran kartı sürücülerini güncelleştirdikten ve Fontcache3.0.0.0.dat dosyasını sildikten sonra, yeni bilgisayar yapılandırmasına göre yeni bir yazı tipi önbellek veri dosyası oluşturulur. Bu yeni yazı tipi önbellek veri dosyası, Windows Presentation Foundation Yazı Tipi Önbelleği 3.0.0.0 hizmeti durdurulduğunda oluşturulur. Genellikle, bilgisayar kapatıldığında veya yeniden başlatıldığında yeni yazı tipi önbellek veri dosyası oluşturulur.
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin