Bagikan melalui


Menganalisis konsumsi sumber daya dan aktivitas utas UI (XAML)

Gunakan pembuat profil 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 penyajian), melayani permintaan jaringan dan disk, dan dalam skenario seperti Startup Aplikasi, Beban Halaman, dan Windows mengubah ukuran.

Garis Waktu Aplikasi adalah salah satu alat yang dapat Anda mulai dengan perintah Debug>Pembuat Profil Performa.

Alat ini menggantikan alat ResponsI UI XAML yang merupakan bagian dari toolset diagnostik di 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

Catatan

Anda dapat mengumpulkan dan menganalisis data penggunaan CPU dan data konsumsi energi bersama dengan data ApplicationTimeline. Lihat Jalankan alat pembuatan profil dengan atau tanpa debugger.

Mengumpulkan data garis waktu aplikasi

Anda dapat membuat profil respons aplikasi di komputer lokal, perangkat yang terhubung, simulator Visual Studio atau emulator, atau perangkat jarak jauh. Lihat Jalankan alat pembuatan profil dengan atau tanpa debugger.

Tip

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 Visual Studio Alat Jarak Jauh tidak memengaruhi data performa.

Berikut adalah langkah-langkah dasarnya:

  1. Buka aplikasi XAML Anda.

  2. Klik Debug / Pembuat Profil Performa. Anda akan melihat daftar alat pembuatan profil di jendela .diagsession.

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

    Application Timeline Tool Selected

    Catatan

    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 Berhenti di bagian atas jendela.

    Visual Studio menganalisis data yang dikumpulkan dan menampilkan hasilnya.

    Timeline profiler report

Menganalisis data pembuatan profil garis waktu

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

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

  2. Menggunakan informasi dalam pemanfaatan utas UI atau grafik Throughput visual (FPS ), periksa detail dalam tampilan Detail garis waktu untuk menemukan kemungkinan penyebab kurangnya responsivitas.

Melaporkan skenario, kategori, dan peristiwa

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

Garis waktu sesi diagnostik

Performance and Diagnostics timeline

Penggaris di bagian atas halaman memperlihatkan garis waktu untuk informasi yang difilter. 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 pemanfaatan utas UI

CPU Utilization Graph

Grafik pemanfaatan utas UI (%) adalah bagan batang yang menampilkan jumlah waktu relatif yang dihabiskan dalam kategori selama rentang koleksi.

Grafik throughput visual (FPS)

Visual throughput graph

Grafik garis Throughput visual (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
Parsing Waktu yang dihabiskan untuk mengurai file XAML dan membuat objek.

Memperluas simpul Penguraian dalam detail Garis Waktu menampilkan rantai dependensi semua file XAML yang diurai karena peristiwa akar. Tip ini memungkinkan Anda mengidentifikasi penguraian file yang tidak perlu dan pembuatan objek 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 peletakan setiap elemen (yaitu, waktu yang dihabiskan di Arrange, Measure, ApplyTemplate, ArrangeOverride, dan MeasureOverride). Ini juga membangun pohon visual yang mengambil bagian dalam kode Tata Letak. Anda dapat menggunakan visualisasi ini untuk menentukan pohon logis mana yang akan dipangkas, atau untuk mengevaluasi mekanisme penangguhan lainnya untuk mengoptimalkan 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 Microsoft Windows Internet (WinINet) API.
Kode Aplikasi Waktu yang dihabiskan untuk mengeksekusi kode aplikasi (pengguna) yang tidak terkait dengan penguraian atau tata letak.
Xaml Other Waktu yang dihabiskan untuk mengeksekusi kode runtime XAML.

Tip

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 entri tampilan Detail garis waktu.

Nama Deskripsi
Urutkan menurut Urutkan menurut waktu mulai atau panjang peristiwa.
Group events by frame Menambahkan atau menghapus kategori Bingkai tingkat atas yang mengelompokkan peristiwa menurut bingkai.
Filter timeline details list Memfilter daftar menurut kategori yang dipilih dan panjang peristiwa.
Customize timeline details information Memungkinkan Anda menentukan anotasi ke peristiwa.