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.
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). |
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. |
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. |
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. |
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. |
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
.