Aracılığıyla paylaş


Zamanlama yakalamalarıyla CPU ve GPU profili oluşturma

Zamanlama yakalamaları, uygulamanızın ayrıntılı analizi için hem CPU hem de GPU profil oluşturma verilerini tek bir yakalamada birleştirir. Bu veriler, oyun çalışırken ve minimum ek yükle toplanır; böylece işin CPU çekirdekleri arasında nasıl dağıtıldığını, grafik işleri arasındaki gecikmenin CPU tarafından gönderilip GPU tarafından yürütülmesi, dosya GÇ erişimleri ve bellek ayırma işlemleri vb. gibi işlemleri görebilirsiniz. Buna da dahil olmak üzere PixEventsaracılığıyla uygulama tanımlı olaylar, işaretçiler ve sayaçlar dahildir.

Zamanlama yakalaması yapma

Bağlantı görünümünden istediğiniz işlemi başlatın veya ekleyin (GPU Yakalama için ilgili seçeneğinin işaretlenmemiş olduğundan emin olun).

Zamanlama yakalama seçeneklerinizi gerektiği gibi yapılandırın ve hazır olduğunuzda kaydı başlatmak için Zamanlama Yakalamayı Başlat düğmesine tıklayın. Kaydı sonlandırmak için Zamanlama Yakalamayı Durdur'e tıklayın (veya uygulamanızı sonlandırın). Kısa bir işlem süresinden sonra ekrana görüntü alma işlemi açılır.

Zamanlama yakalama seçenekleri

İsim Açıklama
Yakalama Modu Sıralı: Yakalamayı başlatma ve durdurma arasındaki olayların tamamını kaydedin.
Döngüsel: Olayları sabit boyutlu bir arabelleğe kaydedin, sadece verilerin son n saniyesi saklansın. Daha fazla ayrıntı için bu Döngüsel Zamanlama Yakalamaları blog gönderisine göz atın.
CPU Örnekleri CPU'nin nerede zaman harcadığını görmek için örnek profil oluşturma gerçekleştirin. Örnekleme oranı yapılandırılabilir.
Bağlam Değişikliklerinde Çağrı Yığınları bir iş parçacığı bağlamları değiştirdiğinde çağrı yığınlarını toplayın.
Dosya erişimleri Dosya erişimlerini izleme.
GPU zamanlamaları GPU çalışmasının ne zaman başladığı ve durduğu hakkında ayrıntılı zamanlama bilgileri toplayın.
GPU kaynakları Yığınlar ve kaynaklar gibi D3D nesneleri hakkında ayrıntılı bilgi toplayın. Ayrıca GPU yerleşimi, indirgenmiş ayırmalar ve ayırma geçişlerini de izleyin.
VirtualAlloc/VirtualFree olayları VirtualAlloc ve VirtualFree işlevleri aracılığıyla yapılan ayırmaları izler.
HeapAlloc/HeapFree olayları HeapAlloc ve HeapFree işlevleri aracılığıyla yapılan ayırmaları izler.
Özel dağıtıcı olayları özel bellek ayırıcıları tarafından yapılan ayırmaları PixEventsile izler.
Sayfa Hatası olayları Yakalama işlemi çalışırken oluşan sayfa hatalarıyla ilgili verileri toplayın. Sayfa hataları zaman çizelgesinde ve öğe ayrıntıları görünümünde gösterilir.
Başlık dışı işlemler için çağrı yığınları Başlık işlemi (başlatılan veya işleme eklenen) dışındaki işlemler için çağrı yığınlarını yakalayın.
Çekirdek görüntüsü bilgileri Çekirdek ikili dosyaları için çağrı yığınlarını göstermek için gereken bilgileri toplayın.
.wpix dosyası yerine .etl dosyası oluşturma Oluşturulan .etl dosyası daha sonra Dosya | Dönüştür menüsü içinde bir .wpix dosyasına dönüştürülebilir. Bu seçenek, hata tekrarlarını PIX ekibine bildirirken veya ETW verilerini işlemek için başka araçlarınız olduğunda kullanışlıdır.

Programatik yakalamalar

WinPixEventRuntime kullanarak program aracılığıyla yakalama gerçekleştirebilirsiniz. Ayrıntılar için Programlı yakalamablog gönderisine bakın.

CPU profili oluşturma

Yakalama sırasında CPU Örnekleri seçeneğini etkinleştirmek, uygulamanızın sıcak yolunda yavaş işlevleri saptamanıza ve iş parçacığı beklemeleri ve bağlam değişiklikleriyle ilgili sorunları bulmanıza yardımcı olabilir. Ayrıca farklı ayırma türlerini de izleyebilirsiniz (uygun yakalama seçeneği etkinken).

Bu özellikleri ayrıntılı olarak kapsayan birkaç blog gönderisi vardır:

GPU profili oluşturma

Uygulamanız aralıklı çerçeve düşüşleri mi yaşıyor? Aşırı VRAM kullanımı mı? Sistem belleği ile VRAM arasında beklenmeyen sayfalama operasyonları mı var? PIX'teki GPU profil oluşturma özellikleri, bu yaygın ve çözümlenmesi zor durumların en altına inebilmenize yardımcı olabilir.

GPU zamanlamaları

GPU çalışması zamanlama verilerini toplamak için bir yakalama yaparken GPU zamanlamaları seçeneğini etkinleştirin. Zaman Çizelgesi görünümünde, her GPU kuyruğu için şeritler bulabilirsiniz; Şerit Seçiciiçinde, API Kuyrukları sabitlenmiş biçimde hızla etkinleştirebilirsiniz. Bu şeritler birkaç alt alan içerir:

  • PIX Olayları (GPU): GPU Çalışmasının hiyerarşik, uygulama tanımlı bölgeleri. Bkz. PixEvents.
  • GPU Yürütmeleri: Yürütmeler, API düzeyinde iş gönderimlerine karşılık gelir; örneğin, ExecuteCommandLists aracılığıyla.
  • GPU Çalışması: GPU'da gerçekleşen tüm çalışmalar; örneğin, Çizimler, Gönderimler, Kopyalar.
  • PIX İşaretçileri (GPU): Uygulama tanımlı işaretçiler. Bkz. PixEvents.

Şeritte bir olay seçtiğinizde, olayın CPU'da nereden kaynaklandığını gösteren oklar görürsünüz. Şerit seçenekleri menüsünde (şerit adının yanındaki dişli simgesi) çeşitli görselleştirme seçenekleri de vardır. tr-TR: En önemlisi, Olayları Düzleştirme ve GPU Çalışmasını Düzleştirme seçenekleri, alanı korumak için varsayılan olarak etkinleştirilmiştir. Ancak, belirli bir kare üzerinde çalışırken tam PIX Olay hiyerarşisini veya GPU İş paralelleştirmesini görmek isteyebilirsiniz.

Bu veriler, Gösterilecek Öğeler açılan listesinde ilgili kategoriyi seçerek Aralık Ayrıntıları görünümü aracılığıyla tablo biçiminde de kullanılabilir.

API Kuyruğu şeridinde düzleştirilmemiş PIX GPU olayları ve GPU çalışmaları, GPU çalışmasını gönderen CPU iş parçacığını gösteren bir okla birlikte görüntülenir

Sunu ve görüntüleme bilgileri

Vsync'ler ayrı bir Monitör şeridinde işaretçiler olarak görüntülenir ve Diğer kategorisindeki Aralık Ayrıntıları görünümünde yer alır.

GPU belleği ve Direct3D nesneleri

GPU kaynakları seçeneğini etkinleştirin ve yakalama işlemi sırasında Direct3D nesneleri hakkında bilgi toplamak için seçeneğini kullanın. Genel bellek kullanımını graf etmek için Ölçümler görünümünde birkaç sayaç bulabilirsiniz. Bellek kullanımı hedeflerinizi karşılayıp karşılamadığınız hakkında hızlı bir fikir edinmek için çeşitli bütçe satırlarını yapılandırabilirsiniz. İlgi çekici bir alan bulduğunuzda, zaman aralığını seçerek, sağ tıklama bağlam menüsündeki Zaman Çizelgesi Yakınlaştırma görünümünde Aralık Seç'e tıklayarak ve Seçili Zaman Aralığı açılan menüsünü Görünür Aralığı Seçolarak ayarlayarak daha fazla araştırmak isteyebilirsiniz.

ölçümler görünümünde D3D API Nesne Bellek Kullanımını görüntüleme

Bahşiş

Çizgi StiliKare olarak ayarlamak, ayırmaların nerede yapıldığını görmeyi kolaylaştırır.

Aralık Ayrıntıları görünümünde, yığınlar, kaynaklar ve işlem hattı durumu nesneleri gibi Direct3D API nesneleri hakkında çeşitli bilgileri görüntüleyebilirsiniz. Şüpheli nesneleri saptamayı kolaylaştırmak için, bu bilgiler ayrılıp serbest bırakıldıklarına göre gruplandırılır.

Aralık Ayrıntıları görünümünde D3D API Nesnelerini Görüntüleme

Ikamet

İkametle ilgili sorunlar için Residence Operations, Demoted Allocationsve Allocation Migrations kategorilerini Range Detailgörünümünden kontrol edin. Bu işaretleyiciler ve olaylar Residence Operations şeridinde de gösterilir.

İkamet işlemleri, MakeResident ve Çıkarma işlemlerini (Direct3D 12 API ile başlatılan) ve tüm PageIn ve PageOut işlemlerini içerir (Daha fazla ayrıntı için bkz. Residency). Grafik çekirdeği (DXGK) GPU'nuzun VRAM'ında bir kaynak ayıramayınca (bellek baskısı veya parçalanma nedeniyle) indirgenmiş ayırmalar oluşur. Bu durumda DXGK, indirgenmiş ayırmalar için ayırma geçişleri gerçekleştirmeyi de dener. Gpu'ların askıya alınması gerektiğinden bu geçişlerin pahalı işlemler olduğunu unutmayın.

Ayırma geçişlerini görüntüleme

GPU kullanımı ve sunu sayaçları

GPU performansıyla ilgili çeşitli sayaçları içeren Sistem İzleyicisi'nde (sysmon olarak da bilinir) bulunan sayaçları toplamak için yakalama yaparken Capture SysMon sayaçları seçeneğini etkinleştirin. Özellikle, şunlar için sayaçlar vardır:

  • GPU kullanımı hem hedef işlem hem de tüm işlemler için GPU altyapısına göre ayrılmıştır.
  • Saniye başına kare sayısı (tersi milisaniye olarak, MsBetweenPresents) ve MsUntilRenderComplete (sunum başlangıcı ile GPU işinin tamamlanması arasındaki süre) gibi gösterim verileri.
  • Yerel ve yerel olmayan bellek kullanımı, ikamet ve bütçeler de dahil olmak üzere GPU Bellek bilgileri.

Ölçümler görünümünde saniye başına kareleri ve GPU kullanımını görüntüleme

Bahşiş

Açıklama görmek için Sistem İzleyicisi'ndeki sayaç adlarının üzerine gelin.

Bu sayaçlar, zamanlama yakalama sırasında veya Sistem İzleyicisi görünümünde sayaç toplamayı başlat düğmesine tıklanarak gerçek zamanlı olarak da izlenebilir. Grafikler yeniden düzenlenebilir ve sayaçlar dinamik olarak eklenebilir veya kaldırılabilir. Kullanılabilir tüm sayaçları görüntülemek için Sayaçlar'ne tıklayın.

Sistem İzleyicisi grafiklerini ve sayaçlarını görüntüleme

Win32 dosya giriş/çıkış sistemi

Win32 Dosya GÇ performansını Zamanlama Yakalamalarıiçinde analiz etme blog gönderisine bakın.

Diğer analiz özellikleri