1
0
mirror of https://github.com/wolfpld/tracy.git synced 2025-03-20 07:40:02 +08:00
Commit Graph

3355 Commits

Author SHA1 Message Date
Bartosz Taudul dfb4020a92 Add missing include for intptr_t. 2021-08-22 13:38:28 +02:00
Bartosz Taudul 673dfd0f02 Update ImGui GLFW and OpenGL 3.x backends.
The new embedded ImGui OpenGL loader has been extended with a couple of
functions and definitions needed by TracyTexture.cpp.
2021-08-22 13:30:46 +02:00
Bartosz Taudul 30445b656f Update ImGui to 1.84.1 + docking. 2021-08-21 00:52:30 +02:00
Bartosz Taudul c82bf3915b Extend thread expansion grace period to half a second.
Previously a framerate-dependent 10 frame count was used.
2021-08-19 00:24:11 +02:00
Bartosz Taudul 7304558bdf Cycle through assembly blocks when right-clicking source line. 2021-07-26 01:21:58 +02:00
Bartosz Taudul 55a966f9c6 Fix assert. 2021-07-26 01:18:17 +02:00
Bartosz Taudul 06ae39d9cc Fix debug build. 2021-07-18 16:34:24 +02:00
Bartosz Taudul 8b489c95ff Rename slow branches/cache to branch/cache impact. 2021-07-18 16:15:32 +02:00
Bartosz Taudul 0e603a0997 Render relative hw samples values. 2021-07-18 16:15:32 +02:00
Bartosz Taudul d0fad4fd39 Rename relative hw samples to "impact". 2021-07-18 16:15:31 +02:00
Bartosz Taudul 83b159b43b Count hw stats, if relative mode is set. 2021-07-18 15:00:22 +02:00
Bartosz Taudul fbf2c87a20 Include hw stats in AddrStatData. 2021-07-18 15:00:22 +02:00
Bartosz Taudul e30608afbf Store and pass AddrStat data in one data structure. 2021-07-18 15:00:22 +02:00
Bartosz Taudul 9c7a122d94 Implement counting relative hw samples data.
This exploits the fact that AddrStat has two data fields (local and ext) to
store branch and cache information.
2021-07-18 15:00:22 +02:00
Bartosz Taudul 8c78af4d00 Drop limitView from GatherIpHwStats interface. 2021-07-18 15:00:21 +02:00
Bartosz Taudul a5e655d1ee Add relative hw samples checkbox. 2021-07-18 15:00:21 +02:00
Bartosz Taudul b4c1313a2e Make hw stats cost a parameter. 2021-07-18 02:03:29 +02:00
Bartosz Taudul 50f7deb1a3 Merge pull request #243 from benvanik/patch-4
Indenting empty GPU zone tree nodes when grouped to keep zones aligned.
2021-07-17 20:48:43 +02:00
Ben Vanik ba185b18f9 Indenting empty grouped CPU/GPU zone tree nodes to keep things aligned. 2021-07-17 11:46:29 -07:00
Ben Vanik e3165c333b Fixing unbalanced tree pop in grouped GPU zones. 2021-07-17 09:25:44 -07:00
Bartosz Taudul edae542a48 Allow selecting image name for filtering from a list. 2021-07-11 19:43:51 +02:00
Bartosz Taudul b6db644ac6 Add hasher and comparator for StringIdx. 2021-07-11 19:43:40 +02:00
Terence Rokop 68ec7abdf4 Move responsibility for spacing of combo box
Thereby fix a spurious horizontal separator bar.
2021-06-26 11:51:57 -07:00
Terence Rokop d6fd252ce4 Add more spacing to pre-existing options 2021-06-26 10:41:24 -07:00
Terence Rokop e105d2d96c Aesthetic fixes to accumulation mode combo box
Shorter text fields and more spacing.
2021-06-26 10:41:23 -07:00
Terence Rokop 1dd117533e Avoid non-reentrant option in sampling/symbol view 2021-06-26 10:41:23 -07:00
Terence Rokop f000dce73f Replace "enum class" switches with explicit casts 2021-06-26 08:30:15 -07:00
Terence Rokop b392671a7a Make time accumulation mode use combo box 2021-06-25 21:27:45 -07:00
Bartosz Taudul 9a22b8e83c Cosmetics. 2021-06-23 20:43:46 +02:00
Bartosz Taudul 913463635a Cosmetics. 2021-06-23 20:37:14 +02:00
Terence Rokop 9366e58d12 Introduce "Non-reentrant time" radio button
Add to the statistics view an option for "Non-reentrant
time", which displays the count of and time spent in zone
events which were the only appearances (at that time) of
their zones on their threads' stacks.

Besides the GUI changes, this involves:

- Introducing a tri-state accumulation mode to replace the
boolean "self time":  now there's "Self time only",
"Child time", and "Non-reentrant time".

- Removing the separate "selfTotal" from SrcLocZonesSlim,
making "total" represent whichever of the now three options
is active, which in turn requires keeping track of the
accumulation mode in StatisticsCache and invalidating that
cache when the accumulation mode changes.
2021-06-20 17:56:15 -07:00
Terence Rokop 66053e37f7 Add non-reentrant stats to SourceLocationZones
Extend SourceLocationZones with fields to track the count
and time of non-reentrant zone events -- that is, zone
events which were the only appearances (at the time) of
those zones on their threads' stacks.
2021-06-20 17:56:15 -07:00
Terence Rokop c90e39e06e Keep track of zone appearances on thread stacks
Start keeping track, using the previously-introduced
SrcLocCountMap, of the number of appearances of each zone
on each thread's stack at a given time.
2021-06-20 17:56:15 -07:00
Terence Rokop 1f0b4656f4 Introduce SrcLocCountMap
Add to ThreadData a map from source location to a counter,
which will be used to keep track of the number of
appearances of zones with the corresponding source locations
on each thread's stack.
2021-06-20 17:56:14 -07:00
Terence Rokop 0a8ec09566 Introduce View::IsZoneReentry()
These two methods can search a timeline to determine whether
a given ZoneEvent is the only appearance of the given zone
on the current thread stack, or a re-entry.
2021-06-20 17:53:38 -07:00
Bartosz Taudul 0e0692b7f7 Don't display hw samples as time in selected lines summary. 2021-06-20 16:01:19 +02:00
Bartosz Taudul e9aca02880 Make hw sample cost in source files relative to whole symbol. 2021-06-20 15:55:21 +02:00
Bartosz Taudul 846bde1a11 Narrow down search range. 2021-06-20 14:37:56 +02:00
Bartosz Taudul 15b42039bd Add very early exit test. 2021-06-20 14:34:47 +02:00
Bartosz Taudul d4b92e0fbe Add early exit conditions. 2021-06-20 14:33:08 +02:00
Bartosz Taudul a10d71b766 Switch loop order for better cache locality on the slow path. 2021-06-20 14:30:55 +02:00
Bartosz Taudul a9a16b4d94 Narrow down search region. 2021-06-20 14:24:42 +02:00
Bartosz Taudul 22352dd29b Select optimized path before entering loop. 2021-06-20 14:22:14 +02:00
Bartosz Taudul 5d86002f82 Calculate all CPU usage values in one go. 2021-06-20 14:19:18 +02:00
Bartosz Taudul 5efc03cdf9 Move cycles up in cost combo selector. 2021-06-20 12:50:13 +02:00
Bartosz Taudul 7e17c8643c Don't show hw events as time. 2021-06-20 01:08:18 +02:00
Bartosz Taudul bc4016e97c Don't depend on callstack frames to match hw samples to source. 2021-06-20 01:01:29 +02:00
Bartosz Taudul 2f3ee594f0 Use square root to make slow branches and cache less spiky. 2021-06-20 00:50:14 +02:00
Bartosz Taudul 3305ea2775 Keep raw hw sample data visually separate. 2021-06-20 00:46:29 +02:00
Bartosz Taudul 07fe0a5447 Use enum for cost selection. 2021-06-20 00:45:39 +02:00