Tautan dalam di Android
Fitur perangkat dan izin

Konfigurasi benang Android

Unity mengkonfigurasi urusan benang dan prioritas benang berdasarkan topologi CPU perangkat. Konfigurasi benang default Unity bekerja dengan baik untuk sebagian besar proyek, tetapi dalam beberapa situasi, Anda mungkin ingin mengubah konfigurasi benang (misalnya, jika Anda ingin mengoptimalkan perangkat tertentu, atau jika aplikasi Anda bertujuan untuk konsumsi daya rendah dan tidak memerlukan tingkat bingkai tinggi).

Important: Gunakan pengaturan default Unity bila memungkinkan. Jika Anda mengubah konfigurasi benang untuk mengoptimalkan perangkat tertentu, setiap perubahan yang Anda buat dapat memiliki dampak kinerja negatif pada perangkat lain atau bahkan perangkat yang sama dalam versi sistem operasi masa depan.

urusan benang

Persentase dari kontrol benang yang inti CPU benang harus berjalan. Untuk perangkat Android, inti biasanya sesuai dengan dua kategori:

  • Besar: Inti kuat yang daya baterai intensif.
  • Sedikit: inti Slower yang lebih sedikit daya baterai intensif daripada inti besar.

Important: Untuk aplikasi khas yang menargetkan berbagai perangkat Android, jangan mengikat benang ke inti tertentu.

Mengidentifikasi inti CPU

Unity biasanya menerima kapasitas dan tugas besar / botol untuk setiap inti CPU dari sistem operasi perangkat. Untuk versi sistem operasi yang lebih tua, informasi ini tidak selalu tersedia. Dalam hal ini, Unity menghitung kapasitas inti CPU dan menggunakan informasi tersebut untuk menetapkan setiap inti baik besar atau sedikit. Untuk menetapkan inti, Unity membandingkan kapasitas CPU setiap inti ke ambang. Secara default, intinya besar jika memiliki setidaknya dua kali lipat kapasitas CPU inti paling lambat, dan sedikit sebaliknya.

Untuk lebih banyak kontrol atas inti Unity menetapkan besar atau sedikit, Anda dapat memberikan ambang kustom. Untuk memberikan ambang kustom, gunakan argumen baris perintah -platform-android-cpucapacity-threshold [value] dengan nilai antara 0 dan 1024 di mana 0 mewakili inti kapasitas terendah dan 1024 mewakili inti kapasitas tertinggi. Misalnya, nilai 870, yang sekitar 85% dari 1024, berarti bahwa inti besar jika kapasitas CPU berada di atas 15% dari mereka di chip. Untuk informasi tentang cara menambahkan argumen garis perintah start-up ke Unity di perangkat Android, lihat Menentukan argumen startup Unity dari file UnityPlayerActivity kustom.

Note: Unity selalu mengkategorikan inti baik besar atau sedikit. Untuk beberapa topologi CPU yang kompleks (misalnya, mereka yang memiliki core menengah), Unity masih mengkategorikan intinya sebagai besar atau sedikit.

Thread urusan alias

Unity menyediakan alias berikut yang dapat Anda gunakan sebagai nilai urusan benang:

  • any: Memungkinkan benang untuk menjalankan inti.
  • little: Memungkinkan benang untuk menjalankan inti kecil.
  • big: Memungkinkan benang untuk menjalankan inti besar.

Anda juga dapat menggunakan nilai heksadecimal dan binary untuk menentukan urusan benang. Dalam biner, indeks sedikit referensi inti CPU tertentu. Biasanya, inti kecil mulai indeks 0 dan inti besar datang langsung setelah mereka.

Misalnya, jika CPU mengandung empat core kecil dan empat inti besar:

  • Nilai biner 0b11110000 dan nilai heksadecimal 0xf0 memungkinkan benang untuk menjalankan inti besar.
  • Nilai biner 0b1111 dan nilai heksadecimal 0xf memungkinkan benang untuk menjalankan inti kecil.

prioritas benang

Prioritas dari kontrol benang bagaimana sistem operasi perangkat mengalokasikan waktu CPU ke benang. Sistem operasi mengalokasikan lebih banyak waktu CPU untuk benang dengan kerabat prioritas yang lebih tinggi ke benang dengan prioritas yang lebih rendah.

Nilai prioritas benang yang dapat Anda gunakan dalam Unity berada di kisaran -20 hingga 19, di mana -20 menunjukkan prioritas tertinggi dan 19 menunjukkan prioritas terendah.

Konfigurasi benang Unity

Bagian ini berisi informasi tentang benang Unity Anda dapat mengkonfigurasi, dan argumen baris perintah yang Anda gunakan untuk mengkonfigurasinya.

Untuk informasi tentang cara menambahkan argumen baris perintah startup ke Unity pada perangkat Android, lihat Menentukan argumen startup Unity dari file UnityPlayerActivity kustom.

Satuan benang utama

Benang utama Unity mengeksekusi semua scriptsSepotong kode yang memungkinkan Anda untuk membuat Komponen Anda sendiri, memicu peristiwa permainan, memodifikasi sifat komponen dari waktu ke waktu dan menanggapi input pengguna dengan cara apa pun yang Anda sukai. More info
Lihat di Glossary
dan biasanya memiliki beban CPU yang tinggi. argumen baris perintah yang mempengaruhi benang ini adalah:

  • -platform-android-unitymain-priority [value] di mana [value] adalah priority dari benang.
  • -platform-android-unitymain-affinity [value] di mana [value] adalah affinity dari benang.

Benang Kerja Unity

Benang pekerja Unity mengeksekusi pekerjaan dari mesin inti dan mereka aplikasi Anda dikirim melalui Sistem Pekerjaan C#. argumen baris perintah yang mempengaruhi benang ini adalah:

  • -platform-android-jobworker-priority [value] dimana [value] adalah priority dari benang.
  • -platform-android-jobworker-affinity [value] [value1 value2 value3] di mana [value] adalah affinity dari benang dan [value1 value2 value3] adalah nilai opsional yang dapat Anda gunakan untuk menentukan urusan benang pekerja per benang. Jika Anda hanya menetapkan nilai tunggal, Unity menggunakan nilai yang sama untuk semua benang pekerja. Anda dapat menggunakan ’-job-worker-count untuk menentukan jumlah benang pekerja.

Satuan render thread

Benang render Unity berinteraksi dengan API Grafik jika proyek Anda menggunakan rendering multithreaded.

  • -platform-android-gfxdeviceworker-priority [value] di mana [value] adalah priority dari benang.
  • -platform-android-gfxdeviceworker-affinity [value] di mana [value] adalah affinity dari benang.

Note: Jika Anda menggunakan benang GraphicsJobs, JobWorker juga berinteraksi dengan API Graphics.

Tautan dalam di Android
Fitur perangkat dan izin