From d7541bbdba9db3b6f4b25f303271cf8ba61d8f15 Mon Sep 17 00:00:00 2001 From: Bartosz Taudul Date: Fri, 21 May 2021 22:06:39 +0200 Subject: [PATCH] Allow disabling inline resolution on windows. Original commit a6b25497 by xavier : add TRACY_CALLSTACK_IGNORE_INLINES to tradeoff speed vs precision in win32 DecodeCallstackPtr() SymQueryInlineTrace() is too slow in some cases: 300000 queries backlog getting processed at ~70 per second is prohibitive. (without inlines resolution, it's more like ~20000 queries per second) --- client/TracyCallstack.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/client/TracyCallstack.cpp b/client/TracyCallstack.cpp index 4c87e6c7..28bbe763 100644 --- a/client/TracyCallstack.cpp +++ b/client/TracyCallstack.cpp @@ -292,7 +292,7 @@ CallstackSymbolData DecodeCodeAddress( uint64_t ptr ) #ifdef TRACY_DBGHELP_LOCK DBGHELP_LOCK; #endif -#ifndef __CYGWIN__ +#if !defined __CYGWIN__ && !defined TRACY_NO_CALLSTACK_INLINES DWORD inlineNum = SymAddrIncludeInlineTrace( proc, ptr ); DWORD ctx = 0; DWORD idx; @@ -335,7 +335,7 @@ CallstackEntryData DecodeCallstackPtr( uint64_t ptr ) #ifdef TRACY_DBGHELP_LOCK DBGHELP_LOCK; #endif -#ifndef __CYGWIN__ +#if !defined __CYGWIN__ && !defined TRACY_NO_CALLSTACK_INLINES DWORD inlineNum = SymAddrIncludeInlineTrace( proc, ptr ); if( inlineNum > MaxCbTrace - 1 ) inlineNum = MaxCbTrace - 1; DWORD ctx = 0; @@ -393,7 +393,7 @@ CallstackEntryData DecodeCallstackPtr( uint64_t ptr ) } } -#ifndef __CYGWIN__ +#if !defined __CYGWIN__ && !defined TRACY_NO_CALLSTACK_INLINES if( doInline ) { for( DWORD i=0; i