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

7458 Commits

Author SHA1 Message Date
Bartosz Taudul e62a383833 Update imgui to 1.89.4 + docking + emscripten glfw fix. 2023-03-20 23:54:46 +01:00
Bartosz Taudul 1e1833edc2 Parallelize timeline item preprocessing. 2023-03-19 18:54:32 +01:00
Bartosz Taudul 66d3c2a472 Draw CPU zones using a precalculated list. 2023-03-19 18:37:27 +01:00
Bartosz Taudul 85d541124e Inline frames limit was raised to 64 in 7552341ff. 2023-03-19 18:23:04 +01:00
Bartosz Taudul 1d7afbd07e Calculate which CPU zones to draw beforehand. 2023-03-19 18:23:04 +01:00
Bartosz Taudul b4893fafb7 Notify TimelineItem when drawing has finished. 2023-03-19 16:07:47 +01:00
Bartosz Taudul 3a2cc0bed0 Allow setting short_ptr pointer. 2023-03-19 15:21:52 +01:00
Bartosz Taudul 6ab4180b5b Use TimelineContext to draw CPU zones. 2023-03-19 01:14:36 +01:00
Bartosz Taudul ee5d6f1adb Use TimelineContext for drawing GPU zones. 2023-03-19 00:28:14 +01:00
Bartosz Taudul 5743bff0af Use TimelineContext when drawing CPU data. 2023-03-19 00:23:33 +01:00
Bartosz Taudul 26791f55d1 Use TimelineContext data for drawing plots. 2023-03-18 17:11:24 +01:00
Bartosz Taudul 0ecdcbc13c Move TimelineContext struct definition to a separate header. 2023-03-18 17:03:23 +01:00
Bartosz Taudul 5b3427395e Add view start and end to TimelineContext. 2023-03-18 17:02:23 +01:00
Bartosz Taudul 0a32929b0b Move hover flag to TimelineContext. 2023-03-18 16:07:56 +01:00
Bartosz Taudul c75bec9122 Cosmetics. 2023-03-18 15:59:52 +01:00
Bartosz Taudul 9538fa99ca Pass yMin, yMax through TimelineContext. 2023-03-15 23:56:57 +01:00
Bartosz Taudul c81ef177ab Push timline context to Draw and DrawContents functions. 2023-03-14 02:25:15 +01:00
Bartosz Taudul b6b6e1edcf Store common constants in context variable. 2023-03-14 02:25:14 +01:00
Bartosz Taudul 66d8dab925 Preprocess timeline items in controller. 2023-03-14 02:02:50 +01:00
Bartosz Taudul 7dd31ab609 Timeline items may have preprocessing. 2023-03-14 02:02:21 +01:00
Bartosz Taudul 988de5b594 Fix typo. 2023-03-14 01:54:21 +01:00
Bartosz Taudul fd3d5114e8 Update NEWS. 2023-03-10 01:27:27 +01:00
Bartosz Taudul 7d69103444 Add plot type "power" and Watt format.
Note that this technically breaks backwards compatibility of trace files
for 0.9.2 builds. But, whatever, as it's not yet released.
2023-03-10 01:25:41 +01:00
Bartosz Taudul 23705fd84c Add a reminder to keep interfaces in sync. 2023-03-10 01:07:06 +01:00
Bartosz Taudul 69855c671f Process power usage messages. 2023-03-10 01:02:41 +01:00
Bartosz Taudul 2971db21e3 Read and report power usage. 2023-03-10 00:23:09 +01:00
Bartosz Taudul c3e7157cd5 Detect power domains. 2023-03-10 00:05:18 +01:00
Bartosz Taudul 5e2e5eeefb Add system power use tracking skeleton. 2023-03-09 22:31:31 +01:00
Bartosz Taudul f428a5b52b Fix popup of collapsed items near timeline start.
There are various changes involved into making this work:

1. Zone size (zsz) is no longer clamped to the timeline viewport area.
   This clamping has to be removed to prevent otherwise uncollapsed zones
   from apparently becoming small near the viewport borders. Such a small
   zone would then be collapsed, resulting in unwanted popping.
   Interesingly, only the CPU zones were clamped before. GPU zones were
   not.
2. Iteration over visible zones has to start before the visible timeline
   viewport area. Without this some zones that would be otherwise
   included in the collapsed area (started by a previous zone) may be
   fully visible. This causes child zones to be drawn and produces
   unwanted popping. (At this point threshold for continuing collapsed
   area is greater than threshold for starting it.)
3. Since the iteration now starts before timeline visible area, it may so
   happen that everything found will be in a small slice of timeline that
   is outside the screen. To fix this, the end time of last found item is
   checked against the viewport start time.
   It is always valid to access *(zitend-1), as it is in each case done
   after null set check (it == zitend).

Similar but simpler fix was also applied to per-thread call stack samples.
2023-03-09 00:38:23 +01:00
Bartosz Taudul 7151c6afd9 Add support for configuring plots to C API. 2023-03-08 23:18:36 +01:00
Bartosz Taudul 9d2f3860e7 Update NEWS. 2023-03-05 19:42:20 +01:00
Bartosz Taudul 22661f79de Merge pull request #532 from spnda/vulkan_host_ops
Add: Alternative Vulkan context constructor
2023-03-05 18:38:07 +01:00
sean 1eb0651255 Note new Vulkan context constructor in documentation 2023-03-05 17:37:32 +01:00
sean c7ee536209 Add: Alternative Vulkan context constructor 2023-03-05 17:37:22 +01:00
Bartosz Taudul e77512abe6 Update NEWS. 2023-03-04 23:00:49 +01:00
Bartosz Taudul 107afd78a4 Make collpsed zones gray in source location dynamic color mode.
The reasoning is that you want to use the color to see where a zone of
a particular type is placed. When collapsed zones go back to displaying
thread color, you may mistake such region of collapsed zones for something
they aren't.
2023-03-04 22:54:58 +01:00
Bartosz Taudul 2434514a42 Make view mode heuristic work correctly in on demand mode. 2023-03-04 00:37:38 +01:00
Bartosz Taudul a8cc3cb06b Use on demand flag in GetFirstTime(). 2023-03-04 00:33:52 +01:00
Bartosz Taudul f9449bc938 Only retrieve frame offset internally in GetFrameNumber(). 2023-03-04 00:32:15 +01:00
Bartosz Taudul 8164b776fd Don't pass GetFrameOffset() results to GetFrameText().
Frame offset can be retrieved internally.
2023-03-04 00:29:00 +01:00
Bartosz Taudul 9155b01ddf Use on demand flag to determine if need to show missed frames. 2023-03-04 00:25:30 +01:00
Bartosz Taudul 5ebc499f49 Add on demand mode flag accessor. 2023-03-04 00:19:58 +01:00
Bartosz Taudul e92874c0bb Save "on demand" flag in traces.
Previously on demand mode was determined by frame offset parameter being
greater than zero. However, if the application is not pumping frames with
FrameMark macro, the frame index will never increase and the frame offset
parameter stay at zero. It is not possible to distinguish on demand traces
from normal ones in this scenario.

Fix by explicitly saving the on demand flag in trace file and employ the
previous logic to set the flag when importing older traces.
2023-03-04 00:11:32 +01:00
Bartosz Taudul ed79c4f241 Update NEWS. 2023-03-03 22:56:15 +01:00
Bartosz Taudul dbcffb8c4f Print active time in the capture utility. 2023-03-03 22:51:04 +01:00
Bartosz Taudul 256905b7e3 Include first time in CPU thread lifetime calculation. 2023-03-03 22:46:25 +01:00
Bartosz Taudul 28199512cd Create first memory plot data point at first time. 2023-03-03 22:44:25 +01:00
Bartosz Taudul 3ff158c8be Worker::GetMemoryDefault() is not needed. 2023-03-03 22:40:14 +01:00
Bartosz Taudul 5ff809cc0a Calculate plot timeline taking active time span into account. 2023-03-03 22:36:04 +01:00
Bartosz Taudul 3ed543a1b7 Dim timeline before first time. 2023-03-03 22:25:07 +01:00