Mengoptimalkan Kinerja di iOS
Mengukur kinerja dengan built-in profiler

Optimasi spesifik iOS

Optimasi detail halaman ini yang unik untuk penyebaran iOS.

Optimasi panggilan script

Sebagian besar fungsi di ruang nama UnityEngine diterapkan di C / C++. Memanggil fungsi C / C ++ dari skrip Mono melibatkan overhead kinerja, sehingga Anda dapat menyimpan sekitar 1 hingga 4 mili detik per bingkai menggunakan pengaturan iOS Optimasi Panggilan Script.

Praktik perkembangan yang baik di iOS tidak pernah bergantung pada penanganan pengecualian (baik secara internal atau melalui penggunaan blok coba/catch). Saat menggunakan opsi Slow and Safe default, Unity menangkap pengecualian yang terjadi pada perangkat dan memberikan jejak stack. Ketika menggunakan opsi Fast but no Exceptions, setiap pengecualian yang terjadi akan crash permainan, dan tidak ada jejak stack akan disediakan. Selain itu, Unity meningkatkan acara AppDomain.UnhandledException untuk memungkinkan akses kode spesifik proyek ke informasi pengecualian.

Dengan Mono scripting backendKerangka kerja yang skrip di Unity. Unity mendukung tiga backend scripting yang berbeda tergantung pada platform target: Mono, .NET dan IL2CPP. Platform Windows Universal, namun hanya mendukung dua: .NET dan IL2CPP. More info
Lihat di Glossary
, permainan berjalan lebih cepat karena prosesor tidak mengalihkan daya untuk menangani pengecualian. Tidak ada manfaat kinerja dengan opsi Fast but no Exceptions ketika menggunakan backend scripting IL2CPPBack-end scripting bersatu yang dapat Anda gunakan sebagai alternatif untuk Mono ketika proyek bangunan untuk beberapa platform. More info
Lihat di Glossary
. Namun, ketika merilis permainan Anda ke dunia, yang terbaik untuk dipublikasikan dengan opsi Fast but no Exceptions.

Tuning accelerometer memproses frekuensi

Jika input accelerometer diproses terlalu sering maka kinerja keseluruhan permainan Anda mungkin menderita sebagai hasilnya. Secara default, sampel aplikasi Unity iOS accelerometer 60 kali per detik. Anda dapat melihat beberapa manfaat kinerja dengan mengurangi frekuensi pengambilan sampel accelerometer dan Anda bahkan dapat mengaturnya ke nol untuk permainan yang tidak menggunakan input accelerometer. Anda dapat mengubah pengaturan Accelerometer Frequency di bawah panel Other Settings dari Pengaturan pemain untuk platform iOS.

Build di Incremental

Kode C++ yang dihasilkan oleh backend IL2CPP scripting dapat diperbarui secara incrementally, memungkinkan sistem build C++ incremental untuk mengumpulkan hanya file sumber perubahan. Ini dapat secara signifikan menurunkan waktu iterasi dengan backend scripting IL2CPP.

Untuk menggunakan build inkremental, pilih opsi Append setelah memilih Build dari dialog Build Settings. Opsi Replace melakukan build yang bersih.

Menyiapkan tingkat bingkai

Unity iOS memungkinkan Anda untuk mengubah frekuensi dengan aplikasi Anda akan mencoba untuk mengeksekusi loop rendering, yang diatur hingga 30 frames per secondFrekuensi di mana bingkai berturut-turut ditampilkan dalam permainan berjalan. More info
Lihat di Glossary
secara default. Anda dapat menurunkan jumlah ini untuk menghemat daya baterai tetapi tentunya penghematan ini akan datang dalam pengeluaran pembaruan bingkai. Sebaliknya, Anda dapat meningkatkan bingkai untuk memberikan prioritas rendering atas kegiatan lain seperti input sentuh dan pemrosesan accelerometer. Anda harus bereksperimen dengan pilihan Anda berbingkai untuk menentukan bagaimana mempengaruhi gameplay dalam kasus Anda.

Jika aplikasi Anda melibatkan perhitungan berat atau rendering dan dapat mempertahankan hanya 15 frame per detik, katakan, kemudian mengatur tingkat bingkai yang diinginkan lebih tinggi dari lima belas tidak akan memberikan kinerja ekstra. Aplikasi harus dioptimalkan cukup untuk memungkinkan bingkai yang lebih tinggi.

Untuk mengatur tingkat bingkai yang diinginkan, perubahan Aplikasi.targetFrameRate.


  • 2018–06–14 Login
Mengoptimalkan Kinerja di iOS
Mengukur kinerja dengan built-in profiler