Added tracy profiler client #439
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
OvAnalytics(profiling is now done by Tracy)Profilereditor panelFramerate CounterfromProfiler(not removed) toFrameInfoTracy is AWESOME! The best part is, the GUI is an external tool, so it doesn't bloat the engine!
Review Guidance
TRACY_ENABLEdefine globally (Overload/premake5.lua)TRACY_MEMORY_ENABLEdefine to toggle memory profilingeditandcontinue "Off") had to be disabled for Tracy to work (Overload/premake5.lua)FrameInfo.cpp), since usingstd::formatwith a non-defaultstd::localeseems to cause an instrumentation failure with Tracy (std::formatmight be calling delete on a non-allocated memory region)Limitations/Regressions
tracy-profiler.exe(Tracy server) to the repository increase its size from 17MB to about 38MB.std::localenot working properly with tracy memory profiling, frame info numbers aren't formatted following the user regional settings (i.e., foren_US, no more thousand separator if tracy is enabled)Debugbuilds.tracy-profiler.exe), it will make it harder to port Overload to linux. Building the server ourselves would be ideal, but given its dependencies, it might be more of a headache.To-Do
PROFILER_SPYto also use Tracy under the hood, so that we can profile a scope with a single macro (or alternatively, get rid ofPROFILER_SPY😆)std::formatso far. discussion link)Should we disable profiling in Release?will be addressed in a follow-up PR, for now, all builds are "profilable"Related Issues
Closes #421
Closes #332
Closes #333
Closes #292
Closes #107
Screenshots