Bagikan melalui


Penggunaan GPU

Catatan

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 dari 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 grafik lainnya, seperti Direct2D atau OpenGL.

Berikut tampilan jendela Laporan Penggunaan GPU:

Screenshot of GPU Usage Report, with CPU and GPU timelines

Persyaratan

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

  • GPU dan driver yang mendukung instrumentasi waktu yang diperlukan.

    Catatan

    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 Grafik, lihat Memulai.

Menggunakan alat Penggunaan GPU

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

Untuk memulai alat Penggunaan GPU:

  1. Di menu utama, pilih Debug>Performa 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.

    Screenshot of the Performance Profiler, with GPU Usage selected

    Catatan

    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 alat yang Anda pilih.

Informasi tingkat tinggi yang ditampilkan secara real time mencakup pengaturan waktu bingkai, kecepatan bingkai, dan penggunaan GPU. Masing-masing potongan informasi ini digambarkan secara independen, tetapi semuanya menggunakan skala waktu yang sama sehingga Anda dapat dengan mudah memahami hubungannya.

Grafik Waktu bingkai (ms) dan Bingkai per detik (FPS) masing-masing memiliki dua garis horizontal merah yang menunjukkan target kinerja 60 dan 30 frame per detik. Dalam grafik Waktu bingkai, aplikasi Anda melebihi target performa saat grafik berada di bawah garis, dan meleset dari target saat grafik berada di atas garis. Untuk grafik Bingkai per detik, kebalikannya: aplikasi Anda melebihi target performa saat grafik berada di atas garis, dan meleset dari target saat grafik berada di bawah garis. Anda menggunakan grafik ini terutama untuk mendapatkan gambaran tingkat tinggi tentang performa aplikasi Anda, dan untuk mengidentifikasi perlambatan yang mungkin ingin Anda selidiki. Misalnya, penyelidikan lebih lanjut mungkin diperlukan jika Anda melihat penurunan tiba-tiba dalam kecepatan bingkai atau lonjakan penggunaan GPU.

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

Jika Anda ingin melihat masalah performa atau penggunaan lebih dekat, berhenti mengumpulkan informasi performa, sehingga Anda dapat membuat laporan.

Untuk membuat dan melihat laporan Penggunaan GPU:

  1. Di bagian bawah jendela sesi diagnostik, pilih link Hentikan Kumpulan, atau pilih Hentikan di sudut kiri atas.

    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. Di bagian atas laporan, pilih bagian dari salah satu grafik yang menunjukkan masalah yang ingin Anda selidiki. Pilihan Anda dapat berdurasi hingga 3 detik. Bagian yang lebih panjang terpotong ke arah awal.

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

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

    Screenshot of the diagnostics session window, with range selected

Pilihan ini membuka dokumen bertab baru yang berisi laporan. Laporan Penggunaan GPU membantu Anda melihat kapan peristiwa grafik dimulai di CPU, saat 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.

Mengekspor ke GPUView atau Windows Performance Analyzer

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

Screenshot of the diagnostics session window, with links highlighted

Menggunakan laporan Penggunaan GPU

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

Karena tampilan mungkin memiliki kecepatan refresh yang lebih tinggi daripada target performa aplikasi Anda, mungkin tidak ada hubungan 1-1 antara vsync dan kecepatan bingkai yang ingin dicapai aplikasi Anda. Untuk memenuhi target performanya, aplikasi harus menyelesaikan semua pemrosesan, melakukan perenderan, dan melakukan panggilan Present() pada tingkat bingkai yang ditargetkan. Bingkai yang dirender tidak akan ditampilkan hingga vsync berikutnya setelah Present().

Bagian bawah laporan Penggunaan GPU mencantumkan peristiwa grafik yang terjadi selama periode waktu laporan. Saat Anda memilih peristiwa, penanda muncul di peristiwa terkait di garis waktu yang relevan. Biasanya, satu peristiwa di rangkaian CPU menunjukkan panggilan API, sementara peristiwa lain di salah satu garis waktu GPU menunjukkan saat GPU menyelesaikan tugas. Demikian juga, saat Anda memilih peristiwa di garis waktu, laporan akan menyoroti peristiwa grafik terkait 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 berdurasi lebih pendek, perbesar tampilan garis waktu dengan menggunakan Ctrl+roda pada perangkat penunjuk Anda, atau kontrol penyekalaan 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 rangkaian, dan nama peristiwa. Selain itu, Anda dapat memilih kecepatan refresh tampilan mana yang menentukan garis vysnc. Anda dapat mengurutkan peristiwa secara hierarkis jika aplikasi Anda menggunakan antarmuka ID3DUserDefinedAnnotation untuk mengelompokkan perintah perenderan.

Berikut adalah perincian lebih lanjut:

Kontrol filter 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 aktivitas rangkaian di garis waktu.
Thread ID rangkaian yang Anda minati. Dalam aplikasi multirangkaian, informasi ini dapat membantu Anda mengisolasi rangkaian tertentu yang termasuk dalam proses yang Anda minati. Peristiwa yang terkait dengan rangkaian yang dipilih disorot di setiap garis waktu.
Menampilkan Jumlah layar yang kecepatan refresh-nya ditampilkan. Beberapa driver dapat dikonfigurasi untuk menampilkan beberapa tampilan fisik sebagai satu tampilan virtual besar. Anda mungkin melihat hanya satu layar yang terdaftar, meskipun komputer memiliki beberapa layar yang terlampir.
Filter Kata kunci yang Anda minati. Peristiwa di bagian bawah laporan hanya akan menyertakan peristiwa yang cocok dengan kata kunci, seluruhnya 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 grafik. Suatu peristiwa biasanya sesuai dengan suatu peristiwa dalam garis waktu rangkaian CPU dan peristiwa garis waktu GPU. Nama peristiwa mungkin tanpa atribut jika Penggunaan GPU tidak dapat menentukan nama peristiwa. Untuk informasi selengkapnya, lihat catatan berikut tabel ini.
CPU Start (ns) Waktu peristiwa dimulai pada CPU dengan memanggil Direct3D API. Waktu diukur dalam nanodetik, relatif terhadap saat aplikasi dimulai.
GPU Start (ns) Waktu peristiwa dimulai pada GPU. Waktu diukur dalam nanodetik, relatif terhadap saat aplikasi dimulai.
Durasi GPU (ns) Waktu, dalam nanodetik, yang diperlukan untuk menyelesaikan peristiwa di GPU.
Nama Proses Nama aplikasi asal peristiwa.
ID Utas ID rangkaian asal peristiwa.

Penting

Jika GPU atau driver Anda tidak mendukung fitur instrumentasi yang diperlukan, semua aktivitas akan muncul sebagai tanpa atribut. 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 profil, daripada mulai mengumpulkan informasi segera setelah aplikasi dimulai. Karena ukuran informasi pembuatan profil bisa menjadi signifikan, tindakan ini berguna saat Anda mengetahui bahwa penurunan performa aplikasi Anda tidak akan muncul hingga nanti.

Untuk menunda pembuatan profil dari awal aplikasi:

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

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

  3. Di bagian Konfigurasi Pembuatan Profil GPU, pada halaman properti Umum, kosongkan kotak centang Mulai pembuatan profil saat aplikasi dimulai untuk menunda pembuatan profil.

    Screenshot of Object Property Pages, showing collection options

Penting

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

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

Dukungan perangkat keras dan driver

Perangkat keras dan driver GPU berikut ini didukung:

Vendor 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 AMD Radeon™ HD 7000-series (tidak termasuk AMD Radeon™ HD 7350-7670)

GPU AMD Radeon™, GPU AMD FirePro™, dan akselerator GPU AMD FirePro yang memuat fitur arsitektur Graphics Core Next (GCN)

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

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

Konfigurasi multi-GPU, seperti NVIDIA® SLI™ dan AMD Crossfire™, tidak didukung saat ini. Pengaturan grafik hibrida, seperti NVIDIA® Optimus™ dan AMD Enduro™, didukung.