Bagikan melalui


Meningkatkan konsumsi daya dan masa pakai baterai dengan meminimalkan pekerjaan latar belakang

Panduan ini akan menunjukkan cara meningkatkan cara aplikasi Windows Anda menggunakan daya, menawarkan prinsip untuk membantu Anda meningkatkan performa perangkat dan masa pakai baterai secara keseluruhan.

Prinsip paling dasar untuk meningkatkan konsumsi daya adalah memastikan bahwa saat aplikasi Anda berada di latar belakang, itu tidak:

  • menggunakan sumber daya sistem,
  • membangunkan CPU melalui timer,
  • bangunkan CPU dengan menunggu peristiwa vsync.

Menjadi "di latar belakang" berarti bahwa aplikasi Anda tidak terlihat, atau dapat didengar, kepada pengguna. Harus ada sedikit, jika ada, alasan untuk membangunkan CPU atau menggunakan sumber daya sistem saat berada di latar belakang. Memeriksa apakah aplikasi Anda memicu peristiwa ini dan mengatasi penyebabnya dapat secara signifikan meningkatkan konsumsi daya aplikasi, masa pakai baterai, dan mengurangi emisi karbon yang akan dihasilkan dari pelanggan yang menggunakan aplikasi Anda.

Untuk memeriksa bahwa CPU tidak bangun untuk melakukan pekerjaan yang tidak perlu saat aplikasi Anda tidak digunakan, Anda dapat menangkap dan menganalisis jejak menggunakan Windows Penganalisis Kinerja (WPA). Kami akan menelusuri langkah-langkah yang menjelaskan cara melakukannya di bawah ini.

Mengambil jejak dan memeriksa pekerjaan yang tidak perlu

Penting untuk menyiapkan kondisi yang benar saat menjalankan aplikasi Anda sebelum mengambil jejak untuk menganalisis apakah pekerjaan yang tidak perlu sedang dilakukan yang dapat menguras daya. Anda mungkin juga ingin menjalankan beberapa jejak untuk menguji aplikasi Anda dalam berbagai kondisi.

Siapkan

  1. Dapatkan perangkat pengujian Anda untuk menganggur dengan membuka Task Manager dan memastikan bahwa pemanfaatan CPU kurang dari 5%. Melakukannya akan meminimalkan gangguan pengukuran dan memberikan jejak ukuran yang wajar.

  2. Luncurkan aplikasi Anda dan navigasikan ke tampilan yang diharapkan umum digunakan.

  3. Minimalkan aplikasi Anda. *Anda mungkin ingin mengulangi langkah-langkah berikut saat jendela aplikasi Anda sepenuhnya terpaku (diblokir dari tampilan) di belakang jendela lain dan ketika aplikasi Anda berada di latar depan, setelah periode tidak ada interaksi oleh pengguna, untuk memastikan pekerjaan yang tidak perlu tidak dimulai oleh aplikasi.

Mengukur dan mengevaluasi penggunaan CPU saat berada di latar belakang

  1. Buka baris perintah (PowerShell atau Prompt Perintah) dalam mode administrator. (Jika tidak berjalan dalam mode admin, Anda mungkin menerima kode kesalahan: 0xc5585011, "Gagal mengaktifkan kebijakan ke performa sistem profil.")

  2. Masukkan perintah: wpr -start power -filemode

  3. Biarkan perangkat menganggur selama 5 menit.

  4. Masukkan perintah: wpr -stop idletrace.etl

  5. Untuk membuka jejak menggunakan Windows Penganalisis Kinerja (WPA), masukkan perintah:wpa.exe idletrace.etl

  6. Buka grafik Penggunaan CPU Komputasi>(Tepat).

    • Navigasikan ke proses Anda (atau jika Anda memiliki model multi-proses, semua proses yang terkait dengan aplikasi Anda) dan evaluasi jumlah Cswitch , "Pemanfaatan oleh CPU". Idealnya ini sedekat mungkin dengan 0 saat aplikasi berada di latar belakang. Melihat tumpukan adalah cara yang bagus untuk menemukan di mana sumber daya digunakan dan cara meningkatkannya.

    • Cari bangun berlebihan dengan menambahkan "Tumpukan Utas Baru" untuk melihat tumpukan utas mana yang terbangun.

    Grafik WPA memperlihatkan proses, jumlah, dan persen penggunaan CPU

  7. Buka grafik Penggunaan CPU Komputasi>(Sampel). Lacak masalah penggunaan CPU dengan mengevaluasi di mana waktu dalam kode sedang dihabiskan untuk dieksekusi.

Mengukur dan mengevaluasi vsync menunggu saat berada di latar belakang

Catatan

Fokus pada penggunaan CPU dasar di bagian sebelumnya sebelum menyelidiki skenario yang lebih canggih ini.

  1. Buka baris perintah (PowerShell atau Prompt Perintah) dalam mode administrator.

  2. Masukkan perintah: wpr -start gpu -filemode

  3. Biarkan perangkat menganggur selama 5 menit.

  4. Masukkan perintah: wpr -stop gputrace.etl

  5. Untuk membuka jejak menggunakan Windows Penganalisis Kinerja (WPA), masukkan perintah:wpa.exe gputrace.etl

  6. Buka grafik peristiwa Generik Aktivitas>Sistem.

    • Filter ke peristiwa "Microsoft-Windows-Dxgkrnl".
    • Seret kolom Proses ke atas untuk menjadi kolom ke-2.
    • Periksa apakah Anda memanggil WaitForVsync. Misalnya, melalui API seperti IDXGIOutput::WaitForVBlank (dxgi.h) melalui WaitForVerticalBlankEventInternal peristiwa.

    Grafik WPA memperlihatkan peristiwa MS Edge webview2

Untuk mempelajari selengkapnya, lihat artikel Menggunakan Windows Penganalisis Kinerja untuk menganalisis masalah Siaga Modern.

Sumber Daya Tambahan: