Todo criador de jogos sabe que o desempenho suave é essencial para criar experiências de jogo imersivas e, para isso, é necessário criar um perfil para o seu jogo.
Obtenha uma visão geral das ferramentas de criação de perfil e depuração disponíveis com o Unity e aquelas disponíveis para plataformas de destino.
As informações aqui contidas foram extraídas do e-book Ultimate guide to profiling Unity games, disponível para download gratuito. O e-book foi criado por especialistas externos e internos da Unity em desenvolvimento, criação de perfil e otimização de jogos.
A criação de perfis é como um trabalho de detetive, desvendando os mistérios do motivo pelo qual o desempenho do seu aplicativo está diminuindo ou por que o código está alocando memória em excesso. Os melhores ganhos com a criação de perfis são obtidos quando se planeja logo no início do ciclo de vida de desenvolvimento do projeto. Trata-se de um processo contínuo, proativo e iterativo. Ao criar perfis com antecedência e frequência, em vez de apenas antes de enviar o jogo, você e sua equipe podem entender e estabelecer uma "assinatura de desempenho" para o projeto. Se o desempenho cair drasticamente, por exemplo, você poderá identificar facilmente quando as coisas estiverem erradas e solucionar o problema rapidamente.
Os resultados mais precisos da criação de perfis são obtidos com a execução e a criação de perfis em dispositivos de destino, bem como com o uso de ferramentas específicas da plataforma para analisar as características de hardware de cada plataforma de destino.
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. Há também várias ferramentas excelentes de criação de perfil nativas projetadas para cada plataforma de destino, como as disponíveis na Arm, Apple, Sony e Microsoft. O uso de uma combinação de ambos fornece uma visão mais holística do desempenho dos aplicativos em todos os dispositivos de destino.
As ferramentas de criação de perfil do Unity estão disponíveis no Editor e no Package Manager. Cada ferramenta é especializada na criação de perfis de várias partes de seu projeto:
- O Unity Profiler ajuda você a medir o desempenho do projeto e a identificar quais processos podem estar causando problemas. O Profiler reúne e exibe dados, como a quantidade de tempo de CPU que está sendo usada para diferentes tarefas, desde áudio e física até renderização e animação. Ele mede o desempenho do Unity Editor, seu aplicativo no modo Play e se conecta ao dispositivo que está executando seu aplicativo no modo Development. Use essa ferramenta essencial para começar a criar perfis. Para começar, confira este curso sobre criação de perfis.
- O Memory Profiler fornece uma análise detalhada do desempenho da memória. A redução do uso da memória o ajudará a reduzir falhas, diminuir o tempo de carregamento e tornar seu projeto compatível com dispositivos mais antigos. O Memory Profiler está atualmente em visualização, mas espera-se que seja verificado no Unity 2022 LTS.
- O Profile Analyzer agrega e visualiza dados de quadros e marcadores de um conjunto de quadros do Unity Profiler para ajudá-lo a examinar seu comportamento em muitos quadros. (Isso complementa a análise de quadro único já disponível no Unity Profiler). Ele também permite que você compare dois conjuntos de dados de criação de perfil para determinar como as alterações afetam o desempenho do aplicativo.
- O Frame Debugger permite que você congele a reprodução de um jogo em execução em um quadro específico para visualizar as draw calls usadas para renderizar esse quadro. Além de listar as chamadas de desenho, o depurador permite percorrê-las uma de cada vez, para que você possa ver como a cena é construída a partir de seus elementos gráficos.
- O pacote Profiling Core fornece APIs para adicionar informações contextuais às capturas do Unity Profiler.
Android / Arm
- Android Studio: O Android Studio mais recente 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 Mobile Studio: Um conjunto de ferramentas para ajudá-lo a criar perfis e depurar seus jogos detalhadamente, para dispositivos que executam o hardware Arm.
- Snapdragon Profiler: Especificamente para dispositivos com chipset Snapdragon. Analise dados de CPU, GPU, DSP, memória, energia, térmicos e de 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. Somente para processadores Intel.
- Suíte Intel GPA: Um conjunto de ferramentas com foco em gráficos para ajudá-lo a melhorar o desempenho do seu jogo, identificando rapidamente as áreas problemáticas.
Xbox / Windows
- PIX: O PIX é uma ferramenta de ajuste de desempenho e depuração para desenvolvedores de jogos para Windows e Xbox que usam o DirectX 12. Ele inclui ferramentas para compreender e analisar o desempenho da CPU e da GPU, além de monitorar vários contadores de desempenho em tempo real. Para obter mais informações sobre como aproveitar o PIX para o desenvolvimento de jogos para Xbox, registre-se como um desenvolvedor Xbox.
PC / Universal
- AMD μProf: O AMD uProf é uma ferramenta de análise de desempenho para compreender e criar perfis de desempenho para aplicativos executados em hardware AMD.
- NVIDIA NSight: Ferramentas que permitem que os desenvolvedores criem, depurem, criem perfis e desenvolvam softwares de ponta e líderes de classe usando o mais recente hardware de computação visual da NVIDIA.
- Superluminal: O Superluminal é um criador de perfil de alto desempenho e alta frequência que suporta aplicativos de criação de perfil no Windows, Xbox One e PlayStation escritos em C++, Rust e .NET. No entanto, é um produto pago e deve ser licenciado para ser usado.
PlayStation
- As ferramentas de criação de perfil da CPU estão disponíveis para o hardware do PlayStation. Para obter mais detalhes, é necessário ser um desenvolvedor PlayStation® registrado.
iOS
- Xcode Instruments e o Xcode Frame Debugger: O Instruments é uma ferramenta avançada e flexível de análise de desempenho e teste que faz parte do conjunto de ferramentas do Xcode.
WebGL
- Profiler do Firefox: Explore as pilhas de chamadas e visualize gráficos de chama para compilações Unity WebGL (entre outras coisas) com o Firefox Profiler. Ele também apresenta uma ferramenta de comparação para examinar as capturas de perfil lado a lado.
- Desempenho do Chrome DevTools: Outra ferramenta de navegador da Web que pode ser usada para criar perfis de builds Unity WebGL.
Embora a ferramenta Unity Frame Debugger capture e ilustre as chamadas de desenho enviadas pela CPU, as ferramentas a seguir podem ajudá-lo a mostrar o que a GPU faz quando recebe esses comandos.
Alguns são específicos da plataforma e oferecem uma integração mais próxima. Dê uma olhada nas ferramentas relevantes para as plataformas de interesse:
- Analisador de gráficos Arm: Parte do pacote de software Mobile Studio da Arm
- RenderDoc: Depurador de GPU para plataformas móveis e de desktop
- Intel GPA: Criação de perfil gráfico para plataformas baseadas em Intel
- Ferramentas de depuração de captura de quadros da Apple: Depuração de GPU para plataformas Apple
- Diagnóstico de gráficos do Visual Studio: Escolha este e/ou o PIX para plataformas baseadas em DirectX, como Windows ou Xbox
- Depurador de quadros NVIDIA Nsight: Depurador de quadros baseado em OpenGL para GPUs NVIDIA
- AMD Radeon Developer Tool Suite: Criador de perfil de GPU para GPUs AMD
- Depurador de quadros do Xcode: Para iOS e macOS
Baixe o e-book, Ultimate guide to profiling Unity games, gratuitamente para obter todas as dicas e práticas recomendadas.