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

597 Commits

Author SHA1 Message Date
Bartosz Taudul 655d8a01ea Move vis data to timeline controller. 2022-08-20 17:02:29 +02:00
Bartosz Taudul 4d974da290 Add shorten name accessor. 2022-08-15 21:21:50 +02:00
Bartosz Taudul 8531ef6591 Extract ShortenZoneName() function to a separate file. 2022-08-15 16:34:37 +02:00
Bartosz Taudul 07a1383304 Expose zone name normalization as a separate setting. 2022-08-15 16:24:44 +02:00
Bartosz Taudul 47a2512957 Change namespace shortening to zone name shortening.
Namespace shortening was kinda ok for function names produced by MSVC, which
are generally clean looking. However, gcc/clang like to produce function names
which include template arguments, function parameters, return values, etc. In
such cases the old algorithm simply didn't work, because removal of everything
before the last :: could as well happen in midst of function parameters list.
The result was certainly not an usable function name.

With this new approach namespaces are no longer explicitly mentioned and this
functionality is simply called zone name shortening.

The user-selectable options were changed to make the shortening always
enabled, disabled, or to apply as needed. Note that the "as needed" approach
will be dynamic, trying to gradually remove more and more from the name, until
it fits in the requested area.

Current implementation is only the first step into making this work. In this
first step the function parameters are reduced to () and the template
arguments are reduced to <>. This alone greatly improves readability of the
zone names.

The option to reduce namespaces to one letter (i.e. std::tr1::hash would
become s:t:hash) will no longer be present, now or in the future.
2022-08-15 14:19:57 +02:00
Bartosz Taudul c01ad38d46 Start extracting timeline height control logic. 2022-08-15 13:29:45 +02:00
Bartosz Taudul 7dbfed9aea Drop access to native window.
The new NFD library is not using this information, and the old one was using
it only on Windows. Oh well.

Removal of this functionality also removes some build-time decisions.
2022-08-12 21:44:24 +02:00
Bartosz Taudul b19f9e1f4d Use common functionality to get frame set name. 2022-07-30 19:32:25 +02:00
Bartosz Taudul 27a98a3cc2 Make user plot color depend on its name. 2022-07-24 01:26:20 +02:00
Bartosz Taudul f7598d2431 Implement direct children search. 2022-07-23 13:31:41 +02:00
Bartosz Taudul 57f03dfe9a Implement children messages filtering in zone tooltip. 2022-07-23 13:19:30 +02:00
Bartosz Taudul edad2d7e35 Monitor send queue size. 2022-07-03 14:52:18 +02:00
Bartosz Taudul 2331ee04d2 Cleanup TracyView includes. 2022-07-02 17:00:08 +02:00
Bartosz Taudul d9ce848bb0 Also extract (and rename) timeline mouse handling. 2022-07-02 15:42:01 +02:00
Bartosz Taudul 9fb618c12d Rename DrawZone* -> DrawTimeline*. 2022-07-02 15:38:10 +02:00
Bartosz Taudul 0d41a6c48b Move DrawHistogramMinMaxLabel() to TracyImGui.cpp. 2022-07-02 15:27:08 +02:00
Bartosz Taudul c427214f46 Move DrawHelpMarker to TracyImGui.hpp. 2022-07-02 15:07:40 +02:00
Bartosz Taudul f3fe8b27e8 Extract plot drawing from View. 2022-07-02 14:36:54 +02:00
Bartosz Taudul c9f77ee5fa Move zone info UI out of View. 2022-07-02 13:37:04 +02:00
Bartosz Taudul b602d61944 Extract options UI from View. 2022-07-02 13:23:52 +02:00
Bartosz Taudul d19b337573 Split View navigation functions. 2022-07-02 13:16:06 +02:00
Bartosz Taudul 2473760c04 Extract Find Zone UI to a separate file. 2022-07-02 13:12:29 +02:00
thedmd 9ed9e18bc8 Add ability to filter callstacks in memory tab by inactive allocations.
Filtering by inactive allocations helps to pin point wasteful allocations
in an app.
2022-06-06 06:45:35 +02:00
Bartosz Taudul 1e762c246a Don't show callstack column in messages, if no callstacks. 2022-04-18 15:06:23 +02:00
Bartosz Taudul f17a579753 Move adding annotations to a separate function. 2022-03-15 17:25:28 +01:00
Bartosz Taudul f4043d9bb8 Display GPU zone statistics. 2022-01-29 15:35:25 +01:00
Bartosz Taudul 563daed10f Add bottom/top tree to callstack parents. 2021-12-31 15:01:06 +01:00
Bartosz Taudul 04f045b22b Replace "restrict time" with time range limits in memory. 2021-11-29 19:20:56 +01:00
Bartosz Taudul de11604910 Add memory time range limit UI. 2021-11-29 18:17:19 +01:00
Bartosz Taudul 52eeddd63a Fix display of entry call stacks when inlines are present. 2021-11-27 16:41:27 +01:00
Bartosz Taudul 902de497dc Allow forceful insertion into main thread queue.
This is useful to run some tasks outside of the main render job.
2021-11-18 22:46:59 +01:00
Bartosz Taudul 89ca010146 Add scale setup callback infrastructure. 2021-11-18 22:22:11 +01:00
Bartosz Taudul 633cd1262c Draw callstack tree for wait stacks. 2021-11-13 22:06:04 +01:00
Bartosz Taudul 5f9a0ab61f Wait stacks mode selection. 2021-11-13 22:06:04 +01:00
Bartosz Taudul 4f6e9bbb65 Generic callstack tree builder.
Previously this was exclusive for memory callstacks.
2021-11-13 22:06:04 +01:00
Bartosz Taudul c6be16dcd2 Rename PathData -> MemPathData. 2021-11-13 21:28:56 +01:00
Bartosz Taudul a2547ccf1d Rename CallstackFrameTree -> MemCallstackFrameTree. 2021-11-13 21:26:28 +01:00
Bartosz Taudul 0c7c3ae641 Time range limits for wait stacks. 2021-11-13 18:43:55 +01:00
Bartosz Taudul 94d4272c9c Allow limiting wait stacks to certain threads. 2021-11-13 18:20:06 +01:00
Bartosz Taudul 9ba5180b04 Add wait stacks window. 2021-11-13 15:58:25 +01:00
Bartosz Taudul 45df37e3a9 Separate callstack table drawing functionality. 2021-11-13 15:56:57 +01:00
Bartosz Taudul 1200409a44 Display context switch wait call stack. 2021-11-13 01:21:47 +01:00
Bartosz Taudul ce8e42f00b Separate drawing callstack tooltip from drawing its contents. 2021-11-13 01:08:36 +01:00
Bartosz Taudul d33de972f0 Properly show fiber context switch data. 2021-11-06 21:06:08 +01:00
xavier 61670e30aa Update samples statistics continuously in the "find zone" window 2021-09-23 21:03:56 +02:00
xavier 63acfe72e7 Apply group filters to the samples statistics in the "find zone" window
reduce memory by storing the thread ids next to the zones intead of
making zone lists per thread.

speed-up by reading the zones in linear order rather than bisecting
the whole list for each sample.
2021-09-23 21:03:56 +02:00
xavier 41130d2a69 Avoid useless work when there aren't any samples 2021-09-23 21:03:56 +02:00
xavier 0089c832f7 Cache samples statistics in the "find zone" window 2021-09-23 21:03:56 +02:00
xavier ed42c2388c Add samples statistics to the "find zone" window 2021-09-23 21:03:56 +02:00
xavier 6b901a7156 Extract DrawSamplesStatistics() 2021-09-23 21:03:56 +02:00