
Como otimizar seu jogo com o Profile Analyzer
Esta página fornece uma introdução detalhada sobre como adicionar o Profile Analyzer ao seu arsenal de ferramentas de perfilagem do Unity e de plataformas nativas.
O Profile Analyzer é um dos muitos recursos abordados no e-book Guia definitivo para perfilagem de jogos Unity (edição Unity 6). Este guia reúne conhecimentos avançados e conselhos de especialistas em Unity, tanto externos quanto internos, sobre como perfilar uma aplicação no Unity, gerenciar sua memória e otimizar seu consumo de energia do início ao fim.

Passo a passo do Profile Analyzer
Você quer saber onde melhorar o desempenho? Você precisa comparar o desempenho antes e depois de uma alteração? Você tem conhecimento do impacto de uma atualização na versão do Unity sobre o jogo? O Profile Analyzer ajudará você a responder a esse tipo de pergunta. Enquanto o Profiler padrão do Unity permite que você faça análises de quadro único, o Profile Analyzer pode agregar e visualizar dados de marcadores de perfilagem capturados de um conjunto de quadros do Profiler do Unity.
Visão geral do Profile Analyzer
Enquanto o Profiler padrão do Unity permite uma análise detalhada de quadros individuais, o Profile Analyzer agrega e visualiza dados de marcadores capturados de múltiplos quadros do Profiler do Unity, proporcionando uma visão mais ampla, "'visão geral". Isso facilita a comparação e análise de dados de desempenho em múltiplos quadros ou em diferentes sessões de perfilagem.
Para começar com o Profile Analyzer:
1. Instale o Pacote Profile Analyzer via Janela > Gerenciamento de Pacotes > Gerenciador de Pacotes.
2. Vá para o Registro do Unity e navegue ou use o filtro de pesquisa para encontrar o pacote Profile Analyzer.
O Profile Analyzer puxa um conjunto de quadros capturados no Profiler do Unity e realiza uma análise estatística sobre eles. Os dados exibidos fornecem informações úteis sobre o tempo de desempenho para cada função, como tempos Mínimo, Máximo, Médio e Mediano.
Como o Analisador de Perfil é ótimo para realizar comparações de conjuntos de dados, considere usá-lo durante o desenvolvimento do seu jogo para obter clareza sobre desafios de desempenho e otimização. Você também pode usá-lo para testar um cenário de jogo A/B em busca de diferenças de desempenho, comparar dados de perfil antes e depois da refatoração de código e otimização, novos recursos ou até mesmo atualizações de versão do Unity. Uma dica útil é salvar sessões de perfil para comparar o desempenho antes e depois do trabalho de otimização quando usar o Analisador de Perfil.
O Analisador de Perfil ajuda você a identificar onde concentrar seus esforços. Ele fornece uma maneira de comparar duas capturas de perfil de desempenho do Unity lado a lado e inspecionar os impactos de suas mudanças.
O Analisador de Perfil complementa a análise de quadro único já disponível no Profiler do Unity. Ele agrega e visualiza dados de quadro e marcador de uma variedade de quadros do Profiler do Unity para ajudar você a ver padrões de desempenho ao longo do tempo em muitos quadros.
O Analisador de Perfil realiza análise de desempenho da CPU em múltiplos quadros das sessões atuais do Profiler ou de capturas salvas anteriormente. A ferramenta vem com estatísticas e visualizações para ajudar você a interpretar rapidamente as informações armazenadas nas capturas. Seu recurso Filtragem Abrangente também permite que você aprofunde nas seções que lhe interessam. Você pode usá-lo para comparar dois conjuntos de dados ou pode exportar dados brutos para análise com outras ferramentas.
Você pode instalar o Analisador de Perfil via Janela > Gerenciador de Pacotes.

Comece a usar
Para começar, você primeiro precisa capturar dados usando o Profiler e então preencher o Analisador de Perfil com esses dados para realizar uma análise.
Usar dados agregados oferece uma maneira mais informada de olhar o que está acontecendo no seu jogo, em vez de visualizar apenas um quadro por vez. Por exemplo, em uma captura de gameplay de 300 quadros (10 segundos) ou em uma sequência de carregamento de 20 segundos, você pode precisar saber:
- Quais são os maiores custos de CPU nas threads principal e de renderização?
- Qual é o custo médio/mediano/total de cada um desses marcadores?
Responder a essas perguntas essenciais pode ajudar você a localizar os maiores problemas e priorizar suas otimizações.
As estatísticas e detalhes disponíveis com o Analisador de Perfil permitem que você aprofunde nas características de desempenho do seu código ao rodar em múltiplos quadros, ou até mesmo comparado com sessões de captura de perfil anteriores.

Visões do Profile Analyzer
Observe a seleção Modo no topo da janela. O Profile Analyzer possui múltiplas visualizações e abordagens para analisar dados de perfil. Use as diferentes visualizações para selecionar, classificar, visualizar e comparar conjuntos de dados de perfil.

O painel de Resumo de Marcadores
Use o Painel de Controle de Quadros para selecionar um ou uma faixa de quadros. Quando selecionado, o painel Detalhes do Marcador é atualizado para mostrar dados agregados para a seleção com uma lista classificável de marcadores contendo estatísticas úteis.
O painel Resumo do Marcador exibe informações detalhadas sobre os marcadores selecionados. Cada marcador na lista é uma agregação de todas as instâncias desse marcador, em todas as threads filtradas na faixa de quadros selecionados.

A visão Única
A Única visualização é o ponto de partida padrão do Profile Analyzer, fornecendo respostas a perguntas de desempenho de alto nível ao longo do tempo logo de início. A visualização Única exibe informações sobre um único conjunto de dados de perfil capturados. Use-a para analisar como os marcadores de perfil se comportam ao longo dos quadros. Esta visualização é dividida em vários painéis, que contêm informações sobre tempos, bem como valores mínimo, máximo, mediano, médio e quartis inferior/superior para quadros, threads e marcadores.

A visão Comparar
A visualização Comparar é particularmente eficaz para analisar variações de desempenho, pois permite carregar dois conjuntos de dados distintos que são exibidos em cores diferentes para uma comparação clara lado a lado.

Comparar mudanças de desempenho
Use os seguintes passos para comparar mudanças de desempenho usando o Profile Analyzer. Você pode usar a opção Obter Dados de uma captura ativa do Unity Profiler ou a opção Carregar Dados de uma sessão salva. Ao carregar, os arquivos devem estar no formato .pdata do Profile Analyzer. Para arquivos .data do Unity Profiler, abra-os primeiro na janela Profiler e, em seguida, use Pull Data no Profile Analyzer. Também é recomendável salvar seus arquivos .data originais do Profiler.
1. Prepare um teste: Escolha uma seção consistente do seu jogo para perfilar para uma comparação de benchmark significativa. Um playthrough manual scriptado ou repetível funciona melhor para minimizar efeitos colaterais aleatórios que impactam o desempenho.
2. Capture dados "antes":
- Abra o Profile Analyzer (Janela > Análise > Profile Analyzer).
- No Unity Profiler, grave uma sessão de perfilagem do seu gameplay escolhido antes de fazer quaisquer otimizações.
- Na aba Comparar do Analyzer, clique no primeiro botão Puxar Dados. Isso carrega a captura atual do Profiler ou, alternativamente, você pode salvar a sessão.
3. Otimize e capture dados "depois":
- Aplique suas melhorias de código ou desempenho.
- Limpe os dados anteriores do Unity Profiler e, em seguida, grave uma nova sessão de perfilagem do mesmo gameplay.
- No Profile Analyzer, clique no segundo botão Puxar Dados para carregar esta nova sessão.
4. Analise as diferenças:
- O painel Comparação de Marcadores mostra como os tempos dos marcadores diferem entre suas capturas "antes" (esquerda) e "depois" (direita).
- Colunas marcadas com < ou > indicam qual captura teve um valor maior para essa métrica.
- Você pode alterar quais métricas são comparadas usando o filtro Colunas de Marcadores.
Consulte a Página de entrada da visualização de comparação para mais detalhes sobre cada coluna de Comparação de Marcadores.
Comparando a mediana e os frames mais longos
Compare a mediana e os frames mais longos dentro de uma única captura do Profiler para identificar coisas que acontecem no último que não aparecem no primeiro, ou para ver o que está levando mais tempo do que a média para ser concluído.
Abra a visualização de Comparação do Analisador de Perfil e carregue o mesmo conjunto de dados para os lados esquerdo e direito. Você também pode carregar um conjunto de dados na visualização Única e, em seguida, mudar para Comparar.
Clique com o botão direito no gráfico superior Controle de Frame e escolha Selecionar Frame Mediano. Clique com o botão direito no gráfico inferior e escolha Selecionar Frame Mais Longo.
O painel de Comparação de Marcadores do Analisador de Perfil é atualizado para exibir as diferenças.
Outra dica útil para comparar dados é classificar ambos os gráficos por duração do frame (Clique com o botão direito > Ordenar por Duração do Frame), em seguida, selecione um intervalo em cada conjunto, focando ou excluindo os frames atípicos (frames que são desproporcionalmente longos ou curtos).
Isso permite que você compare os frames mais típicos com os mais extremos. Os dados são então exibidos na tabela de Comparação de Marcadores para o intervalo selecionado, facilitando a análise do que contribui para picos de desempenho ou inconsistências.

Dicas rápidas do Profile Analyzer
- Aprofunde-se em scripts de usuário (ignorando os níveis da API do Unity Engine) selecionando um Nível de Profundidade de 4. Após filtrar para este nível e olhar para o Profiler do Unity em Modo de Linha do Tempo, você pode correlacionar a profundidade da pilha de chamadas para fazer uma seleção aqui – scripts MonoBehaviour aparecerão em azul no quarto nível para baixo. Esta é uma maneira rápida de ver se sua lógica específica e scripts de jogabilidade estão sobrecarregando por si mesmos, sem qualquer outro "ruído".
- Filtre dados da mesma forma para outras áreas do motor Unity, como animadores ou física do motor.
- No lado direito na seção Resumo do Frame, você encontrará o histograma da faixa de desempenho do método destacado. Passe o mouse sobre o número Frame Máximo (o frame exato em que o tempo máximo foi encontrado) para obter um link clicável para visualizar a seleção do frame no Profiler do Unity. Use esta visualização para analisar outros fatores que potencialmente contribuem para o alto tempo máximo de frame.
- Se você tiver um monitor widescreen ou dois monitores disponíveis, pode ser útil abrir o Analisador de Perfil e o Profiler do Unity lado a lado. Essa configuração permite que você clique duas vezes em um frame no Analisador de Perfil para selecionar automaticamente o mesmo frame no Profiler do Unity, a partir do qual você pode investigá-lo mais usando as visualizações de Linha do Tempo ou Hierarquia.
Saiba mais sobre o Profiler Analyzer com esses recursos:
- Tutorial e Passo a Passo do Profile Analyzer
- análise de desempenho da CPU com o Profile Analyzer do Unity

Você pode encontrar muitas mais melhores práticas e dicas para desenvolvedores e criadores avançados do Unity no hub de melhores práticas do Unity. Escolha entre mais de 30 guias, criados por especialistas da indústria, engenheiros do Unity e artistas técnicos, que ajudarão você a desenvolver de forma eficiente com as ferramentas e sistemas do Unity.