GPU kullanımı

Not

Visual Studio Grafik Tanılama, ARM64 Visual Studio'da desteklenmez.

Direct3D uygulamanızın üst düzey donanım kullanımını daha iyi anlamak için Performans Profili Oluşturucu'daki GPU Kullanımı aracını kullanın. Uygulamanızın performansının CPU'ya mı yoksa GPU'ya bağlı mı olduğunu görmenize ve platformun donanımını nasıl daha etkili kullanabileceğinize ilişkin içgörüler kazanmanıza yardımcı olur. GPU Kullanımı Direct3D 12, Direct3D 11 ve Direct3D 10 kullanan uygulamaları destekler. Direct2D veya OpenGL gibi diğer grafik API'lerini desteklemez.

GPU Kullanım Raporu penceresi şöyle görünür:

Screenshot of GPU Usage Report, with CPU and GPU timelines

Gereksinimler

Grafik Tanılama gereksinimlerine ek olarak, GPU Kullanımı aracını kullanmak için aşağıdakiler gereklidir:

  • Gerekli zamanlama izlemesini destekleyen bir GPU ve sürücü.

    Not

    Desteklenen donanım ve sürücüler hakkında daha fazla bilgi için bu belgenin sonundaki Donanım ve sürücü desteği bölümüne bakın.

Grafik Tanılama gereksinimleri hakkında daha fazla bilgi için bkz . Başlarken.

GPU Kullanımı aracını kullanma

Uygulamanızı GPU Kullanımı aracı altında çalıştırdığınızda Visual Studio bir tanılama oturumu oluşturur. Bu oturumda uygulamanızın işleme performansı ve GPU kullanımıyla ilgili üst düzey bilgiler gerçek zamanlı olarak çizilmiştir.

GPU Kullanımı aracını başlatmak için:

  1. Ana menüde Hata Ayıklama>Performansı ve Tanılama'yı seçin (veya klavyede Alt+F2 tuşlarına basın).

  2. Performans ve Tanılama hub'ında GPU Kullanımı'nın yanındaki kutuyu işaretleyin. İsteğe bağlı olarak, ilgilendiğiniz diğer araçların yanındaki kutuları işaretleyin. Uygulamanızın performansının daha kapsamlı bir resmini elde etmek için birkaç performans ve tanılama aracını eşzamanlı olarak çalıştırabilirsiniz.

    Screenshot of the Performance Profiler, with GPU Usage selected

    Not

    Tüm performans ve tanılama araçları aynı anda kullanılamaz.

  3. Seçtiğiniz araçların altında uygulamanızı çalıştırmak için Performans ve Tanılama hub'ının en altında Başlat'ı seçin.

Gerçek zamanlı olarak gösterilen üst düzey bilgiler çerçeve zamanlaması, kare hızı ve GPU kullanımını içerir. Bu bilgi parçalarının her biri bağımsız olarak çizilir, ancak hepsi ilişkileri kolayca anlayabilebilmeniz için ortak bir zaman ölçeği kullanır.

Kare süresi (ms) ve Kare/saniye (FPS) grafiklerinin her biri, saniyede 60 ve 30 karelik performans hedeflerini gösteren iki kırmızı, yatay çizgiye sahiptir. Çerçeve süresi grafiğinde, graf çizginin altında olduğunda uygulamanız performans hedefini aşıyor ve grafik çizginin üzerinde olduğunda hedefi atlar. Saniye başına kare grafiği için tam tersidir: Uygulamanız grafik çizginin üzerindeyken performans hedefini aşıyor ve grafik çizginin altındayken hedefi kaçırıyor. Bu grafikleri öncelikle uygulamanızın performansı hakkında üst düzey bir fikir edinmek ve araştırmak isteyebileceğiniz yavaşlıkları belirlemek için kullanırsınız. Örneğin, kare hızında ani bir düşüş veya GPU kullanımında ani bir artış görürseniz daha fazla araştırma yapılması gerekebilir.

Uygulamanız GPU Kullanımı aracı altında çalışırken, tanılama oturumu GPU'da çalıştırılan grafik olayları hakkında ayrıntılı bilgi de toplar. Uygulamanızın donanımı nasıl kullandığına ilişkin daha ayrıntılı bir rapor oluşturmak için bu bilgileri kullanırsınız. Bu raporun toplanan bilgilerden oluşturulması biraz zaman aldığından, yalnızca tanılama oturumunun bilgi toplaması tamamlandıktan sonra kullanılabilir.

Bir performans veya kullanım sorununa daha yakından bakmak istediğinizde, raporu oluşturabilmek için performans bilgilerini toplamayı durdurun.

GPU Kullanımı raporunu oluşturmak ve görüntülemek için:

  1. Tanılama oturumu penceresinin alt kısmında Koleksiyonu Durdur bağlantısını seçin veya sol üst köşedeki Durdur'u seçin.

    Screenshot of a diagnostics session window in the GPU Usage tool, showing Frames per second, GPU utilization, the Stop button, and the Stop collection link.

  2. Raporun üst kısmında, araştırmak istediğiniz sorunu gösteren grafiklerden bir bölüm seçin. Seçiminiz en fazla 3 saniye uzunluğunda olabilir. Daha uzun bölümler en başa doğru kesilir.

    Screenshot of a diagnostics session window in the GPU Usage tool with part of the diagnostic session timeline selected.

  3. Seçiminizin ayrıntılı zaman çizelgesini görüntülemek için, raporun alt kısmında,... Bu aralık iletisine ait GPU kullanımının ayrıntılarını görüntülemek için buraya tıklayın, ayrıntıları görüntüle'yi seçin.

    Screenshot of the diagnostics session window, with range selected

Bu seçim, raporu içeren yeni bir sekmeli belge açar. GPU Kullanımı raporu, CPU'da bir grafik olayının ne zaman başlatılıp başlatılmadiğini, GPU'ya ne zaman ulaştığını ve GPU'un ne kadar süreyle çalıştığını görmenize yardımcı olur. Bu bilgiler, kodunuzda artan paralellik sorunlarını ve fırsatlarını belirlemenize yardımcı olabilir.

GPUView'a veya Windows Performans Analizi dışarı aktarma

Visual Studio 2017'den başlayarak bu verileri GPUView ve Windows Performans Analizi ile açabilirsiniz. Tanılama oturumunun sağ alt köşesindeki GpuView'da Aç veya WPA'da Aç bağlantılarını seçmeniz yeter.

Screenshot of the diagnostics session window, with links highlighted

GPU Kullanımı raporunu kullanma

GPU Kullanımı raporunun üst kısmında CPU işleme etkinliği, GPU işleme etkinliği ve GPU kopyalama etkinliği için zaman çizelgeleri gösterilir. Bu zaman çizelgeleri, ekranın dikey eşitlemesini (vsync) gösteren açık gri, dikey çubuklara bölünür. Çubukların sıklığı, GPU kullanım verilerinin toplandığı ekranlardan birinin yenileme hızıyla eşleşir (Görüntü açılan listesi kullanılarak seçilir).

Görüntü, uygulamanızın performans hedefinden daha yüksek bir yenileme hızına sahip olabileceğinden, vsync ile uygulamanızın elde etmek istediğiniz kare hızı arasında 1-1 ilişkisi olmayabilir. Bir uygulamanın performans hedefini karşılamak için tüm işlemleri tamamlaması, işlemeyi yapması ve hedeflenen kare hızında bir Present() çağrı yapması gerekir. Ancak, işlenen çerçeve sonrasındaki bir sonraki vsync'e Present()kadar gösterilmez.

GPU Kullanımı raporunun alt bölümünde, raporun zaman aralığında gerçekleşen grafik olayları listelenir. Bir olayı seçtiğinizde, ilgili zaman çizelgelerindeki ilgili olaylarda bir işaretçi görüntülenir. Genellikle CPU iş parçacığındaki bir olay API çağrısını gösterirken, GPU zaman çizelgelerinden birinde gpu'nun görevi ne zaman tamamladığında başka bir olay gösterilir. Benzer şekilde, zaman çizelgesinde bir olay seçtiğinizde rapor, raporun alt kısmında ilgili grafik olayını vurgular.

Raporun üst kısmındaki zaman çizelgelerini uzaklaştırdığınızda yalnızca en çok zaman alan olaylar görünür. Süresi daha kısa olan olayları görmek için, işaret cihazınızda Ctrl+tekerlek tuşlarını veya üst panelin sol alt köşesindeki ölçeklendirme denetimini kullanarak zaman çizelgelerini yakınlaştırın. Kaydedilen olaylar arasında ilerlemek için zaman çizelgesi panelinin içeriğini de sürükleyebilirsiniz.

Aradığınızı bulmanıza yardımcı olmak için GPU Kullanımı raporunu işlem adlarına, iş parçacığı kimliklerine ve olay adına göre filtreleyin. Ayrıca, hangi ekranın yenileme hızının vysnc satırlarını belirleyeceğini seçebilirsiniz. Uygulamanız işleme komutlarını gruplandırmak için ID3DUserDefinedAnnotation arabirimini kullanıyorsa olayları hiyerarşik olarak sıralayabilirsiniz.

Diğer ayrıntılar şunlardır:

Filtre denetimi Açıklama
Işlem İlgilendiğiniz sürecin adı. Tanılama oturumu sırasında GPU kullanan tüm işlemler bu açılan listeye eklenir. İşlemle ilişkili renk, iş parçacığının zaman çizelgelerindeki etkinliğinin rengidir.
Iş parçacığı İlgilendiğiniz iş parçacığı kimliği. Çok iş parçacıklı bir uygulamada, bu bilgiler ilgilendiğiniz işleme ait belirli iş parçacıklarını yalıtmanıza yardımcı olabilir. Seçilen iş parçacığıyla ilişkili olaylar her zaman çizelgesinde vurgulanır.
Görüntüle Yenileme hızı gösterilen ekranın sayısı. Bazı sürücüler, birden çok fiziksel ekranı tek, büyük bir sanal ekran olarak sunacak şekilde yapılandırılabilir. Makinede birden çok ekran eklenmiş olsa bile yalnızca bir ekran görebilirsiniz.
Filtre İlgilendiğiniz anahtar sözcükler. Raporun alt bölümündeki olaylar yalnızca bir anahtar sözcükle (kısmen veya tamamen) eşleşenleri içerir. Birden çok anahtar sözcüğü noktalı virgülle (;)) ayırarak belirtebilirsiniz.
Hiyerarşi Sıralama Kullanıcı işaretçileri aracılığıyla tanımlanan olay hiyerarşilerinin korunup korunmadığını veya yoksayıldığını gösteren onay kutusu.

GPU Kullanımı raporunun alt bölümündeki olayların listesi her olayın ayrıntılarını gösterir.

Sütun Açıklama
Olay Adı Grafik olayının adı. Bir olay genellikle CPU iş parçacığı zaman çizelgesindeki bir olaya ve GPU zaman çizelgesi olayına karşılık gelir. GPU Kullanımı bir olayın adını belirleyemezse olay adları kaldırılabilir. Daha fazla bilgi için bu tablodaki nota bakın.
CPU Başlangıç (ns) Olayın BIR Direct3D API'sini çağırarak CPU üzerinde başlatıldığı saat. Süre, uygulamanın ne zaman başlatıldığına göre nanosaniye cinsinden ölçülür.
GPU Başlangıç (ns) Olayın GPU'da başlatıldığı saat. Süre, uygulamanın ne zaman başlatıldığına göre nanosaniye cinsinden ölçülür.
GPU Süresi (ns) Etkinliğin GPU üzerinde tamamlanması nanosaniye olarak geçen süre.
İşlem Adı Olayın geldiği uygulamanın adı.
İş Parçacığı Kimliği Olayın geldiği iş parçacığı kimliği.

Önemli

GPU'nuz veya sürücünüz gerekli izleme özelliklerini desteklemiyorsa tüm olaylar dağıtılmamış olarak görünür. Bu sorunla karşılaşırsanız GPU sürücünüzü güncelleştirin ve yeniden deneyin. Daha fazla bilgi için bu belgenin sonundaki Donanım ve sürücü desteği bölümüne bakın.

GPU Kullanımı ayarları

GPU Kullanımı aracını, uygulama başlar başlamaz bilgi toplamaya başlamak yerine profil oluşturma bilgilerinin toplanmasını erteleyecek şekilde yapılandırabilirsiniz. Profil oluşturma bilgilerinin boyutu önemli olabileceğinden, uygulamanızın performansındaki yavaşlamaların daha sonra görünmeyeceğini bildiğinizde bu eylem yararlıdır.

Profil oluşturmayı uygulamanın başından itibaren ertelemek için:

  1. Ana menüde Hata Ayıklama>Performansı ve Tanılama'yı seçin (veya klavyede Alt+F2 tuşlarına basın).

  2. Performans ve Tanılama hub'ında, GPU Kullanımı'nın yanında ayarlar bağlantısını seçin.

  3. Profil oluşturmayı ertelemek için GPU Profil Oluşturma Yapılandırması'nın altındaki Genel özellik sayfasında, Uygulama başlangıcında profil oluşturmayı başlat onay kutusunu temizleyin.

    Screenshot of Object Property Pages, showing collection options

Önemli

Şu anda Direct3D 12 uygulamaları için profil oluşturmayı erteleyemazsınız.

Uygulamanızı GPU Kullanımı aracı altında çalıştırdıktan sonra, GPU Kullanımı araç penceresinin alt kısmında ek bir bağlantı kullanılabilir duruma gelir. Profil oluşturma bilgilerini toplamaya başlamak için Ek ayrıntılı GPU Kullanım Verileri toplamaya başla iletisindeki Başlangıç bağlantısını seçin.

Donanım ve sürücü desteği

Aşağıdaki GPU donanımları ve sürücüleri desteklenir:

Vendor GPU açıklaması Sürücü sürümü gerekli
Intel® 4. Nesil Intel® Core İşlemciler ('Haswell')

- Intel® HD Grafik (GT1)
- Intel® HD Graphics 4200 (GT2)
- Intel® HD Graphics 4400 (GT2)
- Intel® HD Graphics 4600 (GT2)
- Intel® HD Grafik P4600 (GT2)
- Intel® HD Grafik P4700 (GT2)
- Intel® HD Graphics 5000 (GT3)
- Intel® Iris™ Graphics 5100 (GT3)
- Intel® Iris™ Pro Graphics 5200 (GT3e)
(en son sürücüleri kullanın)
AMD® AMD Radeon™ HD 7000 serisinden bu yana en çok (AMD Radeon™ HD 7350-7670 hariç)

Grafik Çekirdeği Sonraki (GCN) mimarisine sahip AMD Radeon™ GPU, AMD FirePro™ GPU'ları ve AMD FirePro GPU hızlandırıcıları

Grafik Çekirdeği Sonraki (GCN) mimarisi ('Kaveri', 'Kabini', 'Temash' , 'Beema', 'Mullins' içeren AMD® E Serisi ve AMD A Serisi Hızlandırılmış İşlem Birimleri (API'ler)
14.7 RC3 veya üzeri
NVİDİA® NVIDIA® GeForce® 400 serisinden bu yana en fazla

Fermi™, Kepler™ veya Maxwell™ mimarisine sahip NVIDIA® GeForce® GPU'ları, NVIDIA Quadro® GPU'ları ve NVIDIA® Tesla™ GPU hızlandırıcıları
343.37 veya üzeri

NVIDIA® SLI™ ve AMD Crossfire™ gibi çoklu GPU yapılandırmaları şu anda desteklenmemektedir. NVIDIA® Optimus™ ve AMD Enduro™ gibi hibrit grafik kurulumları desteklenir.