Bagikan melalui


Menganalisis konsumsi sumber daya dan aktivitas UI thread (XAML)

Gunakan profiler Garis Waktu Aplikasi untuk menemukan dan memperbaiki masalah performa terkait interaksi aplikasi di aplikasi XAML. Alat ini membantu meningkatkan performa aplikasi XAML dengan menunjukkan tampilan terperinci dari konsumsi sumber daya aplikasi. Anda dapat menganalisis waktu yang dihabiskan oleh aplikasi Anda yang menyiapkan bingkai UI (tata letak dan render), melayani permintaan jaringan dan disk, dan dalam skenario seperti Startup Aplikasi, Beban Halaman, dan mengubah ukuran Windows.

Application Timeline adalah salah satu alat yang dapat Anda aktifkan dengan perintahDebug> Performance Profiler.

Alat ini menggantikan alat Responsiveness UI XAML yang merupakan bagian dari toolset diagnostik dalam versi Visual Studio yang lebih lama.

Anda dapat menggunakan alat ini pada platform berikut:

  • Aplikasi Universal Windows (di Windows 10 dan yang lebih baru)
  • Windows 8.1
  • Windows Presentation Foundation (.NET 4.0 ke atas)
  • Windows 7

Nota

Anda dapat mengumpulkan dan menganalisis data penggunaan CPU dan data konsumsi energi bersama dengan data ApplicationTimeline. Lihat: Jalankan alat pembuatan profil pada build rilis atau debug.

Mengumpulkan data garis waktu aplikasi

Anda dapat memprofilkan respons aplikasi di komputer lokal, perangkat yang terhubung, simulator atau emulator Visual Studio, atau perangkat jarak jauh. Lihat: Jalankan alat pembuatan profil pada build rilis atau debug.

Tips

Jika memungkinkan, jalankan aplikasi langsung di perangkat. Performa aplikasi yang diamati pada simulator atau melalui koneksi desktop jarak jauh mungkin tidak sama dengan performa aktual pada perangkat. Di sisi lain, mengumpulkan data dengan menggunakan Alat Jarak Jauh Visual Studio tidak memengaruhi data performa.

Berikut adalah langkah-langkah dasarnya:

  1. Buka aplikasi XAML Anda.

  2. Klik Debug / Profiler Kinerja. Anda akan melihat daftar alat pembuatan profil di jendela .diagsession.

  3. Pilih Garis Waktu Aplikasi lalu klik Mulai di bagian bawah jendela.

    Alat Garis Waktu Aplikasi

    Nota

    Anda mungkin melihat jendela Kontrol Akun Pengguna yang meminta izin Anda untuk menjalankan VsEtwCollector.exe. Klik Ya.

  4. Jalankan skenario yang Anda minati dalam pembuatan profil di aplikasi Anda untuk mengumpulkan data performa.

  5. Untuk menghentikan pembuatan profil, beralih kembali ke jendela .diagsession dan klik Hentikan di bagian atas jendela.

    Visual Studio menganalisis data yang dikumpulkan dan menampilkan hasilnya.

    laporan profiler lini masa

Menganalisis data profilisasi garis waktu

Setelah mengumpulkan data pembuatan profil, Anda dapat menggunakan langkah-langkah ini untuk memulai analisis Anda:

  1. Lihat informasi dalam grafik pemanfaatan utas UI dan grafik throughput Visual (FPS) , lalu gunakan bilah navigasi garis waktu untuk memilih rentang waktu yang ingin Anda analisis.

  2. Gunakan informasi dalam pemanfaatan utas UI atau throughput visual (FPS), periksa detail dalam tampilan Garis Waktu untuk menemukan kemungkinan penyebab kurangnya responsivitas.

Melaporkan skenario, kategori, dan peristiwa

Alat Garis Waktu Aplikasi menampilkan data waktu untuk skenario, kategori, dan peristiwa yang terkait dengan performa XAML.

Garis waktu sesi diagnostik

garis waktu Performa dan Diagnostik

Penggaris di bagian atas halaman menunjukkan garis waktu untuk informasi yang diprofilkan. Garis waktu ini berlaku untuk grafik pemanfaatan utas UI dan grafik throughput Visual . Anda dapat mempersempit cakupan laporan dengan menyeret bilah navigasi pada garis waktu untuk memilih segmen garis waktu.

Garis waktu juga menampilkan tanda pengguna apa pun yang telah Anda sisipkan, dan peristiwa siklus hidup aktivasi aplikasi.

Grafik penggunaan utas UI

Grafik Pemanfaatan CPU

Pemanfaatan utas UI (%) grafik berupa bagan batang yang menampilkan jumlah waktu relatif yang dihabiskan pada setiap kategori selama rentang koleksi.

Grafik throughput visual (FPS)

grafik throughput visual

Grafik garis Visual throughput (FPS) menunjukkan bingkai per detik (FPS) pada UI dan utas komposisi untuk aplikasi.

Detail garis waktu

Tampilan detail adalah tempat Anda menghabiskan sebagian besar waktu Anda untuk menganalisis laporan. Ini menunjukkan penggunaan CPU oleh aplikasi Anda yang dikategorikan oleh subsistem Kerangka Kerja UI atau komponen sistem yang menggunakan CPU.

Peristiwa berikut ini didukung:

Nama Deskripsi
Penguraian Waktu yang dihabiskan untuk mengurai file XAML dan membuat objek.

Memperluas simpul Penguraian di detail Garis Waktu menampilkan rantai dependensi semua file XAML yang diurai karena kejadian pokok. Tips ini memungkinkan Anda mengidentifikasi penguraian file dan pembuatan objek yang tidak perlu dalam skenario sensitif performa dan mengoptimalkannya.
Tata Letak Dalam aplikasi besar, ribuan elemen dapat ditampilkan di layar secara bersamaan. Tampilan ini dapat mengakibatkan kecepatan bingkai UI yang rendah dan responsivitas aplikasi yang buruk. Peristiwa Tata Letak secara akurat menentukan biaya meletakkan setiap elemen (yaitu, waktu yang dihabiskan dalam Susun, Ukur, ApplyTemplate, ArrangeOverride, dan MeasureOverride). Ini juga membangun pohon visual yang terlibat dalam proses Tata Letak. Anda dapat menggunakan visualisasi ini untuk menentukan struktur logis mana yang akan dipangkas, atau untuk mengevaluasi mekanisme penundaan lainnya untuk mengoptimalkan proses tata letak Anda.
Render Waktu yang dihabiskan untuk menggambar elemen XAML ke layar.
I/0 Waktu yang dihabiskan untuk mengambil data dari disk lokal atau dari sumber daya jaringan yang diakses melalui API Microsoft Windows Internet (WinINet).
Kode Aplikasi Waktu yang dihabiskan untuk menjalankan kode aplikasi (pengguna) yang tidak terkait dengan penguraian atau tata letak.
Lain Xaml Waktu yang dihabiskan untuk mengeksekusi kode runtime XAML.

Tips

Pilih alat Penggunaan CPU bersama dengan alat Garis Waktu Aplikasi saat Anda mulai membuat profil untuk melihat metode aplikasi yang dijalankan pada utas UI. Memindahkan kode aplikasi yang berjalan lama ke utas latar belakang dapat meningkatkan respons UI.

Menyesuaikan detail Garis Waktu

Gunakan toolbar Detail Garis Waktu untuk mengurutkan, memfilter, dan menentukan anotasi tampilan entri Detail Garis Waktu .

Nama Deskripsi
Urutkan menurut Urutkan menurut waktu mulai atau panjang peristiwa.
Mengelompokkan peristiwa menurut bingkai Menambahkan atau menghapus kategori Bingkai tingkat atas yang mengelompokkan peristiwa menurut bingkai.
Filter daftar rincian garis waktu Memfilter daftar menurut kategori yang dipilih dan panjang peristiwa.
Menyesuaikan informasi detail garis waktu Memungkinkan Anda menentukan anotasi pada peristiwa.