Penjadwalan tugas

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

Penjadwal tugas mengoordinasikan tugas-tugas yang dilakukan di setiap frame saat permainan berjalan, bahkan ketika permainan dijeda. Tugas-tugas ini termasuk mendeteksi input pemain, menganimasikan karakter, memperbarui simulasi fisika, dan melanjutkan skrip dalam keadaan task.wait().

Meskipun mungkin ada beberapa tugas yang berjalan, penjadwal tugas dapat berpotensi menjadi terlalu banyak beban, terutama dalam situasi berikut:

  • Menggunakan rig karakter atau skema input kustom.
  • Menganimasikan bagian sendiri (alih-alih menggunakan Animator).
  • Bergantung secara berat pada fisika yang tepat.
  • Menggandakan objek secara teratur.

RunService

Cara paling langsung untuk menambah tugas per frame adalah melalui anggota berikut dari RunService:

Prioritas penjadwal

Penjadwal tugas mengkategorikan dan menyelesaikan tugas dalam urutan berikut. Beberapa tugas mungkin tidak melakukan pekerjaan dalam suatu frame, sementara yang lain mungkin dijalankan beberapa kali.

* Eksekusi skrip selama RunService.Heartbeat berbeda tergantung pada pengaturan Workspace.SignalBehavior permainan Anda. Lihat Event Tertunda.

Praktik terbaik

Untuk membangun permainan yang berkinerja baik dengan efisiensi dalam pikiran, perhatikan hal-hal berikut:

  • Jangan menghubungkan/mengikat fungsi ke langkah render kecuali benar-benar diperlukan. Hanya tugas yang harus dilakukan setelah input tetapi sebelum rendering yang harus dilakukan dengan cara seperti itu, seperti pergerakan kamera. Untuk kontrol yang ketat atas urutan, gunakan BindToRenderStep() alih-alih PreRender.

  • Kelola keadaan fisik dengan hati-hati. PreSimulation terjadi sebelum fisika, sedangkan PostSimulation terjadi setelah fisika. Oleh karena itu, logika gameplay yang mempengaruhi keadaan fisika harus dilakukan di PreSimulation, seperti menetapkan Velocity bagian. Sebaliknya, logika gameplay yang bergantung pada atau bereaksi terhadap keadaan fisika harus ditangani di PostSimulation, seperti membaca Position bagian untuk mendeteksi kapan mereka memasuki zona yang ditentukan.

  • Perubahan transformasi Motor6D harus dilakukan pada event PreSimulation. Jika tidak, Animators akan menimpa perubahan pada frame berikutnya. Bahkan tanpa Animator, PreSimulation adalah event Luau terakhir yang dipicu sebelum Motor6D.Transform diterapkan pada posisi bagian.

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