Profiler
Penanda Profiler Umum

Profil aplikasi Anda

Ketika Anda menggunakan Profiler Unity untuk profil aplikasi Anda, ada tiga cara utama untuk merekam data:

  • Profil aplikasi Anda di pemain di platform target Anda
  • Profil aplikasi Anda dalam mode Play di Editor Unity
  • Profil Editor Unity

Cara terbaik untuk mendapatkan waktu yang akurat tentang aplikasi Anda adalah untuk profil di platform akhir Anda berniat untuk mempublikasikannya. Ini memberi Anda waktu yang akurat tentang apa dampak kinerja aplikasi Anda.

Namun, dapat memakan waktu untuk membangun aplikasi Anda setiap kali Anda ingin meningkatkan elemen kinerjanya. Jadi, untuk dengan cepat menilai kinerja aplikasi Anda, Anda dapat mengaksesnya langsung dalam mode Play di Editor. Profil dalam mode Play tidak memberi Anda refleksi yang akurat tentang apa kinerja aplikasi Anda terlihat seperti pada perangkat nyata, tetapi ini adalah alat yang berguna untuk dengan cepat memeriksa apakah perubahan yang Anda buat meningkatkan kinerja aplikasi Anda, setelah awalnya memprofilkan di platform akhir.

Editor Unity mungkin mempengaruhi kinerja aplikasi Anda, karena menggunakan sumber daya yang sama dengan aplikasi Anda ketika berjalan dalam mode Play, sehingga Anda juga dapat profil Editor secara terpisah untuk menentukan sumber daya apa yang digunakan. Ini sangat berguna jika aplikasi Anda hanya telah dirancang untuk bekerja dalam mode Play, seperti untuk pembuatan film.

Sitemap Profil aplikasi Anda di platform target Profile your application on a target platform

Untuk profil aplikasi Anda pada platform rilis targetnya, hubungkan perangkat target ke jaringan Anda atau langsung ke komputer Anda melalui kabel. Anda juga dapat terhubung ke perangkat melalui alamat IP. Anda hanya dapat memprofilkan aplikasi Anda sebagai Development Build. Untuk mengatur up ini, pergi ke Build Settings (menu: File > Build Settings) dan pilih platform target aplikasi Anda. Aktifkan pengaturan Development Build. Ketika Anda mengaktifkan pengaturan ini, dua pengaturan yang terkait dengan Profiler menjadi tersedia: Autoconnect Profiler dan Deep Profiling Support.

Build Settings window with Profiling options enabled
Membangun jendela Pengaturan dengan opsi Profil diaktifkan

Ketika Anda mengaktifkan pengaturan Autoconnect Profiler, Editor Unity memanggang alamat IPnya ke dalam Pemain yang dibangun selama proses build. Ketika Anda memulai Pemain, upaya untuk terhubung ke Profiler di Editor yang terletak di alamat IP panggang.

Jika Anda mengaktifkan pengaturan Deep Profiling Support, Unity melakukan Profil ketika pemain yang dibangun dimulai, yang berarti bahwa profil Profiler setiap bagian dari kode Anda, dan tidak hanya kode waktu yang dibungkus secara eksplisit di ProfilerMarkers. Ini berguna untuk mendapatkan informasi Deep Profileing pada waktu mulai aplikasi Anda, namun, ini menambahkan sejumlah kecil overhead ke build Anda.

Menghubungkan ke Pemain Anda di jendela Profiler

Untuk menggunakan Profiler untuk menghubungkan secara manual ke platform yang menjalankan aplikasi Anda, mengkonfigurasi pengaturan di drop-down Attach to Player. Anda hanya bisa melakukan ini jika Autoconnect Profiler dinonaktifkan.

Untuk platform yang muncul di Lampiran ke Player drop-down harus memenuhi persyaratan berikut:

  • Platform ini terlihat pada jaringan lokal Anda atau langsung terhubung ke mesin lokal Anda dengan kabel.
  • Platform ini menjalankan pemain yang Anda bangun dengan opsi Development BuildMembangun pengembangan termasuk simbol debug dan memungkinkan Profiler. More info
    Lihat di Glossary
    diaktifkan. Untuk instruksi tentang cara mengaktifkan pengaturan ini untuk platform, lihat Profil aplikasi Anda di platform target.
  • Platform ini menjalankan Pemain Anda.

Drop-down Attach to Player menampilkan semua Pemain Unity yang Deteksi Unity melalui jaringan atau dengan koneksi langsung. Anda dapat mengidentifikasi Pemain ini oleh Player Name dan Product Name yang menjalankan Pemain (misalnya, “iPhonePlayer (My iPhone)”).

Anda juga dapat terhubung ke Pemain langsung melalui alamat IP. Untuk melakukan ini, pilih menu Attach to Player, lalu pilih <Enter IP> di dropdown. Dalam kotak dialog yang muncul, ketik alamat IP dan (opsional) port Pemain Anda ingin terhubung ke.

Untuk mengumpulkan informasi profil pada aplikasi Anda, pilih Pemain dari menu dropdown, lalu klik Record.

Untuk terus mengumpulkan data saat aplikasi Anda berjalan, aktifkan pengaturan Run In Background di Pengaturan Pemain (menu: Edit > Project Settings > Player > Resolution and Presentation). Ketika Anda mengaktifkan pengaturan ini, Profiler mengumpulkan data bahkan ketika Anda meninggalkan aplikasi Anda berjalan di latar belakang. Jika Anda menonaktifkannya, Profiler hanya mengumpulkan data ketika aplikasi berjalan di jendela aktif.

Menggunakan Lampiran ke bilah pencarian Pemain

Penurunan Attach to Player termasuk bilah pencarian yang dapat Anda gunakan untuk menemukan informasi tentang Pemain Anda. Anda dapat mencari berdasarkan kategori Player Name atau perangkat, misalnya Remote. Ketika Anda mencari kategori, hasilnya menampilkan semua perangkat dalam kategori itu.

Pilih nama pemain pengembangan untuk melihatnya di profiler.

Pasang ke properti Pemain

Setiap kolom memberikan informasi berikut tentang kapan tersedia:

Property: Description:
Player Name Nama perangkat yang menjalankan aplikasi Anda.

Untuk mengubah nama ini, arahkan ke Edit > Preferences > Analysis > 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
dan masukkan nama yang Anda inginkan di bidang Custom Connection ID.

Anda juga dapat mengatur nama Pemain yang ditetapkan ketika Anda meluncurkan Pemain dari baris perintah menggunakan argumen -connection-id.

Untuk informasi lebih lanjut tentang kategori di properti ini, lihat Kategori perangkat nama pemain
Product Name Ini adalah nilai lapangan yang Anda set di Project > PlayerSettings.
IP Alamat IP dari Pemain.
Port Pelabuhan Pemain.

Sitemap Kategori perangkat nama pemain Player name device categories

Kategori Player Name mencakup kategori berikut yang menampilkan informasi tentang jenis perangkat tertentu:

Property: Description:
Play Mode Pilih properti ini untuk profil aplikasi Anda dalam Mode Bermain.
Edit Mode Pilih properti ini untuk profil Editor Unity.
Local Daftar ini berisi perangkat apa pun yang berjalan di mesin lokal, di Editor Unity atau di pemain yang berdiri sendiri.

Ini juga menampilkan informasi untuk pemain yang terhubung secara fisik ke mesin host dengan kabel.
Remote Bagian ini menampilkan informasi untuk perangkat yang berjalan di jaringan lokal.

Bagian ini hanya muncul ketika Unity menemukan perangkat jarak jauh yang berjalan di jaringan lokal.
Connections without ID Bagian ini hanya muncul ketika Unity menemukan perangkat yang menjalankan pemain lebih tua dari Unity 2021.2. Login Pemain ini tidak memiliki informasi
, Product Name, atau IP.Port information.
Direct Connection Gunakan opsi ini untuk terhubung ke kombinasi IP dan port tertentu. Kategori ini menampilkan IP terbaru yang Anda terhubung ke.

Panduan profil spesifik platform

Platform yang berbeda berperilaku dengan cara yang berbeda ketika Anda menghubungkannya ke Profiler Unity. Bagian berikut memberikan panduan pada beberapa perilaku umum masing-masing platform memiliki:

WebGL

Anda dapat menggunakan Profiler Unity di WebGL, tetapi Anda tidak dapat melampirkan pemain yang berjalan yang dibangun dengan WebGL melalui Editor. Ini karena WebGL menggunakan WebSockets untuk komunikasi, yang tidak memungkinkan koneksi masuk di sisi browser. Untuk melampirkan pemain lari, Anda perlu mengaktifkan kotak cemen Autoconnect Profiler di Build Settings (menu: File > Build Settings). Unity tidak dapat menarik panggilan profil untuk WebGL.

Profil pada perangkat seluler

Kedua perangkat iOS dan Android mendukung profil jarak jauh melalui jaringan. Jika Anda menggunakan firewall, port terbuka 54998 ke 55511 dalam aturan outbound firewall Anda. Ini adalah port Penggunaan Unity untuk profil jarak jauh.

Kadang-kadang, ketika Anda mengatur profil jarak jauh, Editor Unity mungkin tidak terhubung secara otomatis ke perangkat. Jika ini terjadi, Anda dapat memulai koneksi Profiler secara manual. Untuk melakukan ini, pilih menu drop-down Attach to Player di jendela Profiler dan pilih perangkat yang tepat.

Anda juga dapat menghubungkan perangkat target langsung ke komputer Anda, untuk menghindari jaringan atau masalah koneksi.

Profil jarak jauh iOS

Untuk mengaktifkan profil jarak jauh pada perangkat iOS, ikuti langkah-langkah ini:

  1. Hubungkan perangkat iOS Anda ke jaringan WiFi Anda. Profiler menggunakan jaringan WiFi lokal untuk mengirim data profil dari perangkat Anda ke Editor Unity.
  2. Pasang perangkat Anda ke komputer Anda melalui kabel. Pergi ke Pengaturan Build (menu: File > Build Settings), mengaktifkan kotak cemen Development Build dan Autoconnect Profiler, kemudian pilih Build & Run.
  3. Ketika aplikasi peluncuran pada perangkat, buka jendela Profiler di Editor Unity (menu: Window > Analysis > Profiler).

Profil remote Android

Perangkat Android mendukung dua metode profil jarak jauh: melalui WiFi atau melalui Android Debug Bridge (adb).

Untuk profil WiFi, ikuti langkah-langkah ini:

  1. Data seluler yang dapat dinonaktifkan pada perangkat Android Anda.
  2. Hubungkan perangkat Android Anda ke jaringan WiFi Anda. Profiler menggunakan jaringan WiFi lokal untuk mengirim data profil dari perangkat Anda ke Editor Unity.
  3. Pasang perangkat Anda ke komputer Anda melalui kabel. Pergi ke Pengaturan Build (menu: File > Build Settings), mengaktifkan kotak cemen Development Build dan Autoconnect Profiler, kemudian pilih Build & Run.
  4. Ketika aplikasi peluncuran pada perangkat, buka jendela Profiler di Editor Unity (menu: Window > Analysis > Profiler).

Note: Perangkat Android dan komputer host yang menjalankan Editor Unity harus baik pada subnet yang sama untuk deteksi perangkat untuk bekerja.

Untuk profil Android Debug Bridge (adb), ikuti langkah-langkah ini:

  1. Pastikan perangkat berada dalam pengaturan Development mode dan mengaktifkan pengaturan USB debugging setting
  2. Pasang perangkat Anda ke komputer Anda melalui kabel dan pastikan bahwa itu menunjukkan dalam daftar perangkat adbJembatan Debug Android (ADB). Anda dapat menggunakan ADB untuk menyebarkan paket Android (APK) secara manual setelah bangunan. More info
    Lihat di Glossary
    .
  3. Pergi ke Pengaturan Build (menu: File > Build Settings), mengaktifkan kotak cemen Development Build, dan kemudian pilih Build & Run.
  4. Ketika aplikasi peluncuran pada perangkat, buka jendela Profiler di Editor Unity (menu: Window > Analysis > Profiler).
  5. Dari menu drop-down Attach to Player, pilih AndroidProfiler(ADB@127.0.0.1:34999). Masuk di menu drop-down hanya terlihat ketika target yang dipilih adalah Android.

Editor Unity secara otomatis membuat terowongan adb untuk aplikasi Anda ketika Anda memilih Build & Run. Jika Anda ingin profil aplikasi lain, atau Anda restart server adb, Anda perlu mengkonfigurasi terowongan ini secara manual. Untuk melakukan ini, buka jendela Terminal atau perintah prompt dan masukkan berikut:

  • Diperlukan ketika koneksi Editor-to-Android didirikan melalui kabel USB

    adb forward tcp:34999 localabstract:Unity-{insert bundle identifier here}

  • Diperlukan ketika koneksi Android-to-Editor didirikan melalui kabel USB

    adb reverse tcp:34998 tcp:34999

Untuk menggunakan Deep Profileing dengan build Android, Anda perlu mengaktifkan pengaturan backend Mono Scripting di Pengaturan Pemain Android (menu: Edit > Project Settings > Player > Android > Other Settings > ) dan masukkan berikut untuk memulai permainan melalui perintah adb:

~$ adb shell am start -n {insert bundle identifier here}/com.unity3d.player.UnityPlayerActivity -e 'unity' '-deepprofiling'

Profil remote OS Chrome Android

Unity tidak dapat secara otomatis menemukan perangkat OS Chrome. Untuk memulai koneksi, terhubung ke perangkat melalui Android Debug Bridge (adb) dengan alamat IP dan kemudian pilih <Enter IP> dari menu drop-down Attach to Player dan masukkan alamat IP perangkat. Setelah Anda terhubung, Anda dapat mengakses aplikasi Anda seperti biasa.

Profil di Editor Unity

Ketika Anda menggunakan jendela Profiler untuk menjalankan dan mengakses aplikasi Anda di Editor, hasilnya hanya perkiraan perilaku aplikasi Anda ketika platform target berjalan. Ini karena mode Play berjalan dalam proses yang sama seperti Editor, sehingga Anda tidak dapat sepenuhnya mengisolasi CPU aplikasi Anda, GPU, dan penggunaan memori dari penggunaan Editor Unity. Ini mengubah data profil yang dihasilkan.

Untuk mendapatkan hasil profil yang lebih baik, Anda harus selalu profil aplikasi Anda pada perangkat target, dan hanya profil di Editor untuk dengan cepat iterate atas masalah yang telah Anda mengidentifikasi pada perangkat.

Anda juga dapat profil dalam mode Play atau profil Editor untuk mengidentifikasi masalah yang tidak terkait dengan kinerja aplikasi Anda, seperti apakah waktu beban panjang atau editor yang tidak responsif memperlambat waktu iterasi, atau jika aplikasi Anda melakukan buruk dalam mode Play.

Kapan pun Anda profil di Editor, Anda harus memastikan bahwa Anda terbuka Bermain mode dalam pandangan maksimal, dan mengurangi jumlah jendela editor terbuka. Ini memastikan bahwa jendela Editor lain tidak menggunakan waktu pada benang render dan GPU, dan karenanya mempengaruhi data kinerja. Ketika Mode bermain berada dalam pandangan yang maksimal berjalan aplikasi Anda pada resolusi lebih dekat dengan perangkat target Anda, yang secara langsung mempengaruhi masalah kinerja seperti yang terkait dengan tingkat pengisian.

Profil dalam mode Play

Target default Profiler adalah mode Play, yang mencatat aktivitas ketika Editor menjalankan mode Play. Mode bermain profil berguna untuk menguji perubahan cepat tanpa harus membangun kembali pemain, tetapi Anda tidak boleh menggunakannya sebagai pengganti untuk memvalidasi build pada platform target aplikasi Anda dan perangkat. Ini karena mode Play berjalan dalam aplikasi yang sama dan benang utama sebagai Editor, yang berarti bahwa ketika Anda profil dalam mode Play, sistem Editor seperti UI(User Interface) Memungkinkan pengguna untuk berinteraksi dengan aplikasi Anda. Unity saat ini mendukung tiga sistem UI. More info
Lihat di Glossary
, InspectorsJendela Unity yang menampilkan informasi tentang Pengaturan GameObject yang dipilih saat ini, aset atau proyek, memungkinkan Anda untuk memeriksa dan mengedit nilai. More info
Lihat di Glossary
, 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
View rendering, dan manajemen aset mempengaruhi pengukuran profil kinerja dan memori aplikasi Anda.

Untuk profil efektif dalam mode Play, Anda harus secara teratur membuat build aplikasi Anda dan menyebarkannya ke berbagai perangkat target (baik perangkat spesifikasi tinggi dan rendah), dan menguji dan mencatat aplikasi Anda di perangkat ini. Jika Anda mengidentifikasi masalah kinerja dengan aplikasi Anda di perangkat ini, mempersempit daerah yang membutuhkan perhatian yang paling.

Anda kemudian dapat menprofilkan aplikasi Anda dalam mode Play dan cepat mengandalkan setiap perubahan yang Anda buat untuk aplikasi Anda. Anda dapat menggunakan informasi yang Anda dapatkan dari memprofilkan aplikasi Anda pada perangkat target untuk mengidentifikasi apakah ada perilaku serupa setelah memprofilkan aplikasi Anda dalam mode Play. Anda kemudian dapat membuat perubahan pada aplikasi dan profil Anda lagi dalam mode Play untuk dengan cepat melihat efek bahwa perubahan Anda dibuat. Setelah Anda puas dengan perubahan, membangun dan menyebarkan aplikasi Anda ke perangkat target lagi untuk memvalidasi perubahan Anda.

PlayerLoop dan sampel EditorLoop

Untuk mengurangi jumlah pengukuran kebisingan dan menyesatkan dalam data profil yang membuat Editor saat menjalankan mode Play, modul CPU dan GPU Profiler membagi waktu mereka ke dalam yang terjadi pada PlayerLoop dan mereka yang terjadi pada EditorLoop. Unity menetapkan Profiler samplesSatu set data yang terkait dengan penanda Profiler, bahwa Profiler telah mencatat dan dikumpulkan.
Lihat di Glossary
dari jenis ini dengan PlayerLoop and EditorLoop markers.

Ketika target Profiler Mode bermain, hanya mengumpulkan sampel waktu yang terjadi di dalam PlayerLoop.

Dikategorikan setiap sampel EditorLoop sebagai Others di Login Grafik modul profiler. Akibatnya, sampel EditorLoop adalah kontributor terbesar untuk kategori itu. Jika Anda ingin melihat apa yang dilakukan Editor dalam waktu ini dan juga mendapatkan rincian yang lebih rinci tentang apa yang berkontribusi pada kategori Others, mengubah target Profiler ke Editor.

Sitemap Jika Anda menggunakan mode Important:, dan target Play, memiliki dampak kinerja pada setiap panggilan fungsi yang terjadi di kedua PlayerLoop dan EditorLoop. Ini karena Deep Profileing kait ke awal dan akhir metode scripting apa pun yang disebut pada reload domain dan tidak mendeteksi bagian mana yang tidak pernah disebut dari PlayerLoop. Metode panggilan yang terjadi di EditorLoop tidak mengulang overhead penuh untuk membuat sampel, tetapi mereka masih memeriksa apakah mereka harus memancarkan satu, yang menyebabkan overhead yang lebih kecil tetapi masih ada.Profil, and target Play mode, it has a performance impact on every function call that happens in both PlayerLoop and EditorLoop. This is because Deep Profiling hooks into the beginning and end of any scripting method call on domain reload and it does not detect which parts are never called from the PlayerLoop. The method calls that happen in the EditorLoop don’t incur the full overhead of creating a sample, but they still check if they should emit one, which causes a smaller but still present overhead.

Profil Editor

Ketika Anda mengubah target Profiler ke Editor, semua sampel yang sebelumnya tersembunyi di bawah penanda EditorLoop berkontribusi pada kategori masing-masing. Ini berarti bahwa informasi dalam panel detail modul profiler CPU dan grafiknya berubah secara signifikan.

Untuk profil waktu startup Editor, mulai Editor dengan opsi baris perintah -profiler-enable.

Untuk mengurangi dampak bahwa jendela Profiler memiliki kinerja Editor, Anda dapat menggunakan Profiler Standalone, yang membuka jendela Profiler dalam prosesnya sendiri. Ini sangat berguna jika Anda memilih Editor sebagai target profil, atau Profil dalam aplikasi Anda, karena jendela Profiler sendiri biasanya menggunakan sumber daya yang mungkin skew data kinerja.

Praktik terbaik untuk menprofilkan aplikasi Anda

Ketika Anda mengakses aplikasi Anda, ada beberapa hal yang dapat Anda lakukan untuk memastikan konsistensi di sesi profil, dan untuk memastikan bahwa proses yang menggunakan Unity tidak mempengaruhi data profil Anda:

  • Hanya tambahkan Modul profiler yang terkait dengan area yang ingin Anda perjualkan ke jendela Profiler. Untuk menambahkan dan menghapus modul ke Profiler, pilih drop-down di kiri atas jendela Profiler.
  • Hindari menggunakan Deep Profileing, karena menciptakan overhead tinggi ketika Anda menggunakannya. Jika Anda ingin melihat lebih detail tentang sampel dengan penanda seperti GC. Sitemap Lengkap, arahkan ke jendela Profiler toolbarSe baris tombol dan kontrol dasar di bagian atas Editor Unity yang memungkinkan Anda untuk berinteraksi dengan Editor dengan berbagai cara (misalnya scaling, terjemahan). More info
    Lihat di Glossary
    dan mengaktifkan Pengaturan Stack panggilan. Ini menyediakan tumpukan panggilan penuh sampel, yang memberi Anda informasi yang Anda butuhkan tanpa mengeluarkan overhead Deep Profileing.
  • Tentukan pengaturan Live jika Anda tidak perlu melihat Hierarchy atau Timeline melihat updating sebagai Profiler mengumpulkan data. Hentikan rekaman untuk melihat pembaruan data ke jendela.
  • Gunakan shortcut F9 untuk mengaktifkan atau menonaktifkan Profiler. Anda dapat menggunakan shortcut ini untuk menangkap data kinerja tanpa jendela Profiler perlu terbuka. Jika Anda memiliki Standalone Profileer terbuka, menggunakan shortcut ini mulai rekaman di jendela ini.

  • Menambahkan Dukungan Profil Dalam NewIn20193
Profiler
Penanda Profiler Umum