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 Performance Analyzer (WPA). Kami akan menelusuri langkah-langkah yang menjelaskan cara melakukannya di bawah ini.

Mengumpulkan jejak dan melacak 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 pelacakan untuk menguji aplikasi Anda di bawah berbagai kondisi.

Siapkan

  1. Pastikan perangkat pengujian Anda dalam keadaan idle 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 dijalankan dalam mode admin, Anda mungkin menerima kode kesalahan: 0xc5585011, "Gagal mengaktifkan kebijakan untuk memprofil kinerja sistem.")

  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 Performance Analyzer (WPA), masukkan perintah : wpa.exe idletrace.etl

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

    • Navigasikan ke proses Anda (atau jika Anda memiliki model multi-proses, semua proses yang terkait dengan aplikasi Anda) dan evaluasi jumlah Cswitch, "Penggunaan 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 aktivitas 'wakes' yang berlebihan dengan menambahkan "New Thread Stack" untuk melihat tumpukan utas mana yang dihidupkan.

    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 penantian vsync saat berada di latar belakang

Nota

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 Performance Analyzer (WPA), masukkan perintah : wpa.exe gputrace.etl

  6. Buka grafik Aktivitas Sistem>Peristiwa Generik.

    • 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 event.

    Grafik WPA memperlihatkan peristiwa MS Edge webview2

Untuk mempelajari selengkapnya, lihat artikel Menggunakan Windows Performance Analyzer untuk menganalisis masalah Siaga Modern.

Sumber daya tambahan