Streaming
- Reduzindo a contagem de partes, pois menos partes levam a melhor desempenho.
- Otimizar texturas para equilibrar qualidade visual e desempenho, especialmente para dispositivos de baixo desempenho.
- Otimizar iluminação limitando luzes dinâmicas e usando luzes sem sombra quando possível, pois esses ajustes reduzem a carga computacional e melhoram o desempenho geral do jogo.
Configurações de Streaming
Default | O motor escolhe a melhor opção, atualmente a mesma que o modo Legacy. |
Legacy | Modelos carregam com seu pai quando um jogador entra e não descarregam, a menos que o pai faça. |
Improved | Os modelos carregam apenas quando necessário, não durante a entrada do jogador. Modelos não espaciais carregam logo após, enquanto modelos espaciais carregam conforme necessário e podem ser descarregados posteriormente. |
Habilita ou desabilita o streaming de conteúdo do jogo.
Default | Sem verificações extras; os jogadores podem encontrar conteúdo ausente. |
PauseReceive | Pausa a recepção de dados se partes críticas estiverem ausentes, evitando problemas de jogabilidade. |
Request | Solicita partes ausentes quando um jogador entra em uma área, reduzindo as chances de encontrar conteúdo não carregado. |
Define a área mínima ao redor do jogador onde o conteúdo é transmitido com a maior prioridade. O padrão é 64 studs. Aumentar esse valor usa mais memória e largura de banda.
Define a distância máxima do jogador onde o conteúdo é transmitido. O padrão é 1024 studs. O motor pode manter o conteúdo carregado anteriormente além desse raio, se a memória permitir.
Default | O conteúdo é removido apenas quando a memória está baixa (igual ao LowMemory). |
LowMemory | Descarrega conteúdo para liberar memória quando necessário. |
Opportunistic | Descarrega conteúdo além do raio alvo mesmo sem pressão de memória, otimizando o desempenho. |
Nível de Detalhe (LOD)
StreamingMesh | Usa uma 'impostora' de malha de baixa resolução para modelos fora do raio de streaming. |
Disabled/Automatic | Malhas de baixa resolução não são exibidas, mantendo o detalhe completo dentro do raio de streaming. |
Física
Mais Opções de Otimização
- Reduzindo a contagem de partes, pois menos partes levam a melhor desempenho.
- Otimizar texturas para equilibrar qualidade visual e desempenho, especialmente para dispositivos de baixo desempenho.
- Otimizar iluminação limitando luzes dinâmicas e usando luzes sem sombra quando possível, pois esses ajustes reduzem a carga computacional e melhoram o desempenho geral do jogo.
- Uso Eficiente de Partes e Malhas: Minimizar o uso de malhas de alta densidade e usar as BaseParts do Roblox sempre que possível.
- Otimização de Scripts: Identificando e eliminando loops desnecessários, otimizando algoritmos e usando estruturas de dados eficientes.
- Otimização de Rede: Reduzir a transmissão de dados e garantir uma comunicação fluida cliente-servidor.
- Otimizações no Lado do Cliente: Transferir tarefas para o cliente para reduzir a carga do servidor e melhorar a resposta.
- Serviço de Detritos: Usar o Serviço de Detritos para gerenciar objetos temporários.
local Debris = game:GetService("Debris")
local part = Instance.new("Part")
part.Position = Vector3.new(0, 10, 0)
part.Parent = workspace
-- Add the part to Debris, which will remove it after 5 seconds
Debris:AddItem(part, 5)
Microprofiler
Ctrl Alt F6 (⌘⌥F6)
MicroProfiler (Azul & Laranja)
Color Bar | Details | Indication |
---|---|---|
Laranja | O tempo de trabalho excede o tempo de renderização em quadros padrão. | Indica desempenho normal, onde o foco está na CPU. |
Azul | O tempo de renderização excede o tempo de trabalho. | Indica um gargalo de renderização. Passe o mouse para ver detalhes em 'Esperando pela Thread de Renderização'. Um grande número de barras azuis sugere que a renderização é o principal problema. |
MicroProfiler (Picos)
Graph Position | Details | Indication |
---|---|---|
Meio | As barras geralmente devem estar no meio do gráfico. | Indica operação normal com agendamento de tarefas equilibrado. |
Picos | As barras aumentam ou disparam acima do meio do gráfico. | Indica que mais tempo foi necessário para realizar um processo do Agendador de Tarefas, geralmente devido ao aumento da carga de trabalho, como lidar com muitas partes móveis. |
MicroProfiler (Pausa)
Ctrl P (⌘P)
MicroProfiler (Ampliar)
Clique com o botão direito em um rótulo para ampliar a linha do tempo para corresponder à duração do rótulo.
Clique com o botão esquerdo para mostrar o gráfico de linhas no canto inferior direito da visualização do jogo, mostrando quanto tempo a tarefa leva a cada quadro. Este gráfico permite testes de desempenho.
Principal | Details |
---|---|
Principal | Gerencia entrada, física, animações, som, atualizações do Studio e coordena outras threads. |
Trabalhador | Auxilia a thread principal em tarefas como rede, física e pathfinding. Vários trabalhadores são usados com base nos núcleos da CPU. |
Renderização (GPU) | Lida com a renderização gráfica. |
Perfilagem Personalizada
local Debris = game:GetService("Debris")
local part = Instance.new("Part")
part.Position = Vector3.new(0, 10, 0)
part.Parent = workspace
-- Add the part to Debris, which will remove it after 5 seconds
Debris:AddItem(part, 5)