Bagikan melalui


Penggunaan GPU

Nota

Visual Studio Graphics Diagnostics tidak didukung di ARM64 Visual Studio.

Gunakan alat Penggunaan GPU di Profiler Performa untuk lebih memahami penggunaan perangkat keras tingkat tinggi aplikasi Direct3D Anda. Ini membantu Anda melihat apakah performa aplikasi Anda terikat CPU atau terikat GPU, dan mendapatkan wawasan tentang bagaimana Anda dapat menggunakan perangkat keras platform secara lebih efektif. Penggunaan GPU mendukung aplikasi yang menggunakan Direct3D 12, Direct3D 11, dan Direct3D 10. Ini tidak mendukung API grafis lainnya, seperti Direct2D atau OpenGL.

Berikut tampilan jendela Laporan Penggunaan GPU :

Cuplikan layar Laporan Penggunaan GPU, dengan garis waktu CPU dan GPU

Persyaratan

Selain persyaratan untuk Diagnostik Grafis, berikut ini diperlukan untuk menggunakan alat Penggunaan GPU:

  • GPU dan driver yang mendukung instrumen pengukuran waktu yang diperlukan.

    Nota

    Untuk informasi selengkapnya tentang perangkat keras dan driver yang didukung, lihat Dukungan perangkat keras dan driver di akhir dokumen ini.

Untuk informasi selengkapnya tentang persyaratan Diagnostik Grafis, lihat Memulai.

Menggunakan alat Penggunaan GPU

Saat Anda menjalankan aplikasi di bawah alat Penggunaan GPU, Visual Studio membuat sesi diagnostik. Sesi ini membuat grafik informasi tingkat tinggi tentang performa penyajian aplikasi dan penggunaan GPU Anda secara real time.

Untuk memulai alat Penggunaan GPU:

  1. Di menu utama, pilih Performa Debug>dan Diagnostik (atau, pada keyboard, tekan Alt+F2).

  2. Di hub Performa dan Diagnostik , centang kotak di samping Penggunaan GPU. Secara opsional, centang kotak di samping alat lain yang Anda minati. Anda dapat menjalankan beberapa alat performa dan diagnostik secara bersamaan untuk mendapatkan gambaran yang lebih lengkap tentang performa aplikasi Anda.

    Cuplikan layar Profiler Performa, dengan Penggunaan GPU dipilih

    Nota

    Tidak semua alat performa dan diagnostik dapat digunakan secara bersamaan.

  3. Di bagian bawah hub Performa dan Diagnostik , pilih Mulai untuk menjalankan aplikasi Anda di bawah alat yang Anda pilih.

Informasi tingkat tinggi yang ditampilkan secara real-time mencakup pengaturan waktu bingkai, laju bingkai, dan penggunaan GPU. Masing-masing informasi ini digrafikkan secara independen, tetapi semuanya menggunakan skala waktu umum sehingga Anda dapat dengan mudah memahami hubungan.

Grafik Waktu bingkai (ms) dan Bingkai per detik (FPS) masing-masing memiliki dua garis horizontal merah yang menunjukkan target performa 60 dan 30 bingkai per detik. Dalam grafik waktu bingkai, aplikasi Anda memenuhi target performa saat grafik berada di bawah garis, dan tidak mencapai target saat grafik berada di atas garis. Untuk grafik Frame per Detik, sebaliknya: aplikasi Anda melebihi target performa saat grafik berada di atas garis, dan tidak mencapai target saat grafik berada di bawah garis. Anda menggunakan grafik ini terutama untuk mendapatkan gambaran tingkat tinggi tentang performa aplikasi Anda, dan untuk mengidentifikasi pelambatan yang mungkin ingin Anda selidiki. Misalnya, penyelidikan lebih lanjut mungkin diperlukan jika Anda melihat penurunan laju bingkai secara tiba-tiba atau lonjakan penggunaan GPU.

Saat aplikasi Anda berjalan di bawah alat Penggunaan GPU, sesi diagnostik juga mengumpulkan informasi terperinci tentang peristiwa grafis yang dijalankan pada GPU. Anda menggunakan informasi ini untuk menghasilkan laporan yang lebih terperinci tentang bagaimana aplikasi Anda menggunakan perangkat keras. Karena laporan ini membutuhkan waktu untuk dihasilkan dari informasi yang dikumpulkan, laporan ini hanya tersedia setelah sesi diagnostik selesai mengumpulkan informasi.

Saat Anda ingin melihat masalah performa atau pemanfaatan lebih dekat, hentikan pengumpulan informasi performa, sehingga Anda dapat membuat laporan.

Untuk menghasilkan dan melihat laporan Penggunaan GPU:

  1. Di bagian bawah jendela sesi diagnostik, pilih tautan Hentikan Koleksi , atau pilih Berhenti di sudut kiri atas.

    Cuplikan layar jendela sesi diagnostik di alat Penggunaan GPU, memperlihatkan Bingkai per detik, pemanfaatan GPU, tombol Berhenti, dan tautan Hentikan koleksi.

  2. Di bagian atas laporan, pilih bagian dari salah satu grafik yang memperlihatkan masalah yang ingin Anda selidiki. Pilihan Anda dapat berdurasi hingga 3 detik. Bagian yang lebih panjang dipotong dari awal.

    Cuplikan layar jendela sesi diagnostik di alat Penggunaan GPU dengan bagian dari garis waktu sesi diagnostik dipilih.

  3. Untuk melihat garis waktu terperinci pilihan Anda, di bagian bawah laporan, di ... klik di sini untuk melihat detail penggunaan GPU untuk pesan rentang tersebut , pilih lihat detail.

    Cuplikan layar jendela sesi diagnostik, dengan rentang dipilih

Pilihan ini membuka dokumen bertab baru yang berisi laporan. Laporan Penggunaan GPU membantu Anda melihat kapan peristiwa grafis dimulai pada CPU, ketika mencapai GPU, dan berapa lama waktu yang dibutuhkan GPU untuk menjalankannya. Informasi ini dapat membantu Anda mengidentifikasi hambatan dan peluang untuk meningkatkan paralelisme dalam kode Anda.

Ekspor ke GPUView atau Windows Performance Analyzer

Dimulai dengan Visual Studio 2017, Anda dapat membuka data ini dengan GPUView dan Windows Performance Analyzer. Cukup pilih tautan Buka di GpuView atau Buka di WPA yang terletak di sudut kanan bawah sesi diagnostik.

Cuplikan layar jendela sesi diagnostik, dengan tautan disorot

Menggunakan laporan Penggunaan GPU

Bagian atas laporan Penggunaan GPU menunjukkan garis waktu untuk aktivitas pemrosesan CPU, aktivitas penyajian GPU, dan aktivitas salin GPU. Garis waktu ini dibagi dengan bilah vertikal abu-abu terang yang menunjukkan sinkronisasi vertikal tampilan (vsync). Frekuensi bilah cocok dengan laju refresh salah satu tampilan (dipilih dengan menggunakan daftar drop-down Tampilan ) tempat data penggunaan GPU dikumpulkan.

Karena tampilan mungkin memiliki laju refresh yang lebih tinggi daripada target performa aplikasi Anda, mungkin tidak ada hubungan 1-ke-1 antara vsync dan frame rate yang ingin dicapai oleh aplikasi Anda. Untuk memenuhi target performanya, aplikasi harus menyelesaikan semua pemrosesan, melakukan penyajian, dan melakukan Present() panggilan pada framerate yang ditargetkan. Bingkai yang dirender tidak akan ditampilkan sampai vsync berikutnya setelah Present().

Bagian bawah laporan Penggunaan GPU mencantumkan peristiwa grafis yang terjadi selama periode waktu laporan. Saat Anda memilih peristiwa, penanda muncul di peristiwa yang sesuai di garis waktu yang relevan. Biasanya, satu peristiwa pada utas CPU menunjukkan panggilan API, sementara peristiwa lain di salah satu garis waktu GPU menunjukkan kapan GPU menyelesaikan tugas. Demikian juga, saat Anda memilih peristiwa dalam garis waktu, laporan menyoroti peristiwa grafis yang sesuai di bagian bawah laporan.

Saat Anda memperkecil garis waktu di bagian atas laporan, hanya peristiwa yang paling memakan waktu yang terlihat. Untuk melihat peristiwa yang memiliki durasi lebih pendek, perbesar garis waktu dengan menggunakan Ctrl+wheel pada perangkat penunjuk Anda, atau kontrol penskalaan di sudut kiri bawah panel atas. Anda juga dapat menyeret konten panel garis waktu untuk menelusuri peristiwa yang direkam.

Untuk membantu menemukan apa yang Anda cari, filter laporan Penggunaan GPU berdasarkan nama proses, ID utas, dan nama peristiwa. Selain itu, Anda dapat memilih laju refresh tampilan mana yang menentukan garis v-sync. Anda dapat mengurutkan peristiwa secara hierarkis jika aplikasi Anda menggunakan antarmuka ID3DUserDefinedAnnotation ke perintah penyajian grup.

Berikut adalah detail selengkapnya:

Kontrol penyaring Deskripsi
Proses Nama proses yang Anda minati. Semua proses yang menggunakan GPU selama sesi diagnostik disertakan dalam daftar drop-down ini. Warna yang terkait dengan proses adalah warna dari aktivitas proses di garis waktu.
Utasan ID utas yang Anda minati. Dalam aplikasi multi-utas, informasi ini dapat membantu Anda mengisolasi utas tertentu yang termasuk dalam proses yang Anda minati. Peristiwa yang terkait dengan utas terpilih akan ditandai secara menonjol di setiap garis waktu.
Menampilkan Jumlah tampilan yang laju refreshnya ditampilkan. Beberapa driver dapat dikonfigurasi untuk menyajikan beberapa tampilan fisik sebagai tampilan virtual tunggal yang besar. Anda mungkin hanya melihat satu monitor yang tercantum dalam daftar, bahkan jika komputer memiliki beberapa monitor yang terhubung.
Saringan Kata kunci yang Anda minati. Peristiwa di bagian bawah laporan hanya akan menyertakan yang cocok dengan kata kunci, sepenuhnya atau sebagian. Anda dapat menentukan beberapa kata kunci dengan memisahkannya dengan titik koma (;).
Pengurutan Hierarki Kotak centang yang menunjukkan apakah hierarki peristiwa, yang ditentukan melalui penanda pengguna, dipertahankan atau diabaikan.

Daftar peristiwa di bagian bawah laporan Penggunaan GPU menunjukkan detail setiap peristiwa.

kolom Deskripsi
Nama Peristiwa Nama peristiwa grafis. Suatu kejadian biasanya berkaitan dengan kejadian dalam garis waktu utas CPU dan kejadian dalam garis waktu GPU. Nama peristiwa mungkin tidak terlacak jika Penggunaan GPU tidak dapat menentukan nama peristiwa. Untuk informasi selengkapnya, lihat catatan yang mengikuti tabel ini.
Mulai CPU (ns) Waktu peristiwa tersebut dimulai pada CPU dengan memanggil API Direct3D. Waktu Diukur dalam nanodetik, relatif terhadap kapan aplikasi dimulai.
Mulai GPU (ns) Waktu ketika acara dimulai di GPU. Waktu diukur dalam nanodetik, relatif terhadap kapan aplikasi dimulai.
Durasi GPU (ns) Waktu yang diperlukan dalam nanodetik untuk menyelesaikan sebuah peristiwa pada GPU.
Nama Proses Nama aplikasi dari mana peristiwa berasal.
ID Thread ID utas asal peristiwa

Penting

Jika GPU atau driver Anda tidak mendukung fitur instrumentasi yang diperlukan, semua peristiwa akan muncul sebagai tidak teratribusi. Jika Anda mengalami masalah ini, perbarui driver GPU Anda dan coba lagi. Untuk informasi selengkapnya, lihat Dukungan perangkat keras dan driver di akhir dokumen ini.

Pengaturan Penggunaan GPU

Anda dapat mengonfigurasi alat Penggunaan GPU untuk menunda pengumpulan informasi pembuatan profil, daripada mulai mengumpulkan informasi segera setelah aplikasi dimulai. Karena ukuran informasi pembuatan profil bisa signifikan, tindakan ini berguna ketika Anda tahu bahwa perlambatan performa aplikasi Anda tidak akan muncul sampai nanti.

Untuk menunda pembuatan profil dari awal aplikasi:

  1. Di menu utama, pilih Performa Debug>dan Diagnostik (atau, pada keyboard, tekan Alt+F2).

  2. Di hub Performa dan Diagnostik , di samping Penggunaan GPU, pilih tautan pengaturan .

  3. Di bawah Konfigurasi Pembuatan Profil GPU, pada halaman Properti umum , kosongkan kotak centang Mulai pembuatan profil di awal aplikasi untuk menunda pembuatan profil.

    Cuplikan layar Halaman Properti Objek, memperlihatkan opsi koleksi

Penting

Saat ini, Anda tidak dapat menunda pembuatan profil untuk aplikasi Direct3D 12.

Setelah Anda menjalankan aplikasi di bawah alat Penggunaan GPU, tautan tambahan akan tersedia di bagian bawah jendela alat Penggunaan GPU. Untuk mulai mengumpulkan informasi pembuatan profil, pilih tautan Mulai di pesan Mulai mengumpulkan Data Penggunaan GPU terperinci tambahan .

Dukungan perangkat keras dan driver

Perangkat keras dan driver GPU berikut didukung:

Penyedia Deskripsi GPU Versi driver diperlukan
Intel® Prosesor Intel® Core Generasi ke-4 ('Haswell')

- Intel® HD Graphics (GT1)
- Intel® HD Graphics 4200 (GT2)
- Intel® HD Graphics 4400 (GT2)
- Intel® HD Graphics 4600 (GT2)
- Intel® HD Graphics P4600 (GT2)
- Intel® HD Graphics P4700 (GT2)
- Intel® HD Graphics 5000 (GT3)
- Intel® Iris™ Graphics 5100 (GT3)
- Intel® Iris™ Pro Graphics 5200 (GT3e)
(gunakan driver terbaru)
AMD® Sebagian besar sejak peluncuran seri AMD Radeon™ HD 7000 (kecuali AMD Radeon™ HD 7350-7670)

GPU AMD Radeon™, GPU AMD FirePro™, dan akselerator GPU AMD FirePro menampilkan arsitektur Graphics Core Next (GCN)

AMD® E-Series dan AMD A-series Accelerated Processing Units (APUs) menampilkan arsitektur Graphics Core Next (GCN) ('Kaveri', 'Kabini', 'Temash' , 'Beema', 'Mullins')
14.7 RC3 atau yang lebih baru
NVIDIA® Paling sejak seri NVIDIA® GeForce® 400

GPU NVIDIA® GeForce®, GPU NVIDIA Quadro®, dan akselerator GPU NVIDIA® Tesla™ yang menampilkan arsitektur Fermi™, Kepler™, atau Maxwell™
343.37 atau yang lebih baru

Konfigurasi multi-GPU, seperti NVIDIA® SLI™ dan AMD Crossfire™, saat ini tidak didukung. Penyiapan grafis hibrid, seperti NVIDIA® Optimus™ dan AMD Enduro™, didukung.