Optimasi spesifik iOS
Mengoptimalkan ukuran yang dibangun iOS Player

Mengukur kinerja dengan built-in profiler

Sitemap Profiler internal dihukum dan akan pensiun dalam versi Unity masa depan. Gunakan Note: bukan (menu: Window > Analisis > Profiler).WordPress.org instead (menu: Window > Analysis > Profiler).

Unity mengandung built-in profilerJendela yang membantu Anda untuk mengoptimalkan permainan Anda. Ini menunjukkan berapa banyak waktu yang dihabiskan di berbagai bidang permainan Anda. Sebagai contoh, dapat melaporkan persentase waktu yang dihabiskan rendering, aimating, atau dalam logika permainan Anda. More info
Lihat di Glossary
untuk iOS dan Android. Setiap 30 frame, built-in profiler memancarkan pesan konsol dari aplikasi yang berjalan pada perangkat. Pesan ini memberikan wawasan tentang bagaimana aplikasi berjalan. Secara khusus, mereka membantu Anda menentukan apakah aplikasi Anda adalah CPU atau GPU-bound. Jika aplikasi Anda adalah CPU-bound, Anda juga dapat menentukan apakah kode skrip atau pengumpulan sampah menyebabkan bottleneck. Halaman ini rincian cara mengkonfigurasi built-in profiler.

Berikut adalah contoh output profiler built-in:

iPhone Unity internal profiler stats
frametime>     min: 32.5   max: 34.1   avg: 33.3
cpu-player>    min:  2.2   max:  4.4   avg:  3.7
batches>       min:   3    max:   3    avg:   3
draw calls>    min:   3    max:   3    avg:   3
tris>          min:  1704  max:  1704  avg:  1704
verts>         min:  5088  max:  5088  avg:  5088
dynamic batching> batched draw calls:   0 batches:   0 tris:     0 verts:     0
static batching>  batched draw calls:   0 batches:   0 tris:     0 verts:     0
player-detail> physx:  0.0 animation:  0.0 culling  0.0 skinning:  0.0 batching:  0.0 render:  0.0 fixed-update-count: 0 .. 0
scripting-scripts>  update:  0.0   fixedUpdate:  0.0 coroutines:  0.0 
scripting-memory>   information not available on non-development player configuration

Semua kali diukur dalam mili detik per bingkai. Anda dapat melihat waktu minimum, maksimum, dan rata-rata selama tiga puluh bingkai terakhir.

Aktivitas CPU umum

Property Function
cpu-player Menampilkan waktu aplikasi Anda menghabiskan kode executing di dalam mesin Unity dan mengeksekusi 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
pada CPU.
Sitemap Hulucpu-ogles-drv (Android only) Menampilkan waktu yang dihabiskan mengeksekusi kode driver OpenGL ES pada CPU. Statistik driver ini dapat dipengaruhi oleh beberapa faktor, termasuk jumlah panggilan penarikan, jumlah perubahan state rendering internal, rendering setup pipa, dan jumlah vertic diproses.
Sitemap Hulucpu-present (Android only) Jumlah waktu yang dihabiskan mengeksekusi perintah presentRenderbuffer di OpenGL ES.
frametime Mewakili waktu keseluruhan bingkai aplikasi. Perhatikan bahwa hardware iOS terkunci pada tingkat refresh 60Hz, sehingga properti ini akan selalu kembali waktu yang beberapa dari 16.7ms (1000ms / 60Hz = 16.7ms).

Statistik rendering

Property Function
tris # Jumlah segitiga yang dikirim untuk rendering.
verts # Jumlah simpul yang dikirim untuk rendering. Anda harus menyimpan nomor ini di bawah 10000 jika aplikasi Anda hanya menggunakan geometri statis. Jika aplikasi Anda menggunakan banyak kasus geometri kulit, jumlah ini harus jauh lebih rendah.
dynamic/static batching Jumlah penarikan, segitiga, dan vertik yang mesin secara otomatis di batch. Melengkapi angka-angka ini dengan penarikan dan total segitiga dapat memberi Anda ide seberapa baik sceneAdegan berisi lingkungan dan menu permainan Anda. Pikirkan setiap file Adegan unik sebagai tingkat yang unik. Di setiap Adegan, Anda menempatkan lingkungan, hambatan, dan dekorasi, pada dasarnya merancang dan membangun permainan Anda dalam potongan-potongan. More info
Lihat di Glossary
Anda disiapkan untuk batching. Bagikan sebanyak mungkin di antara objek Anda untuk meningkatkan batching.

Statistik Unity Player terperinci

Bagian player-detail memberikan rincian rinci tentang apa yang terjadi di dalam mesin:

Property Function
physx Waktu yang dihabiskan pada fisika.
animation Waktu menghabiskan tulang yang menarik.
culling Masa menghabiskan benda-benda penanaman di luar frustum cameraKomponen yang menciptakan gambar sudut pandang tertentu di tempat kejadian Anda. Output ditarik ke layar atau ditangkap sebagai tekstur. More info
Lihat di Glossary
.
skinningProses mengikat sendi tulang ke vertices mesh karakter atau ‘skin’. Dilakukan dengan alat eksternal, seperti Blender atau Autodesk Maya. More info
Lihat di Glossary
Waktu yang dihabiskan menerapkan animasi ke jaring berkelok-kelok.
batching Waktu yang dihabiskan geometri batching. Geometri dinamis batching jauh lebih intensif sumber daya daripada geometri statis batching.
render Waktu yang dihabiskan rendering objek yang terlihat.
fixed-update-count Jumlah minimal dan maksimum Perbarui Tetap dilaksanakan selama bingkai ini. Terlalu banyak Memperbarui Tetap akan memburuk kinerja.

Statistik skrip terperinci

Bagian scripting-scripts memberikan rincian rinci dari waktu yang dihabiskan kode executing di Mono runtime:

Property Function
update Total waktu yang dihabiskan mengeksekusi semua metode Update() dalam skrip.
fixedUpdate Total waktu yang dihabiskan mengeksekusi semua metode FixedUpdate() dalam skrip.
coroutines Waktu yang dihabiskan dalam koroutine skrip.

Statistik terperinci pada memori yang dialokasikan oleh skrip

Bagian scripting-memory memberi Anda ide tentang bagaimana memori dikelola oleh kolektor garbage Mono:

Property: Function:
allocated heap Jumlah memori yang tersedia untuk alokasi. Koleksi sampah memicu jika heap tidak memiliki cukup memori tersisa untuk alokasi tertentu. Jika ini tidak cukup memori gratis, heap yang dialokasikan akan tumbuh dalam ukuran.
used heap Bagian dari allocated heap yang saat ini digunakan oleh objek. Setiap kali Anda membuat instance kelas baru (tidak merusak), jumlah ini tumbuh sampai koleksi sampah berikutnya.
max number of collections Jumlah pengumpulan sampah melewati selama 30 bingkai terakhir.
collection total duration Total waktu (dalam mili detik) dari semua koleksi sampah melewati yang terjadi selama 30 frame terakhir.

Configuration

Pada iOS, profil internal dinonaktifkan secara default. Untuk mengaktifkannya, buka proyek Xcode Unity-generasi, pilih file InternalProfiler.h, dan ubah garis

#define ENABLE_INTERNAL_PROFILER 0

to

#define ENABLE_INTERNAL_PROFILER 1

Atau, akses iOS Pengaturan PemainPengaturan yang memungkinkan Anda mengatur berbagai pilihan khusus pemain untuk permainan akhir yang dibangun oleh Unity. More info
Lihat di Glossary
(menu: Edit > Project Settings > Player Settings, kemudian pilih iOS). Pada bagian Debugging and crash reporting, aktifkan pengaturan Enable Internal Profiler (Deprecated). Pastikan Development BuildMembangun pengembangan termasuk simbol debug dan memungkinkan Profiler. More info
Lihat di Glossary
diaktifkan pada Build Settings ketika Anda membangun aplikasi Anda.

Untuk menampilkan konsol output (GDB), pilih menu utama View > Debug Area > Activate Console dari Xcode, lalu jalankan proyek Anda. Unity kemudian output statistik ke jendela konsol setiap 30 bingkai.

Untuk mengaktifkan profiler internal di Android, mengakses Pengaturan Pemain Android (menu: Edit > Project Settings > Player Settings, kemudian pilih Android). Pada bagian Optimization, aktifkan pengaturan Enable Internal Profiler (Deprecated). Pastikan Development Build diaktifkan pada Build Settings ketika Anda membangun aplikasi Anda. Statistik kemudian akan ditampilkan di logcat ketika aplikasi Anda berjalan di perangkat. Untuk melihat logcat, pastikan adbJembatan Debug Android (ADB). Anda dapat menggunakan ADB untuk menyebarkan paket Android (APK) secara manual setelah bangunan. More info
Lihat di Glossary
atau Android Debug Bridge dipasang, dan kemudian menjalankan perintah shell adb logcat.

Optimasi spesifik iOS
Mengoptimalkan ukuran yang dibangun iOS Player