Attention: Here be dragons

This is the latest (unstable) version of this documentation, which may document features not available in or compatible with released stable versions of Godot.

Tracy

Ver também

Consulte as instruções do profiler de rastreamento para mais informações.

Tracy é um profiler de código aberto que roda em uma ampla variedade de plataformas, incluindo Windows, Linux e macOS. Embora seja primariamente um profiler de rastreamento, ele também pode coletar amostras de dados periodicamente como um profiler por amostragem, oferecendo alguns dos benefícios de ambas as abordagens.

Compilar o Godot com suporte ao Tracy

Primeiro, clone a versão mais recente do código-fonte do Tracy ("0.13.0" no momento da escrita) usando o Git:

git clone -b v0.13.0 --single-branch https://github.com/wolfpld/tracy.git

Isso criará um diretório tracy - você pode colocá-lo em qualquer lugar.

Em seguida, builde os modelos de release para a sua plataforma usando o scons, mas adicionando os argumentos profiler=tracy profiler_path=caminho/para/tracy com o caminho real para o diretório tracy, bem como debug_symbols=yes para permitir que os recursos de amostragem do Tracy funcionem.

Nota

Você não precisa buildar modelos de release, você também pode buildar modelos de debug ou até mesmo o editor. No entanto, geralmente é recomendado fazer o profiling de modelos de release, porque essa é a versão que seus jogadores usarão, e ela se comportará de maneira diferente de outros tipos de builds.

Por exemplo, para buildar modelos de release para Windows:

scons platform=windows target=template_release debug_symbols=yes profiler=tracy profiler_path=path/to/tracy

Obtenha o "servidor" Tracy

Na terminologia do Tracy, o aplicativo cujo perfil você está analisando é o "cliente" e o que recebe os dados é o "servidor".

Se você estiver no Windows, pode baixar um tracy-profiler.exe pré-compilado a partir da página de lançamentos do Tracy.

No entanto, se você estiver no Linux ou macOS, precisará encontrar um binário pré-compilado em um gerenciador de pacotes (como brew ou nix) ou buildá-lo você mesmo a partir do código-fonte.

Nota

Se você usar um binário pré-compilado, certifique-se de usar a mesma versão que utilizou ao buildar o Godot.

Compilar o servidor Tracy a partir do código-fonte

Para buildar o Tracy, você precisará instalar o cmake, que pode ser baixado do site do CMake ou possivelmente instalado através de um gerenciador de pacotes (como brew ou nix).

As instruções completas para buildar o Tracy a partir do código-fonte podem ser encontradas no manual do Tracy, mas aqui está o resumo:

# On Linux, Tracy uses Wayland by default, so if you use X11 add -DLEGACY=1
cmake -B profiler/build -S profiler -DCMAKE_BUILD_TYPE=Release
cmake --build profiler/build --config Release --parallel

Isso colocará o binário em tracy/profiler/build/tracy-profiler ou tracy/profiler/build/tracy-profiler.exe (no Windows).

Gravar um trace

Iniciar o servidor Tracy - você verá algo assim:

../../../_images/cpp_profiler_tracy_start.webp

Pressione "connect". Isso garantirá que o Tracy faça uma conexão imediatamente quando o jogo for iniciado. Se você esquecer de pressionar "connect", o Tracy armazenará os eventos do sistema na memória RAM, o que pode esgotar rapidamente o uso de memória (consulte a documentação do TRACY_ON_DEMAND).

Agora, exporte seu jogo usando os modelos de release que você buildou acima e execute-o. Assim que ambos estiverem rodando e você tiver pressionado o botão "Connect" no Tracy, verá os dados chegando:

../../../_images/cpp_profiler_tracy_recording.webp

Quando achar que coletou dados suficientes, pressione o botão "Stop". Se você clicou em algum lugar e a caixa com o botão "Stop" desapareceu, pode clicar no ícone mais à esquerda no topo para trazê-la de volta.

Examinando o trace

Aqui estão alguns dos controles básicos:

  • Aproxime/afaste o zoom com a roda do mouse

  • Clique com o botão direito e arraste para mover para frente/trás na linha do tempo

  • Na barra superior, clique nos botões de seta para a esquerda e para a direita ao lado de "Frames" para mover um único frame na linha do tempo

Para saber mais, consulte o manual do Tracy.