Gambaran umum performa dan dasar-dasar aplikasi Windows

Meningkatkan performa dan dasar-dasar aplikasi Anda memberikan kesempurnaan dan keterampilan, sambil menghemat waktu, uang, masa pakai baterai, dan usaha pengembangan bagi pengguna aplikasi Anda. Aplikasi Anda akan mengonsumsi lebih sedikit daya, meningkatkan masa pakai baterai, dan mengurangi emisi karbon. Aplikasi berjalan lebih lancar pada perangkat keras yang lebih murah. Produktivitas pelanggan Anda meningkat.

Halaman ini memberikan gambaran umum tentang teknologi dan alat pengembangan untuk mengukur, memahami, dan menyempurnakan performa aplikasi Windows Anda.

Meningkatkan performa aplikasi WinUI 3 Anda

Untuk aplikasi WinUI 3 yang dibuat dengan SDK Aplikasi Windows, ikuti alur kerja ini untuk meningkatkan startup dan interaksi sehari-hari. Gunakan hasil pengukuran untuk memilih optimasi, lalu ikuti panduan yang ditautkan untuk rincian implementasi.

Ukur acuan dasar

Pilih skenario startup dan interaksi yang sering, seperti navigasi atau gulir, dan atur tujuan performa yang terukur. Ukur build rilis pada perangkat keras target yang representatif. Rekam startup dingin dan hangat secara terpisah, termasuk ketika aplikasi menjadi interaktif secara bermakna daripada hanya ketika jendelanya muncul.

Gunakan pembuatan profil performa WinUI 3 untuk menemukan bingkai UI yang mahal dan menyelidiki biaya CPU mereka. Jika Anda memerlukan bantuan untuk memilih profiler, lihat Memilih antara Visual Studio Performance Profiler dan Toolkit Performa Windows.

Tingkatkan proses startup

Identifikasi inisialisasi dan pembuatan UI yang harus selesai sebelum pengguna dapat berinteraksi dengan aplikasi. Tangguhkan pekerjaan yang tidak penting dan muat data tambahan secara progresif, tanpa memperlakukan indikator pemuatan sebagai startup yang selesai.

Mulailah dengan praktik terbaik startup aplikasi WinUI. Jika pembuatan XAML adalah hambatan, ikuti Optimalkan pemuatan XAML untuk pengurangan elemen, pemuatan yang ditangguhkan, dan manajemen sumber daya.

Meningkatkan responsivitas dan penyajian

Pilih panduan yang cocok dengan hambatan dalam pengukuran Anda:

Gejala Guidance
Input atau navigasi tersendat saat aplikasi memuat data atau menghitung hasil Jaga agar utas UI tetap responsif, termasuk I/O asinkron, komputasi latar belakang, dan pembaruan utas UI.
Tata letak memakan waktu terlalu lama, terutama dengan templat berulang Optimalkan tata letak XAML untuk mengurangi struktur tata letak yang tidak perlu.
Daftar atau tampilan petak bergulir lambat atau membuat terlalu banyak elemen Optimalkan ListView dan GridView untuk virtualisasi UI dan templat item yang lebih ringkas; gunakan virtualisasi data saat pemuatan data itu sendiri menjadi hambatan utama.

Ukur ulang dan cegah regresi

Ulangi skenario yang sama dalam kondisi yang sebanding setelah setiap perubahan, dan bandingkan hasilnya dengan garis besar Anda. Periksa waktu startup dan interaksi bersama penggunaan memori dan CPU: peningkatan di satu area dapat meningkatkan biaya di tempat lain.

Pertahankan pengukuran sebagai pemeriksaan regresi untuk perubahan di masa mendatang. Gunakan Rencanakan dan ukur performa aplikasi untuk menyempurnakan tujuan dan instrumentasi saat aplikasi Anda berkembang.

Apa itu performa aplikasi dan mengapa penting?

Performa adalah ukuran seberapa efektif aplikasi Anda menggunakan sumber daya sistem untuk melakukan apa yang sudah Anda rancang. Ini mencakup berbagai aspek tentang bagaimana program Anda berinteraksi dengan perangkat yang mendasar, termasuk:

  • Penggunaan CPU
  • Penggunaan memori
  • Konsumsi daya
  • Pemanfaatan jaringan dan penyimpanan
  • Performa animasi

Semua properti ini memiliki elemen biaya yang terkait dengannya: misalnya, berapa banyak CPU yang digunakan aplikasi saya? Berapa banyak bandwidth pengguna yang akan digunakan? Seberapa cepat halaman khusus ini dimuat aplikasi saya?

Pengguna mengharapkan performa sebagai properti mendasar dari perangkat lunak yang mereka gunakan. Mereka ingin aplikasi mereka responsif dan memanfaatkan sumber daya sistem mereka secara efisien. Aplikasi yang menunjukkan performa yang buruk menyebabkan frustrasi, yang dapat menyebabkan berkurangnya keterlibatan pengguna. Untuk memberi pelanggan Anda pengalaman terbaik, oleh karena itu sangat penting untuk menjadikan performa sebagai bagian reguler dari alur kerja pengembangan Anda.

Kapan Anda harus mengukur performa aplikasi?

Performa aplikasi dapat mencakup banyak tahapan proses pengembangan. Ini memiliki implikasi pada segala sesuatu mulai dari pilihan struktur data Anda hingga teknologi yang Anda pilih untuk membangun aplikasi Anda. Ingatlah performa saat Anda mengembangkan aplikasi, dan rencanakan untuk melakukan pengujian performa secara teratur sebagai bagian dari pembaruan dan pemeliharaan aplikasi Anda.

Cara mendekati pengukuran performa

Berikut adalah beberapa saran tentang cara mendekati pengujian aplikasi Anda untuk performa.

  • Manfaatkan pengetahuan Anda tentang aplikasi Anda. Memahami skenario paling umum bagi pengguna Anda akan memungkinkan Anda menghabiskan waktu dengan bijak untuk mengoptimalkan hal-hal yang tepat. Jika Anda memiliki data yang tersedia tentang cara pengguna berinteraksi dengan aplikasi Anda, ini akan menjadi waktu yang tepat untuk melihatnya.
    • Di mana pengguna Anda menghabiskan sebagian besar waktu mereka?
    • Apa hal terpenting yang akan dilakukan pelanggan dengan perangkat lunak Anda?
    • Apa persyaratan perangkat keras aplikasi Anda?
  • Tetapkan tujuan performa untuk skenario pengguna Anda yang paling penting.
  • Tentukan dengan tepat apa yang Anda coba optimalkan. Apakah CPU? Baterai? Performa jaringan?
  • Pilih alat yang akan Anda gunakan untuk melakukan pengukuran.
  • Terapkan pola pikir ilmiah saat pengujian. Buat tolok ukur di lingkungan terkontrol. Kemudian, buat perubahan Anda, dan ukur ulang untuk melihat bagaimana perubahan Anda telah memengaruhi perilaku aplikasi Anda.
  • Tambahkan pengujian regresi ke lingkungan pengujian Anda. Ini akan memastikan bahwa metrik performa Anda tidak regresi dari waktu ke waktu.

Metrik saling terkait

Meskipun Anda biasanya akan fokus pada satu area performa selama analisis Anda, ketahuilah bahwa area-area tersebut sering kali saling terkait. Peningkatan dalam satu dapat menyebabkan peningkatan di area-area lain.

Misalnya, memperbaiki konsumsi daya sering kali merupakan masalah sinkronisasi. Mengurangi penggunaan memori dapat mengakibatkan pengurangan waktu yang dihabiskan menggunakan CPU. Mungkin juga ada situasi di mana sumber daya tambahan yang dihabiskan dalam satu area menghasilkan peningkatan yang lebih berdampak di area lain—misalnya, meningkatkan konsumsi memori dapat mengurangi pemanfaatan jaringan atau penyimpanan melalui penggunaan cache.

Keputusan untuk membuat perubahan tergantung pada apa yang paling penting bagi pelanggan Anda.

Alat apa yang dapat saya gunakan untuk mengukur performa aplikasi?

Ada berbagai opsi berbeda yang tersedia untuk mengukur performa aplikasi Windows Anda.

Jika Anda tidak yakin alat apa yang harus dipilih, lihat artikel: Memilih antara Visual Studio Performance Profiler dan Toolkit Performa Windows.

Ikon Visual Studio Profiler Kinerja Visual Studio

Visual Studio menawarkan alat untuk membantu Anda memantau aplikasi dan memberi Anda wawasan dalam sumber Anda. Kunjungi sumber daya di bawah ini untuk mempelajari tentang bagaimana Anda dapat menggunakan alat-alat ini untuk mengoptimalkan kode Anda langsung dari lingkungan pengembangan Anda.

Ikon Windows Penganalisis Kinerja Toolkit Performa Windows

Windows Performance Recorder dan Windows Penganalisis Kinerja memungkinkan pemantauan dan analisis terperinci aplikasi Anda dan seluruh sistem menggunakan Event Tracing for Windows (ETW). Lihat tautan di bawah ini tentang cara memulai.

Ikon PerfView PerfView

PerfView adalah alat pemantauan dan analisis sumber terbuka yang dibuat oleh tim .NET untuk menyelidiki masalah performa .NET. Karena kemampuannya untuk mendekode simbol .NET dan memori terkelola, ini adalah pilihan ideal untuk aplikasi terkelola.

Ikon SizeBench SizeBench

SizeBench adalah utilitas yang membantu Anda menyelidiki dan mengurangi ukuran biner kode asli yang dikompilasi (DLL, EXE, dan file PE lainnya).

Sumber Daya Tambahan

Blog dan berita

Pergi di belakang layar dengan blog pengembang, ditulis oleh pakar performa kami untuk memberdayakan membangun versi terbaik aplikasi Anda.

Komunitas dan dukungan

  • Masalah performa dalam loop kompilasi-debug-test Anda? Laporkan mereka di repositori Windows Dev Performance di GitHub.

Performa dan Keberlanjutan

Rekayasa performa bersinggungan langsung dengan pergerakan perangkat lunak berkelanjutan. Sebagian besar jaringan listrik membakar bahan bakar fosil untuk menghasilkan listrik. Saat aplikasi Anda berjalan pada PC, aplikasi ini mengonsumsi daya bertambah bertahap yang mungkin kecil untuk satu pengguna tetapi bertambah saat basis pengguna Anda tumbuh.

Tertarik untuk mempelajari bagaimana rekayasa performa bersinggungan dengan keberlanjutan? Lihat Prinsip Rekayasa Perangkat Lunak Hijau dan blog Perangkat Lunak Berkelanjutan Microsoft.