Meningkatkan respons aplikasi Windows Anda
Panduan ini akan membantu Anda meningkatkan responsivitas aplikasi Windows Anda dengan mengoptimalkan latensi untuk peluncuran dan interaksi utama. Interaksi cepat dan responsif (atau dikenal sebagai interaksi latensi rendah) menciptakan pengalaman pengguna yang lebih baik. Memahami ekspektasi interaksi, mengukur durasi saat ini, dan menetapkan tujuan untuk peningkatan tergantung pada kelas interaksi dapat menyebabkan peningkatan signifikan dalam pengalaman dan kepuasan pengguna Anda.
Panduan langkah demi langkah untuk mengoptimalkan interaksi untuk perilaku responsif
Pelanggan dapat merasakan ketika peluncuran aplikasi, navigasi menu, atau pemuatan halaman/konten lambat. Mereka datang untuk mengharapkan pengalaman yang cepat dan mulus dan kami telah berbagi beberapa langkah dan panduan untuk lebih memahami harapan tersebut di bawah ini.
Langkah-langkah dasar untuk mendorong pengoptimalan latensi adalah:
Tentukan skenario dan tambahkan peristiwa TraceLogging.
Buat daftar interaksi utama yang akan dilalui pengguna saat menggunakan aplikasi Anda, seperti peluncuran, membuka menu, menavigasi ke halaman baru dan menyajikan konten, dll. Untuk setiap interaksi ini, tambahkan peristiwa mulai dan hentikan peristiwa yang akan digunakan untuk pengukuran dan analisis. Pelajari selengkapnya tentang cara menambahkan TraceLogging, format untuk menggambarkan sendiri Pelacakan Peristiwa untuk Windows (ETW).
Tetapkan tujuan berdasarkan kelas interaksi.
Pengguna memiliki harapan yang berbeda untuk performa dan responsivitas aplikasi tergantung pada jenis interaksi. Misalnya, seberapa cepat aplikasi diluncurkan versus seberapa cepat halaman dimuat. Pikirkan rentang waktu yang berlalu yang dapat diterima yang diperlukan pengguna untuk menyelesaikan interaksi utama di aplikasi Anda. Ini dapat berkisar dari 200 milidetik (md) hingga 5 detik (dtk). Kemudian tetapkan setiap tugas label kelas interaksi dengan tujuan terkait. Di bawah ini adalah beberapa panduan dasar, bersama dengan saran tentang bagaimana Anda mungkin menyertakan antarmuka pengguna (UI) untuk meningkatkan persepsi responsivitas:
Label kelas interaksi | Persepsi pengguna | Rentang penundaan | Contoh | UI yang disarankan |
---|---|---|---|---|
Cepat | Penundaan yang minimal terlihat | 100 - 200 milidetik | Buka bilah aplikasi, klik kanan menu | |
Interaktif | Cepat, tapi tidak cepat | 300 - 500 mdtk | Keluar dari aplikasi, tampilkan hasil pencarian yang di-cache | |
Jeda | Tidak cepat, tapi terasa responsif | 500 mdtk - 1 detik | Navigasi ke halaman lain, lanjutkan aplikasi dari status ditangguhkan, tampilkan hasil pencarian web | Animasi masuk (misalnya terbang dalam konten baru) dapat digunakan untuk menutupi waktu yang diperlukan untuk skenario ini. |
Tunggu | Tidak cepat karena jumlah pekerjaan untuk skenario | 1 - 3 detik | Meluncurkan aplikasi | Kursor berputar/menunggu dapat digunakan untuk mencatat kemajuan. Animasi keluar dan masuk (misalnya terbang keluar halaman lama, terbang halaman baru di) dapat digunakan untuk menutupi waktu yang diperlukan untuk skenario ini. |
Penantian panjang | Tidak lagi terasa responsif | 2 - 5 detik | Peluncuran aplikasi besar (gunakan layar percikan yang diperluas), memulai aliran video HD | "Memuat UI" ditampilkan – jika memungkinkan, sertakan opsi "batalkan" untuk pengguna. Antarmuka pengguna pemuatan akan muncul dalam kelas Interaksi cepat. UI pemuatan tidak perlu menampilkan persentase atau sisa waktu. |
Tawanan | Penantian panjang – dicadangkan untuk skenario panjang/kompleks yang tidak dapat diingat | 5 - 10 detik | Masuk sistem | "Memuat UI" atau dialog ditampilkan – jika memungkinkan, sertakan opsi "batal" untuk pengguna. Dialog akan muncul dalam kelas Interaksi cepat. Dialog harus menampilkan persentase atau sisa waktu jika ini akan memberikan konteks yang berguna kepada pengguna. |
Berjalan lama | Operasi panjang - pengguna mungkin akan multitugas (beralih selama operasi) | 10 - 30+ detik | Menginstal fitur atau pembaruan baru, unduhan file besar | UI harus dirancang untuk mencerminkan kemungkinan multitugas. Dialog kemajuan harus ditampilkan termasuk perkiraan penyelesaian (persentase, sisa waktu, dll.). Atau, UI dapat meminimalkan sepenuhnya dan hanya memberi tahu pengguna ketika skenario telah selesai dengan menggunakan pemberitahuan toast. |
Untuk memeriksa durasi yang tepat untuk interaksi tertentu, Anda dapat mengambil dan menganalisis jejak menggunakan Windows Penganalisis Kinerja (WPA).
Sebelum menangkap jejak Anda, pastikan perangkat pengujian Anda menganggur dengan membuka Task Manager dan memastikan bahwa pemanfaatan CPU kurang dari 5%. Melakukannya akan meminimalkan gangguan pengukuran dan memberikan jejak ukuran yang wajar. Ini akan membantu Anda mengisolasi interaksi yang ingin Anda ukur dengan lebih baik.
Untuk mengambil jejak, buka baris perintah (PowerShell atau Prompt Perintah) dalam mode administrator.
Masukkan perintah:
wpr -start GeneralProfile -filemode
Jalankan skenario interaksi di aplikasi Anda.
Masukkan perintah:
wpr -stop Trace.etl
Analisis jejak dan temukan peluang peningkatan.
Analisis durasi setiap interaksi utama yang didukung oleh aplikasi Anda dengan membuka jejak yang baru saja Anda ambil di Windows Penganalisis Kinerja (WPA).
- Untuk membuka jejak di WPA, di baris perintah Anda, masukkan:
wpa.exe Trace.etl
- Perluas menu dropdown Aktivitas Sistem dan klik dua kali pada "Peristiwa Generik" untuk membuka tampilan analisis.
- Pilih rangkaian peristiwa yang terkait dengan aplikasi Anda dan perluas menu dropdown "Nama Penyedia" hingga Anda dapat menemukan Nama Proses, Nama Tugas, dan Nama peristiwa yang terkait dengan interaksi utama yang Anda cari. Durasi peristiwa interaksi akan dicantumkan di kolom Waktu , serta dalam grafik, memperlihatkan Durasi, Waktu Mulai, dan Waktu Akhir.
Jika durasi dari jejak Anda tidak memenuhi tujuan kelas interaksi (misalnya: 500ms), identifikasi utas kunci untuk Aplikasi Anda (kemungkinan utas UI), dan lihat tumpukan teratas untuk penggunaan dan tunggu CPU. *Ingatlah bahwa saat Anda melakukan analisis, beberapa masalah mungkin tidak spesifik untuk kode aplikasi Anda sendiri.
- Untuk membuka jejak di WPA, di baris perintah Anda, masukkan:
Sumber Daya Tambahan:
Windows developer