Mengidentifikasi masalah kinerja umumnya berarti mengecewakan satu dari tiga kategori: tingkat frame (menghitung), memori, atau waktu pemuatan.
Roblox memiliki beberapa alat untuk mengidentifikasi masalah kinerja, beberapa di antaranya tersedia di klien Roblox (dan oleh karena itu Studio) dan beberapa di antaranya hanya tersedia di Studio. Di mana Anda dapat mengamati perilaku klien secara langsung, Anda harus menggunakan alat untuk mendiagnosis masalah server.
Alat Diagnosis
Alat | Deskripsi | Lokasi | Tempat pintas keyboard | Latar belakang |
Konsol Pengembang | Konsol dengan pesan log yang nyata, kesalahan, dan informasi rinci tentang memori, jaringan, dan pelaksanaanskrip. Ini berguna untuk melihat konsum memori, kesehatan server kunci, dan statistik kinerja skrip. Ini juga berguna untuk meluncurkan client atau server MicroProfiler. | Studio | F9 | Sesi langsung, Studio pengujian |
MikroProfiler | Alat debug yang menunjukkan berapa banyak waktu komputasi yang dibutuhkan untuk setiap frame. Ini dapat menghasilkan dumps untuk analisis yang menunjukkan pemecahan rinci dari setiap frame, membuatnya berguna untuk mengidentifikasi masalah tertentu yang menyebabkan masalah kinerja. Anda dapat menjalankan profiler di klien atau server, tergantung pada sisi mana yang memiliki masalah. | Dalam pengalaman | Ctrl Alt F6 ( ⌘ 1> ⌥1> 3> F63> ) | Sesi langsung, Studio pengujian |
Statistik Kinerja Bar | Toolbar dengan statistik kinerja dasar, termasuk penggunaan memori, CPU,GPU, data jaringan yang dikirim dan diterima, dan waktu ping. | Dalam pengalaman | Ctrl AltF7 ( ⌘ 0> ⌥0> 2> F72> ) | Sesi langsung, Studio pengujian |
Statistik Debug | Overlays dengan informasi rinci tentang grafis, fisika, lalu lintas jaringan, dan FPS. | Dalam pengalaman | Shift F1 , ShiftF2 , 1> Shift1> 3> F43> , 6> Shift6> 9> F59> | Sesi langsung, Studio pengujian |
Dashboard Kinerja | Dashboard dengan grafik agregat untuk penggunaan klien dan server, beri ratingframe klien, detak jantung server, dan tingkat kejatuhan di waktu nyata. Ini berguna untuk menganalisis pola kinerja saat berjalan. Lihat Mengawasi Kinerja . | Dasbor Kreator | Tidak ada | Sesi langsung |
Komputasi Server
Detak jantung server di batasi pada 60 FPS untuk semua pengalaman, jadi nilai yang lebih rendah mungkin menunjukkan masalah kinerja. Untuk memeriksa detak jantung server:
Dengan Developer Console - di tab Job Server , ekspansi Heartbeat baris dan periksa nilai 1> Steps Per Sec1>, yang mewakili jantung batu Anda.
Dengan server MicroProfiler - Lihat panjang setiap frame untuk melihat apakah beberapa lebih lama dari 16,67 ms.
Gejala lain dari degraded server heartbeat adalah meningkatnya latensi ( biasanya dikenal sebagai ping). Semakin panjang server membutuhkan untuk menyelesaikan tugas-tugasnya setiap frame, semakin panjang waktu pemrosesan data jaringan dari klien. Untuk memeriksa rata-rata ping untuk semua pemain yang terhubung ke server, pergi ke tab Statistik Server di Konsol P
Komputasi Klien
Batas tingkat klatukan klien default adalah 60 FPS. Namun, pengguna dapat meningkatkan batas tingkat klatukan mereka hingga 240 FPS.
Tingkat frame berbeda secara liar antara perangkat. Misalnya, PC berkeping-kepingan tinggi mungkin dapat "menyerang kekuatan" masalah komputasi dan hanya mengalami tingkat frame yang tidak terdeteksi. Jika Anda menguji di perangkat low-end, masalah cenderung lebih parah dan dapat dengan mudah dikenali.
Untuk memeriksa tingkat frame pengalaman Anda:
Di klien, tekan ShiftF5 untuk menunjukkan ringkasandebug.
Di tab Studio Pandangan , pilih Statistik > Ringkasan untuk mengaktifkan statistik debug.
Dengan MicroProfiler, Anda dapat memeriksa grafik untuk melihat apakah frame lebih lama dari 16,67 ms.
Memori
Ada beberapa cara untuk memeriksa penggunaan memori untuk pengalaman:
- Buka Konsol Pengembang dan beralih ke tab Memori . Tab ini memberikan deskripsi tentang cara memori dialokasi. Gunakan klien daripada Studio untuk mendapatkan readout yang paling akurat.
- Aktifkan Statistik Kinerja tampilan dari menu pengaturan di klien untuk melihat overlay dengan total penggunaan memori klien.
Penggunaan memori tinggi tidak selalu menunjukkan masalah, tetapi beberapa indikasi bahwa Anda mungkin perlu menyelidiki lebih lanjut adalah:
- Sebagian besar persentase klien yang menunjukkan dalam Dashboard Kinerja , khususnya tik ting tiba-tiba yang sesuai dengan pembaruan. Beberapa tik ting mengharapkan, tetapi Anda harus menyelidiki apakah tingkat klien Anda meningkat di atas 2-3%.
- Kecelakaan terjadi saat Anda menguji di perangkat yang ingin Anda dukung.
- Penggunaan memori server Anda melebihi 3 GB.
Sebagian besar dari konsumsi memori pengalaman di klien berasal dari aset, seperti gambar dan meshes, yang dimuat ke dalam memori grafis sehingga mereka dapat dipanggil. Di Konsol Pengembang , Anda dapat melihat memori grafis yang dikonsumsi oleh aset di bawah label berikut:
- GraphicsMeshParts - Grafis memori yang dikonsumsi oleh meshes.
- TextureGraphics - Texture memory yang dikonsumsi oleh teksur.
Waktu Pemuatan
Tidak ada alat bawaan untuk memeriksa waktu pemuatan, tetapi karena mereka tidak memerlukan ketepatan tingkat milidetik, stopwatch biasanya hanya semua yang Anda butuhkan untuk memahami basis Anda saat ini dan memeriksa apakah Anda melakukan peningkatan substansial. Anda dapat menggunakan skrip klien di ReplicatedFirst untuk mendap
local startTime = os.clock()
game.Loaded:Connect(function()
local loadTime = os.clock() - startTime
local roundedLoadTime = math.round(loadTime * 10000) / 10000 -- empat tempat desimal
print("Game loaded in " .. roundedLoadTime .. " seconds.")
print("Number of instances loaded: " .. #game.Workspace:GetDescendants())
end)
Untuk wawasan tambahan, aktifkan Pengaturan Studio > Jaringan > Mencetak Penyambung Hubungan antara Instans saat Anda memulai pengalaman di Studio.