MicroProfiler

*Konten ini diterjemahkan menggunakan AI (Beta) dan mungkin mengandung kesalahan. Untuk melihat halaman ini dalam bahasa Inggris, klik di sini.

MicroProfiler adalah alat optimisasi kinerja dan pemecahan masalah di Roblox Studio dan klien Roblox. Ini memberikan informasi waktu yang terperinci dan visual untuk semua tugas engine yang berjalan selama sebuah bingkai, seperti menganimasi karakter, memperbarui fisika, menjalankan skrip, dan merender geometri. Anda dapat mengidentifikasi tugas mana yang dijalankan selama bingkai mana, berapa lama tugas ini berjalan, dan apakah ada yang menyebabkan Anda melewatkan tujuan waktu bingkai Anda.

Waktu bingkai

Untuk menggunakan MicroProfiler, Anda harus memahami hubungan antara waktu bingkai dan laju bingkai.

  • Waktu bingkai adalah berapa lama sebuah bingkai dibutuhkan untuk dirender di layar, biasanya diukur dalam milidetik.
  • Laju bingkai adalah jumlah bingkai yang dirender di layar, biasanya diukur dalam bingkai per detik (FPS).

Waktu bingkai yang lebih rendah berarti laju bingkai yang lebih tinggi. Bagi 1.000 milidetik (1 detik) dengan waktu bingkai untuk mendapatkan laju bingkai.

Waktu bingkai rata-rataBingkai per detik
33,33 ms30 FPS
16,67 ms60 FPS
8,33 ms120 FPS
4,17 ms240 FPS

Namun, untuk permainan yang mulus, tidak cukup hanya memiliki laju bingkai yang tinggi. Anda memerlukan waktu bingkai yang konsisten. Misalnya, jika 59 bingkai tiba dalam 10 milidetik dan satu bingkai dalam 410 milidetik, pemain merasakan guncangan yang besar dan mencolok, meskipun permainan berjalan pada 60 FPS. Jika semua bingkai memerlukan waktu yang lebih kurang sama untuk dirender, permainan Anda akan terasa lebih halus karena konsistensi itu, terutama pada laju bingkai yang lebih rendah.

MicroProfiler sepenuhnya berfokus pada waktu bingkai. Tujuannya adalah untuk membantu Anda mengidentifikasi lonjakan waktu bingkai dan apa yang menyebabkannya.

Buka MicroProfiler

Membuka MicroProfiler bervariasi tergantung pada platform:

  • Di klien mobile, buka menu Pengaturan dan ubah MicroProfiler ke Aktif. Kemudian dari mesin pengembangan pada jaringan yang sama, gunakan browser web Anda untuk menavigasi ke alamat IP dan port yang disediakan.

    Antarmuka MicroProfiler di mobile.

    Tangkapan layar ini menunjukkan alamat IP 172.18.56.105 dan port 1338, jadi Anda menavigasi ke 172.18.56.105:1338. Bergantung pada konfigurasi jaringan perangkat Anda, Anda mungkin melihat beberapa alamat IP. Jika satu tidak berfungsi, coba yang berikutnya.

  • Di klien desktop, tekan CtrlF6 (F6).

  • Di Studio, tekan CtrlF6 (F6).

Secara umum, klien mobile adalah tempat terbaik untuk memprofil permainan Anda. Kebanyakan pemain di Roblox menggunakan ponsel dan tablet, dan perangkat ini memiliki batasan termal dan daya yang parah yang membatasi kinerjanya. Jika permainan Anda berjalan baik di tablet Android menengah, hampir pasti performanya jauh lebih baik di desktop gaming.

Dasar-dasar MicroProfiler

MicroProfiler memiliki dua komponen kunci: grafik batang waktu bingkai dan timeline tugas terperinci.

  • Grafik waktu bingkai berjalan di sepanjang bagian atas antarmuka dan menunjukkan berapa lama setiap bingkai dibutuhkan untuk dirender. Batang yang lebih tinggi berarti waktu bingkai yang lebih lama.
  • Timeline menunjukkan semua tugas individu yang berjalan selama bingkai. Batang yang lebih lebar mewakili tugas yang memerlukan waktu lebih lama untuk dijalankan.

Alur kerja yang tipikal di MicroProfiler adalah menggunakan grafik waktu bingkai untuk mengidentifikasi lonjakan (batang yang lebih tinggi) dan kemudian menggunakan timeline untuk mengidentifikasi tugas mana yang menyebabkan lonjakan tersebut. Kemudian Anda dapat memeriksa Referensi Tag untuk informasi tentang tugas tersebut dan cara meningkatkan kinerjanya.

Contoh lonjakan waktu bingkai.

Grafik waktu bingkai

Tinggi setiap batang menunjukkan jumlah milidetik yang dibutuhkan untuk menyelesaikan bingkai. Bingkai terbaru berada di sebelah kanan. Arahkan kursor ke atas bingkai untuk mendapatkan informasi dasar tentang penggunaan CPU dan GPU.

Grafik bingkai Microprofiler, menunjukkan bingkai biru dan informasi bingkai yang terperinci.
  • Batang oranye adalah bingkai di mana Waktu Dinding Pekerjaan melebihi Waktu Dinding Render. Dalam bingkai ini, setidaknya satu dari utasan pekerja, yang melakukan hal-hal seperti menjalankan skrip, menghitung fisika, dan memutar animasi, memerlukan waktu lebih lama untuk dijalankan daripada utasan render utama.

    Jika permainan tidak mencapai tujuan waktu bingkai Anda dan memiliki sejumlah besar bingkai oranye, penyebab umum adalah skrip, fisika, dan animasi. Lihat Tingkatkan kinerja.

  • Batang biru adalah bingkai di mana Waktu Dinding Render melebihi Waktu Dinding Pekerjaan. Dalam bingkai ini, utasan render utama memerlukan lebih banyak waktu daripada utasan pekerja mana pun.

    Jika permainan tidak mencapai tujuan waktu bingkai Anda dan memiliki sejumlah besar bingkai biru, itu menunjukkan adanya bottleneck render. Penyebab umum adalah kepadatan objek yang berlebihan, pergerakan objek, dan pencahayaan. Lihat Tingkatkan kinerja.

  • Batang merah adalah bingkai di mana dua kondisi benar:

    • Waktu Dinding Render melebihi Waktu Dinding Pekerjaan
    • Waktu Tunggu GPU lebih besar dari 2,5 milidetik

    Batang merah kurang umum dibandingkan batang oranye dan biru dan sering kali merupakan hasil dari kompleksitas objek yang berlebihan, ukuran tekstur, dan efek visual. Optimasi mirip dengan batang biru. Lihat Tingkatkan kinerja.

Tugas kecil di akhir bingkai kadang-kadang dapat mengganggu Waktu Dinding Pekerjaan dan Waktu Dinding Render, yang merupakan alasan yang bagus untuk lebih fokus pada waktu bingkai daripada warna bingkai. Tidak ada "warna baik" yang dicari. Campuran dari oranye, biru, dan merah bukanlah masalah selama Anda mencapai tujuan waktu bingkai Anda. Jika Anda tidak mencapai tujuan waktu bingkai Anda, warna dapat menunjukkan di mana Anda harus mengoptimalkan.

Timeline

  • Klik kiri dan seret untuk memindahkan timeline. Di mesin dengan banyak inti CPU, Anda mungkin perlu memindahkan ke atas atau ke bawah cukup jauh untuk menemukan utasan yang melakukan tugas tertentu.

    Sisi kiri tampilan terperinci Microprofiler, dengan baris untuk utasan.
  • Menggulir memperbesar timeline masuk dan keluar. Dipadukan dengan label milidetik di bagian atas timeline, Anda dapat mendapatkan gambaran berapa lama sebuah tugas berlangsung dalam arti absolut, tetapi juga berapa lama berlangsung relatif terhadap tugas lainnya.

    Tampilan terperinci Microprofiler dengan banyak label horizontal.
  • Overlay hijau pada grafik batang menunjukkan jumlah bingkai yang saat ini terlihat di timeline—level zoom Anda. Klik kiri pada batang bingkai untuk melompat ke posisi tersebut di timeline.

    Anda mungkin perlu menyesuaikan level zoom Anda, tetapi mengarahkan kursor ke atas batang menyoroti bingkai di timeline. Garis abu-abu terang membatasi bingkai.

    Grafik batang MicroProfiler dengan overlay hijau untuk menunjukkan level zoom.
  • Label yang muncul tepat di bawah label lain menunjukkan tugas yang dilakukan sebagai bagian dari tugas tingkat yang lebih tinggi.

    Alih-alih tugas induk, Anda biasanya ingin membongkar tugas anak yang berkinerja terburuk; tugas induk tidak bisa lebih pendek dari jumlah waktu tugas anaknya.

  • Klik kanan pada label untuk memperbesar timeline ke durasi tepat dari tugas tersebut.

  • Jika jumlah informasi terlalu banyak, gunakan menu Grup atau Utasan untuk memfilter timeline. Misalnya, Anda mungkin hanya ingin melihat tugas Render di utasan utama.

    Tampilan saat hover pada label, dengan Grup yang disorot.
  • Gunakan CtrlF (F) untuk melompat ke peristiwa dari tugas yang memakan waktu paling lama dalam dump. Misalnya, computeLightingPerform berjalan di setiap bingkai klien. Jika Anda mencarinya dalam dump dengan 128 bingkai, Anda dapat melompat ke bingkai di mana ia memerlukan waktu terlama untuk diselesaikan.

Utasan

Seperti banyak program, Roblox menggunakan beberapa utasan untuk melakukan rangkaian tugas secara bersamaan. MicroProfiler menampilkan nama utasan di sisi kiri timeline.

Sisi kiri tampilan terperinci Microprofiler, dengan baris untuk utasan.

Ada tiga jenis utasan penting:

  • Utasan Utama ("RBX Main"): Mengelola tugas rendering berbasis CPU. Memproses input, Humanoids, animasi/penyebaran, kepemilikan fisika, suara, dan menunggu skrip untuk dilanjutkan. Juga memperbarui antarmuka Studio dan mengoordinasikan utasan lainnya.

  • Utasan Pekerja ("RBX Worker"): Membantu utasan utama dengan jaringan, fisika, dan pencarian jalur. Karena jumlah inti dalam CPU modern, Anda kemungkinan memiliki banyak utasan pekerja, yang sebagian besar dalam keadaan tidur pada waktu tertentu.

  • Render ("GPU"): Mengikuti logika "persiapkan, lakukan, hadir". Berkomunikasi dengan unit pemrosesan grafis (GPU) dari perangkat.

    • Persiapkan: Informasi dari utasan utama digunakan untuk memperbarui model rendering.
    • Lakukan: Mengeluarkan perintah rendering, termasuk antarmuka 2D.
    • Hadir: Mensesuaikan dengan GPU.

Profil skrip khusus

Jika skrip Anda menjalankan tugas yang rumit, Anda dapat memprofil bagian kritis dari kode untuk memastikan bahwa mereka tidak memakan waktu terlalu lama. Bungkus kode dengan debug.profilebegin() dan debug.profileend() untuk menghitung semua yang dilakukan antara panggilan fungsi tersebut dan membuat label di timeline MicroProfiler.

local RunService = game:GetService("RunService")
local function onPreSimulation()
debug.profilebegin("Pekerjaan Keras")
-- Contoh pekerjaan keras: menukar dua variabel 200.000 kali
local a, b = 0, 1
for _ = 1, 200000 do
a, b = b, a
end
debug.profileend()
end
RunService.PreSimulation:Connect(onPreSimulation)
Banyak label di MicroProfiler, dengan label khusus yang memakan sebagian besar waktu pemrosesan.

Dari durasinya di timeline, Anda dapat melihat bahwa fungsi ini menggunakan banyak waktu pemrosesan dibandingkan tugas lainnya.

Analisis tangkapan dengan Asisten

Di Studio, Anda dapat meminta Asisten untuk secara otomatis menganalisis tangkapan MicroProfiler yang dijeda, mengidentifikasi bottleneck kinerja, dan mengusulkan perbaikan.

  1. Di Studio, buka MicroProfiler dengan CtrlF6 (F6).
  2. Ketika Anda melihat lonjakan waktu bingkai, jeda tangkapan dengan menekan Jeda di menu atas atau menggunakan CtrlP (P).
  3. Buka Asisten dan minta untuk menganalisis tangkapan tersebut. Contoh permintaan termasuk:
    • "Saya telah menangkap lonjakan waktu bingkai di MicroProfiler—analisalah."
    • "Apa yang menyebabkan lonjakan tersebut?"
    • "Apakah ini dibatasi oleh fisika atau skrip?"
    • "Kategori mana yang memiliki waktu eksklusif tertinggi?"
    • "Ketika saya berada di hanggar, FPS turun. Reproduksi masalah, gunakan MicroProfiler untuk menemukan penyebabnya, perbaiki, dan uji ulang."

Asisten membaca tangkapan yang dijeda melalui API MicroProfiler dan mengembalikan laporan tentang kemungkinan bottleneck, junto dengan usulan perubahan skrip atau adegan yang dapat Anda terapkan.

Fungsionalitas ini juga bekerja melalui server Studio MCP, sehingga Anda dapat mengintegrasikan analisis MicroProfiler ke dalam agen AI Anda sendiri atau loop agentik untuk mendapatkan umpan balik otomatis tentang bagaimana perubahan baru mempengaruhi kinerja permainan Anda.

Simpan data bingkai

Jika Anda ingin menyimpan sekumpulan data bingkai untuk ditinjau nanti (atau untuk dibagikan dengan orang lain), gunakan tombol Simpan ke file. MicroProfiler menyimpan data bingkai ke dalam file HTML mandiri bernama microprofile-<tanggal>-<waktu>.html.

Tombol simpan ke file di antarmuka web.

Di klien desktop atau di Studio, gunakan menu Dump. Dalam kedua kasus, MicroProfiler secara otomatis menyimpan file ke direktori log Roblox:

  • Di Windows, periksa %LOCALAPPDATA%\Roblox\logs.

    Jika Anda menggunakan aplikasi Universal Windows Platform (UWP), periksa \Users\<username>\AppData\Local\Packages\ROBLOXCORPORATION.ROBLOX_<hash>\LocalState\logs\.

  • Di macOS, periksa ~/Library/Logs/Roblox.

Profil server

Selain memprofil klien, Anda dapat menangkap dump singkat aktivitas server:

  1. Di klien desktop, bergabunglah dengan permainan yang Anda miliki izin editnya.

  2. Buka Konsol Pengembang dengan CtrlF9 (F9).

  3. Di menu dropdown, pilih MicroProfiler.

  4. Di tab Server, tentukan jumlah bingkai yang akan ditangkap (maksimum 60) dan jumlah detik untuk menunda sebelum memulai tangkapan (maksimum 4).

  5. Klik Mulai perekaman server.

    Layar MicroProfiler Konsol Pengembang.

    Setelah beberapa detik, Konsol Pengembang memberikan jalur ke file tersebut, yang merupakan jalur yang sama seperti dump standar.

Fitur hanya web

MicroProfiler memiliki dua antarmuka pengguna: antarmuka web (mobile dan dump) dan antarmuka desktop (klien dan Studio). Kami menyarankan untuk menggunakan antarmuka web setiap kali memungkinkan. Secara umum, kedua antarmuka ini bekerja dengan cara yang mirip, tetapi antarmuka web memiliki beberapa fitur tambahan:

  • Gunakan menu X-Ray untuk mengaktifkan atau menonaktifkan pengkodean warna untuk alokasi memori.

    Tampilan web MicroProfiler dengan x-ray diaktifkan.
    • Bingkai yang lebih terang di dalam grafik batang utama menunjukkan alokasi memori yang lebih tinggi.
    • Bagian yang lebih terang dari grafik pratinjau dan label yang lebih terang di timeline menunjukkan bagian bingkai dengan alokasi memori yang lebih tinggi.
    • Dalam mode X-ray, tekan C untuk menunjukkan ukuran total alokasi memori daripada jumlah alokasi.
  • Gunakan menu Ekspor untuk mengekspor grafik api atau memori, visualisasi khusus yang mengagregasi semua tumpukan panggilan yang termasuk dalam dump, mempertahankan hierarki induk-anak, dan ukuran berdasarkan durasi. Grafik api sangat berguna untuk mengidentifikasi tugas yang tidak menyebabkan Anda melewatkan tujuan waktu bingkai Anda (dan karena itu sulit untuk diperhatikan), tetapi berjalan begitu sering sehingga waktu pemrosesannya menjadi signifikan.

    Grafik api MicroProfiler di antarmuka web.

    Anda juga dapat membuat grafik api di Studio, meskipun hanya untuk skrip (waktu eksekusi dan alokasi memori). Dibandingkan dengan grafik api berbasis web, yang ada di Studio adalah dari atas ke bawah daripada dari bawah ke atas dan mendukung waktu tangkapan yang secara dramatis lebih lama.

    Grafik api MicroProfiler di Studio.
  • Seret dan jatuhkan file dump kedua ke antarmuka web untuk menghasilkan grafik api diff, yang dapat membantu Anda mengidentifikasi perbaikan atau regresi pada kinerja permainan Anda dari waktu ke waktu. Klik Gabungkan & Bandingkan untuk mengekspor file HTML baru.

    Pembuat grafik api diff MicroProfiler menunjukkan sisi kiri dan kanan.

    Grafik api diff menyoroti dump (kiri atau kanan) yang mengkonsumsi lebih banyak CPU atau memori, dengan warna yang lebih cerah menunjukkan perbedaan yang lebih besar.

    Grafik api diff MicroProfiler.

Fitur hanya desktop

Di timeline desktop, klik kiri pada label untuk menambahkannya ke grafik garis di sudut kanan bawah. Grafik menunjukkan waktu yang dibutuhkan tugas setiap bingkai. Menggunakan grafik ini, Anda dapat menguji kinerja hanya tugas tertentu dalam permainan Anda. Ketika Anda selesai, klik kanan grafik untuk menyembunyikannya.

Grafik menunjukkan berapa lama tugas per bingkai.

Grafik ini disinkronkan dengan batang profiler utama. Rentang bingkai yang saat ini dipilih disorot dengan hijau di grafik. Anda juga dapat mengklik di mana saja pada grafik ini untuk memusatkan tampilan profiler utama ke bingkai tertentu tersebut, yang sangat membantu untuk menemukan lonjakan pada tampilan terperinci.

©2026 Roblox Corporation. Roblox, logo Roblox, dan Powering Imagination termasuk dalam merek dagang kami yang terdaftar dan tidak terdaftar di AS dan negara lainnya.