Performansı İyileştirme: Donanımdan Yararlanma
İç mimarisi, WPF iki işleme işlem hattı, donanım ve yazılım içerir. Bu konuda, uygulamalarınızın performans iyileştirmeleri hakkında kararlar almanıza yardımcı olmak üzere bu işleme işlem hatları hakkında bilgi verilmektedir.
Donanım Işleme işlem hattı
Performansı belirlemede en önemli faktörlerden biri WPF işleme bağlıdır — daha fazla piksel işlemek için, performans maliyeti artar. Ancak, grafik işleme birimi (GPU) üzerinde boşaltılabilecek daha fazla işleme elde edeceğiniz performans avantajları daha fazla olabilir. WPFUygulama donanımı işleme işlem hattı, en az Microsoft directx 7,0 sürümünü destekleyen donanımda Microsoft DirectX özelliklerinden tam olarak yararlanır. Microsoft DirectX sürüm 7,0 ve PixelShader 2.0 + özelliklerini destekleyen donanımlar tarafından daha fazla iyileştirmeler kazanılabilir.
Yazılım Işleme işlem hattı
WPFYazılım işleme işlem hattı tamamen CPU bağlanmıştır. WPF , iyileştirilmiş ve tam özellikli bir yazılım tarayıcısı uygulamak için CPU 'daki SSE ve SSE2 yönerge kümelerinden faydalanır. Yazılıma geri dönüş, uygulama işlevlerinin donanım işleme işlem hattı kullanılarak işlenemediğinde sorunsuz bir şekilde gerçekleştirilir.
Yazılım modunda işleme yaparken karşılaşacağınız en büyük performans sorunu, işleme yaptığınız piksel sayısı olarak tanımlanmış olan Fill Rate ile ilgilidir. Yazılım işleme modundaki performansla ilgili endişeleriniz varsa, bir pikselin yeniden çizilme sayısını en aza indirmenize çalışın. Örneğin, mavi bir arka plana sahip bir uygulamanız varsa, daha sonra bunun üzerinde biraz saydam bir görüntü oluşturup uygulamadaki tüm pikselleri iki kez işleyebilirsiniz. Sonuç olarak, yalnızca mavi arka plana sahip olmak yerine, uygulamanın görüntüyle işlenmesi iki kat sürer.
Grafik İşleme Katmanları
Uygulamanızın üzerinde çalıştığı donanım yapılandırmasını tahmin etmek çok zor olabilir. Bununla birlikte, uygulamanızın farklı donanımlar üzerinde çalışırken sorunsuz bir şekilde geçiş yapmasına olanak tanıyan bir tasarıma göz önünde bulundurabilirsiniz, böylece her bir farklı donanım yapılandırmasının avantajlarından faydalanabilirsiniz.
Bunu başarmak için, WPF çalışma zamanında bir sistemin grafik yeteneklerini belirleme işlevselliği sağlar. Grafik özelliği, video kartını üç işleme özelliği katmanlarından biri olarak kategorilere ayırarak belirlenir. WPF uygulamanın işleme yeteneği katmanını sorgulamasını sağlayan bir API sunar. Daha sonra uygulamanız, donanım tarafından desteklenen işleme katmanına bağlı olarak, çalışma zamanında farklı kod yolları alabilir.
İşleme katmanı düzeylerini en çok etkileyen grafik donanımının özellikleri şunlardır:
VIDEO RAM 'i Grafik donanımındaki video belleği miktarı, birleştirme grafikleri için kullanılabilecek arabelleklerin boyutunu ve sayısını belirler.
Piksel gölgelendiricisi Piksel gölgelendiricisi, her piksel temelinde etkileri hesaplayan bir grafik işleme işlevidir. Görüntülenen grafiklerin çözümüne bağlı olarak, her bir görüntüleme çerçevesi için işlenmesi gereken birkaç milyon piksel olabilir.
Köşe gölgelendiricisi Köşe gölgelendiricisi, nesnenin köşe verilerinde matematik işlemleri gerçekleştiren bir grafik işleme işlevidir.
Multitexture desteği Multitexture desteği, 3B grafik nesnesindeki bir karıştırma işlemi sırasında iki veya daha fazla farklı doku uygulama imkanını ifade eder. Çoklu doku desteğinin derecesi, Grafik donanımındaki çok modelli birim sayısına göre belirlenir.
Piksel gölgelendirici, köşe gölgelendiricisi ve Multitexture özellikleri, içinde farklı işleme katmanlarını tanımlamak için kullanılan belirli DirectX sürüm düzeylerini tanımlamak için kullanılır WPF .
Grafik donanımının özellikleri, bir uygulamanın işleme yeteneğini tespit WPF . WPFSistem üç işleme katmanı tanımlar:
Işleme katmanı 0 Grafik donanım hızlandırma yok. DirectX sürüm düzeyi 7,0 sürümünden düşüktür.
Işleme katmanı 1 Kısmi grafik donanım hızlandırma. DirectX sürüm düzeyi 7,0 sürümüne eşit veya daha büyük ve sürüm 9,0 ' den küçük .
Işleme katmanı 2 Çoğu grafik özelliği grafik donanım hızlandırmasını kullanır. DirectX sürüm düzeyi 9,0 sürümüne eşit veya ondan daha büyük.
Katmanları işleme hakkında daha fazla bilgi için WPF bkz. grafik işleme katmanları.