Agendador de tarefas

*Este conteúdo é traduzido por IA (Beta) e pode conter erros. Para ver a página em inglês, clique aqui.

O agendador de tarefas coordena as tarefas executadas em cada quadro enquanto o jogo roda, mesmo quando está pausado. Essas tarefas incluem detectar a entrada do jogador, animar personagens, atualizar a simulação física e retomar scripts em um estado de task.wait().

Embora possa haver várias tarefas em execução, o agendador de tarefas pode potencialmente ficar sobrecarregado, especialmente nas seguintes situações:

  • Usar uma rig de personagem ou esquema de entrada personalizado.
  • Animar partes você mesmo (em vez de usar um Animator).
  • Depender fortemente de física precisa.
  • Replicar objetos regularmente.

RunService

A maneira mais direta de adicionar tarefas quadro a quadro é através dos seguintes membros de RunService:

Prioridade do agendador

O agendador de tarefas categoriza e completa as tarefas na seguinte ordem. Algumas tarefas podem não realizar trabalho em um quadro, enquanto outras podem ser executadas várias vezes.

* A execução de scripts durante RunService.Heartbeat difere dependendo da configuração de Workspace.SignalBehavior do seu jogo. Veja Eventos diferidos.

Melhores práticas

Para construir jogos eficientes com desempenho em mente, observe o seguinte:

  • Não conecte/associe funções ao passo de renderização, a menos que seja absolutamente necessário. Apenas tarefas que devem ser feitas após a entrada, mas antes da renderização, devem ser realizadas dessa forma, como movimento da câmera. Para controle estrito sobre a ordem, use BindToRenderStep() em vez de PreRender.

  • Gerencie estados físicos com cuidado. PreSimulation acontece antes da física, enquanto PostSimulation acontece depois da física. Portanto, a lógica de gameplay que afeta o estado físico deve ser feita em PreSimulation, como definir a Velocity das partes. Em contraste, a lógica de gameplay que depende ou reage ao estado físico deve ser tratada em PostSimulation, como ler a Position das partes para detectar quando elas entram em zonas definidas.

  • Mudanças de transformação do Motor6D devem ser feitas no evento PreSimulation. Se você não fizer isso, Animators sobrescreverão as mudanças no próximo quadro. Mesmo sem um Animator, PreSimulation é o último evento Luau disparado antes que Motor6D.Transform seja aplicado às posições das partes.

©2026 Roblox Corporation, Roblox, o logotipo Roblox e Powering Imagination estão entre nossas marcas registradas e não registradas nos EUA e em outros países.