Planificateur d'objectifs

*Ce contenu est traduit en utilisant l'IA (Beta) et peut contenir des erreurs. Pour consulter cette page en anglais, clique ici.

Le calendrier des tâches coordonne les tâches terminées à chaque frame, même quand le jeu est en pause. Ces tâches incluent la détection de l'entrée du joueur, l'animation des personnages, la mise à jour de la simulation physique et la reprise des scripts dans un état wait().

Bien qu'il puisse y avoir plusieurs tâches en cours d'exécution, le calendrier des tâches peut potentiellement être surchargé, surtout dans les situations suivantes :

  • Utiliser un équipement de personnage personnalisé ou un schéma d'entrée.
  • Animations de parties vous-même (au lieu d'utiliser un Animator )).
  • En fonction de la physique précise.
  • Répliquer des objets régulièrement.

Frames

Un cadre est une unité de la logique de jeu où le travail est terminé. Chaque cadre doit effectuer des tâches efficacement, ce qui donne plus de cadres par seconde et une expérience de joueur plus souple.

Exécuter le service

La manière la plus directe d'ajouter des tâches de jeu par cadre est via les membres suivants de RunService :

Priorité de la file d'attente

Le calendrier des tâches catégorise et termine les tâches dans l'ordre suivant. Certaines tâches peuvent ne pas exécuter le travail dans un cadre, tandis que d'autres peuvent s'exécuter plusieurs fois.

Meilleures pratiques

Pour construire des jeux performants avec efficacité, tenez compte des points suivre:

  • Ne connectez/liez pas les fonctions au rendu à moins qu'il ne soit absolument nécessaire. Seuls les tâches qui doivent être exécutés après l'entrée mais avant le rendu doivent être exécutés de cette façon, comme le mouvement de la caméra. Pour le contrôle strict de l'ordre, utilisez Class.RunService:BindToRenderStep()|BindToRenderStep() au lieu de Class.RunService.PreRender|PreRender .

  • Minimisez le nombre de scripts d'attente. Évitez d'utiliser while wait() do end ou while true do wait()

  • Les transformations de moteur 6D devraient être effectuées sur l'événement PreSimulation. Si vous ne le faites pas, Animators écrasera les modifications sur la prochaine fenêtre. Même sans un Animator, 0> Class.RunService.PreSimulation|