
Ferramentas para perfis e depuração
Desempenho suave é essencial para criar grandes experiências de jogo que alcancem uma ampla gama de dispositivos e jogadores. Unity fornece um conjunto completo de ferramentas de perfil e gerenciamento de memória que os desenvolvedores da Unity podem usar juntamente com as ferramentas de perfil nativas disponíveis para suas plataformas-alvo.
Neste artigo, fornecemos uma visão geral das ferramentas de perfil e depuração disponíveis com a Unity e aquelas disponíveis para plataformas-alvo.
As informações aqui são extraídas do e-book, Guia definitivo para perfis de jogos Unity (edição Unity 6), disponível para download gratuito. O e-book foi criado por especialistas da Unity, tanto externos quanto internos, em desenvolvimento de jogos, perfis e otimização.
Use o Unity e ferramentas nativas para obter os melhores resultados
Código leve e performático e uso otimizado de memória levam a uma melhor experiência do usuário em dispositivos de baixo e alto desempenho. Isso se aplica a tudo, desde ser capaz de alcançar mais usuários em dispositivos de baixo desempenho, lidando com calor e consumo de bateria, até os níveis de conforto dos seus jogadores e, em última análise, fatores que impulsionam maior adoção e retenção. Isso também pode ser um requisito para passar as especificações da plataforma de distribuição. O perfil é como um trabalho de detetive, desvendando os mistérios de por que o desempenho em sua aplicação está lento ou por que o código está alocando memória excessiva.
Os melhores ganhos com o perfil são obtidos quando você planeja cedo no ciclo de desenvolvimento do seu projeto. É um processo proativo e iterativo contínuo. Ao perfilar cedo e frequentemente, em vez de apenas antes de você enviar seu jogo, você e sua equipe podem entender e estabelecer uma "assinatura de desempenho" para o projeto. Se o desempenho despencar, por exemplo, você poderá facilmente identificar quando as coisas dão errado e rapidamente corrigir o problema.
Os resultados de perfil mais precisos vêm da execução e perfil de builds em dispositivos-alvo, bem como do uso de ferramentas específicas da plataforma para investigar as características de hardware de cada plataforma-alvo.
O Unity oferece uma gama de ferramentas de perfil gratuitas e poderosas para análise e otimização do código, tanto no Editor como no hardware. Existem também várias ótimas ferramentas de perfil nativas projetadas para cada plataforma-alvo, como aquelas disponíveis pelos principais proprietários de plataformas. Usar uma combinação de ambas fornece uma visão mais holística do desempenho da aplicação em todos os dispositivos-alvo.

Ferramentas de perfil do Unity
As ferramentas de profiling da Unity estão disponíveis no Editor e através do Gerenciador de Pacotes. Essas ferramentas, juntamente com o Frame Debugger da Unity, são abordadas em mais detalhes no e-book Guia definitivo para profiling de jogos Unity (edição Unity 6).
- O Unity Profiler mede o desempenho do Editor Unity e da sua aplicação no modo Play ou modo de desenvolvimento enquanto conectado a um dispositivo.
- O Pacote de Profiling Core fornece APIs que você pode usar para adicionar informações contextuais às capturas do Unity Profiler.
- O Memory Profiler fornece uma análise detalhada de quanto memória seu jogo está usando e quais objetos estão utilizando.
- O Profile Analyzer permite que você compare dois conjuntos de dados de profiling lado a lado para analisar como suas mudanças afetam o desempenho da sua aplicação.
- O Project Auditor relata insights e problemas sobre os scripts, ativos e código no seu projeto, muitos dos quais estão relacionados ao desempenho.
A Unity também oferece várias ferramentas de depuração que complementam seu conjunto de ferramentas de profiling. O painel de Estatísticas de Exibição do Rendering Debugger, por exemplo, permite que você veja um conjunto limitado de números de desempenho e marcadores (CPU + GPU) em builds de desenvolvimento sem ter o Editor conectado.

Ferramentas de perfil nativas
Android / Arm
- Android Studio: A versão mais recente do Android Studio inclui um novo Android Profiler que substitui as ferramentas anteriores do Android Monitor. Use-o para coletar dados em tempo real sobre recursos de hardware em dispositivos Android.
- Arm Performance Studio: Um conjunto de ferramentas para ajudá-lo a fazer profiling e depurar seus jogos em grande detalhe, voltado para dispositivos que executam hardware Arm.
- Snapdragon Profiler: Especificamente para dispositivos com chipset Snapdragon apenas. Analise dados de CPU, GPU, DSP, memória, energia, térmica e rede para ajudar a encontrar e corrigir gargalos de desempenho.
Intel
- Intel VTune: Encontre e corrija rapidamente gargalos de desempenho em plataformas Intel com este conjunto de ferramentas. Apenas para processadores Intel.
- Intel GPA suite: Um conjunto de ferramentas focadas em gráficos para ajudar a melhorar o desempenho do seu jogo, identificando rapidamente áreas problemáticas.
Xbox / PC
- PIX: PIX é uma ferramenta de ajuste de desempenho e depuração para desenvolvedores de jogos do Windows e Xbox que utilizam DirectX 12. Inclui ferramentas para entender e analisar o desempenho da CPU e GPU, além de monitorar vários contadores de desempenho em tempo real.
PC / Universal
- AMD μProf: AMD uProf é uma ferramenta de análise de desempenho para entender e perfilar o desempenho de aplicações que rodam em hardware AMD.
- NVIDIA NSight: Ferramenta que permite aos desenvolvedores construir, depurar, perfilar e desenvolver software de ponta usando o mais recente hardware de computação visual da NVIDIA.
- Samply: Samply é um profiler de CPU de linha de comando de código aberto que usa o profiler do Firefox como sua interface. Funciona em macOS, Linux e Windows.
- Superluminal: Superluminal é um profiler de alto desempenho e alta frequência que suporta a profilagem de aplicações no Windows, Xbox One e PlayStation escritas em C++, Rust e .NET. É um produto pago, no entanto, e deve ser licenciado para ser usado. Confira nosso artigo de discussões para uma introdução rápida sobre como começar.
PlayStation
- Ferramentas de perfil de CPU estão disponíveis para hardware PlayStation. Para mais detalhes, você precisa ser um desenvolvedor registrado da PlayStation®, comece aqui.
iOS
- Xcode Instruments e o XCode Frame Debugger: Instruments é uma ferramenta poderosa e flexível de análise de desempenho e teste que faz parte do conjunto de ferramentas do Xcode.
WebGL
- Firefox Profiler: Aprofunde-se nas pilhas de chamadas e visualize gráficos de chama para builds do Unity WebGL (entre outras coisas) com o Firefox Profiler. Ele também possui uma ferramenta de comparação para visualizar capturas de perfil lado a lado.
- Chrome DevTools Performance: Outra ferramenta de navegador da web que pode ser usada para perfilar builds do Unity WebGL.

Ferramentas de depuração e perfil de GPU
Enquanto a ferramenta Unity Frame Debug captura e ilustra chamadas de desenho enviadas pela CPU, as seguintes ferramentas podem ajudar a mostrar o que a GPU faz quando recebe esses comandos.
Algumas são específicas da plataforma e oferecem uma integração mais próxima com a plataforma. Dê uma olhada nas ferramentas relevantes para as plataformas de interesse:
- Arm Streamline: Parte do conjunto de software Performance Studio da Arm, focando na medição de desempenho de baixo overhead da CPU e GPU.
- Arm Frame Advisor: Parte do conjunto de software Performance Studio da Arm, focando no perfil de API baseado em quadros.
- RenderDoc: Depurador de GPU para plataformas desktop e móveis, focando na depuração de API baseada em quadros.
- Intel GPA: Perfil de gráficos para plataformas baseadas em Intel
- Apple Frame Capture Debugging Tools: Depuração de GPU para plataformas Apple
- Visual Studio Graphics Diagnostics: Escolha isso e/ou PIX para plataformas baseadas em DirectX, como Windows ou Xbox
- NVIDIA Nsight Frame Debugger: Depurador de quadros baseado em OpenGL para GPUs NVIDIA
- AMD Radeon Developer Tool Suite: Profiler de GPU para GPUs AMD
- Xcode frame debugger: Para iOS e macOS.

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, criadas por especialistas da indústria, engenheiros e artistas técnicos da Unity, que ajudarão você a desenvolver de forma eficiente com as ferramentas e sistemas do Unity.