Tracy
Więcej informacji
- Twórca
- Bartosz Taudul
- Typ
- Profiler
- Licencja
- BSD 3-Clause
- Kod źródłowy
- github.com/wolfpld/tracy
Otwartoźródłowy profiler do oprogramowania czasu rzeczywistego, który pokazuje, co robił każdy wątek w każdej klatce — z dokładnością do nanosekundy.
Większość profilerów odpowiada na pytanie „gdzie średnio ucieka czas?". Gry mają inny problem: 59 klatek na 60 mieści się w budżecie, a sześćdziesiąta się zacina. Tracy działa na makrach, takich jak ZoneScoped i FrameMark, umieszczanych w kodzie, przesyła zdarzenia przez sieć do osobnej przeglądarki i rysuje oś czasu dla każdego wątku, na której można przybliżyć dokładnie tę jedną złą klatkę.
Oprócz instrumentacji próbkuje stosy wywołań, mierzy pracę GPU przez Vulkan, Direct3D i OpenGL oraz śledzi alokacje pamięci i rywalizację o blokady. Stał się częstym wyborem w silnikach własnych i grach indie, gdzie komercyjne alternatywy albo kosztują, albo istnieją tylko na jedną platformę.