Commit Graph

1682 Commits

Author SHA1 Message Date
Bartosz Taudul
6de8e6987f Sort annotations. 2019-10-14 19:04:37 +02:00
Bartosz Taudul
671a8f673e Don't interact with unfocused annotations. 2019-10-13 17:01:55 +02:00
Bartosz Taudul
e462335f83 Save/load annotations. 2019-10-13 16:29:24 +02:00
Bartosz Taudul
20cf1d9f83 Implement color selection for annotation region. 2019-10-13 16:14:22 +02:00
Bartosz Taudul
f9e860f559 Display annotation text on timeline. 2019-10-13 15:59:48 +02:00
Bartosz Taudul
1527e7bc10 Add annotation modification window. 2019-10-13 15:50:37 +02:00
Bartosz Taudul
5fed86dae7 Allow adding annotations to timeline. 2019-10-13 15:28:52 +02:00
Bartosz Taudul
215dc8a804 More compact GpuEvent struct (save 4 bytes).
Memory usage reduction of various traces:

big         9011 -> 9007
frameimages 561  -> 552
fi-big      4144 -> 4139
long        5253 -> 5125
2019-10-13 14:42:52 +02:00
Bartosz Taudul
c044df6324 Display number of GPU zones. 2019-10-13 14:21:28 +02:00
Bartosz Taudul
d4620b4157 Fix UI. 2019-10-09 22:33:02 +02:00
Bartosz Taudul
0a358ac1f0 Time distribution may now only include running time. 2019-10-09 22:13:52 +02:00
Bartosz Taudul
6ced346e08 Different sorting modes for zone time distribution. 2019-10-09 21:42:46 +02:00
Bartosz Taudul
ed1f722c51 Display trace file name in trace info window. 2019-10-07 21:36:19 +02:00
Bartosz Taudul
4c4099877d Track trace file name in TracyView. 2019-10-07 21:36:19 +02:00
Bartosz Taudul
1cd5ccb3c1 Display zone time distribution. 2019-10-04 21:34:00 +02:00
Bartosz Taudul
5111275770 Highlight hovered zone on the find zone zones list. 2019-10-04 13:02:26 +02:00
Bartosz Taudul
b913c17f5b Add "no grouping" mode to find zone zones list. 2019-10-04 12:42:05 +02:00
Bartosz Taudul
f2bb933f49 Use proper background color. 2019-10-02 00:49:30 +02:00
Bartosz Taudul
3b223c64d4 Darken to background color to hide overhang.
This only handles the root window case. When the profiler is embedded in
other application, the window background color is not matched.
2019-10-01 23:17:36 +02:00
Bartosz Taudul
db29d309a2 Lambda capture is not needed here. 2019-10-01 22:42:43 +02:00
Bartosz Taudul
65ea33a60f Store memory callstack data as 24-bit ints.
This reduces MemEvent size from 40 to 38 bytes.

Memory usage reduction:

chicken     2027 -> 2019
mem         6468 -> 6308
q3bsp-mt    5304 -> 5283
2019-10-01 22:38:17 +02:00
Bartosz Taudul
f0b957ec56 Store callstacks on 24 bits.
ZoneEvent is now 27 bytes.

Memory usage reduction on selected traces (sizes in MB):

big             9224 -> 9011  (97%)
chicken         2044 -> 2027  (99%)
drl-l-b         1443 -> 1383  (95%)
long            5327 -> 5253  (98%)
q3bsp-mt        5400 -> 5304  (98%)
selfprofile     1403 -> 1382  (98%)
2019-10-01 22:38:17 +02:00
Bartosz Taudul
717a212563 Save another 2 bytes per ZoneEvent.
ZoneEvent is not 28 bytes.

Memory usage reduction on selected traces (sizes in MB):

big             9527 -> 9224  (96%)
chicken         2107 -> 2044  (97%)
drl-l-b         1479 -> 1443  (97%)
long            5412 -> 5327  (98%)
q3bsp-mt        5592 -> 5400  (96%)
selfprofile     1443 -> 1403  (97%)
2019-10-01 01:05:37 +02:00
Bartosz Taudul
acfcfb09ce Hide context switch options, if no data is available. 2019-09-30 23:46:10 +02:00
Bartosz Taudul
0e56682964 Darkening of inactive thread regions. 2019-09-30 23:37:36 +02:00
Bartosz Taudul
d228bcb622 Pack StringIdx in 24 bits.
This reduces ZoneEvent size from 32 to 30 bytes.

Memory usage reduction on selected traces (sizes in MB):

big             9902 -> 9527  (96%)
chicken         2172 -> 2107  (97%)
ctx-big          311 ->  309  (99%)
drl-l-b         1570 -> 1479  (94%)
long            5496 -> 5412  (98%)
mem             6468 -> 6468  (100%)
q3bsp-mt        5784 -> 5592  (96%)
selfprofile     1486 -> 1443  (97%)
2019-09-29 20:32:42 +02:00
Bartosz Taudul
59632f0d37 One more place to check if srcloc zones are ready. 2019-09-29 20:17:47 +02:00
Bartosz Taudul
873d536845 Display number of strings. 2019-09-29 19:22:50 +02:00
Bartosz Taudul
cb6a3f3334 Highlight CPU data timeline from thread tooltip. 2019-09-29 18:55:31 +02:00
Bartosz Taudul
3b8ab5715f Highlight CPU data timeline from CPU data window. 2019-09-29 18:53:58 +02:00
Bartosz Taudul
cafb5d6a99 Highlight threads on CPU data timeline. 2019-09-29 18:49:48 +02:00
Bartosz Taudul
c09f3c0676 Add thread color boxes to CPU data window. 2019-09-25 02:12:35 +02:00
Bartosz Taudul
6c5627d8e4 Add thread color boxes to memory allocations listings. 2019-09-24 23:58:11 +02:00
Bartosz Taudul
581fd920a1 Add thread color boxes to lock info. 2019-09-24 23:52:52 +02:00
Bartosz Taudul
12e2bcb691 Add thread color boxes to zone info windows. 2019-09-24 23:51:47 +02:00
Bartosz Taudul
ad2dd09c25 Add thread color boxes to zone tooltips. 2019-09-24 23:50:00 +02:00
Bartosz Taudul
47f81d0ba4 Add thread color box to memory plot tooltip. 2019-09-24 23:47:51 +02:00
Bartosz Taudul
9c86102bad Add thread color box to CPU data on timeline. 2019-09-24 23:46:54 +02:00
Bartosz Taudul
a7e3324eba Add thread color boxes to GPU context tooltips. 2019-09-24 23:45:36 +02:00
Bartosz Taudul
6ffbd00b0c Add thread color box to crash info. 2019-09-24 23:42:25 +02:00
Bartosz Taudul
c73a74b8d5 Add thread color boxes to memory allocation info. 2019-09-24 23:41:28 +02:00
Bartosz Taudul
e9b815a3b8 Show thread color boxes in find zone menu. 2019-09-24 23:38:29 +02:00
Bartosz Taudul
06fe469598 Add thread color boxes to messages thread list. 2019-09-24 23:33:33 +02:00
Bartosz Taudul
63184f8762 Better Vulkan thread heuristics. 2019-09-24 00:55:24 +02:00
Bartosz Taudul
a5ba74ed13 Handle multiple Vulkan threads. 2019-09-23 17:27:49 +02:00
Bartosz Taudul
82cd667b30 Allow specifying network port in server. 2019-09-21 15:43:01 +02:00
Bartosz Taudul
4c736aecfa Use fibonacci hashing to determine thread colors. 2019-09-21 14:03:42 +02:00
Bartosz Taudul
7a1fb4e0bd Proper message when call stack trees are not available. 2019-09-21 00:57:12 +02:00
Bartosz Taudul
46f7235e32 Display proper message when there are no active allocations. 2019-09-21 00:54:30 +02:00
Bartosz Taudul
b362baed5f Minor UI improvements. 2019-09-19 01:10:33 +02:00
Bartosz Taudul
6a0512fe16 Allow comparing frame times. 2019-09-16 22:02:47 +02:00
Bartosz Taudul
b99675ae60 Use thread color for collapsed zones. 2019-09-16 20:34:55 +02:00
Bartosz Taudul
36b2b8f71f Always return static thread color if dynamic colors are disabled. 2019-09-16 20:31:32 +02:00
Bartosz Taudul
5796f19a3b Focus out exact memory plot value. 2019-09-16 20:27:16 +02:00
Bartosz Taudul
5429f04614 Don't use source location data before it's ready. 2019-09-16 15:37:57 +02:00
Bartosz Taudul
6d00a56c61 Draw thread migrations across CPU cores. 2019-09-12 20:08:57 +02:00
Bartosz Taudul
23b6e5156b Display thread color in thread tooltip. 2019-09-11 19:01:27 +02:00
Bartosz Taudul
2872edce5d Use thread colors in context switch graph. 2019-09-11 18:56:54 +02:00
Bartosz Taudul
8ddafe4153 Extract color highlight functionality. 2019-09-11 18:52:25 +02:00
Bartosz Taudul
0850145811 Disable color box drag and drop. 2019-09-11 18:48:28 +02:00
Bartosz Taudul
2cec6f5482 Add thread colors to options menu. 2019-09-11 18:44:06 +02:00
Bartosz Taudul
4ea62ecb06 Extract small color box drawing. 2019-09-11 18:38:10 +02:00
Bartosz Taudul
00409b0b94 Extract thread color getter. 2019-09-11 18:34:48 +02:00
Bartosz Taudul
a5a6b11b63 Zones can now have dynamic colors. 2019-09-08 14:33:30 +02:00
Bartosz Taudul
2714152f84 Allow calculating zone depth. 2019-09-08 14:16:12 +02:00
Bartosz Taudul
c9a1d3d7e5 Display zone color in zone info window. 2019-09-08 13:19:43 +02:00
Bartosz Taudul
b7522ec4c1 Allow getting zone color sans higlights, etc. 2019-09-08 13:16:00 +02:00
Bartosz Taudul
17e6a97552 Let's leave this here. 2019-09-07 17:49:54 +02:00
Bartosz Taudul
a0814a2e5c Correctly calculate discontinuous frames time. 2019-09-07 17:39:39 +02:00
Bartosz Taudul
aac0a36a2d Don't use source location zones before they are ready. 2019-09-07 17:23:11 +02:00
Bartosz Taudul
3449f0777e Display zone time on frames plot. 2019-09-07 16:55:49 +02:00
Bartosz Taudul
0b1a6047f6 Add different highlight for zones selected on histogram. 2019-09-07 15:33:11 +02:00
Bartosz Taudul
57a2b62edc Display number of threads for pids in CPU data list. 2019-09-04 01:43:56 +02:00
Bartosz Taudul
aa2530d442 Display external thread name (if applicable) on CPU data timeline. 2019-08-31 19:37:05 +02:00
Bartosz Taudul
86cb477811 Pack ZoneThreadData.
This reduces struct size from 10 to 8 bytes. Assumes 48-bit pointers
(4-level paging)!

Memory savings (MB):

android     2766    ->  2757    (99%)
big         10.29 G ->  9902    (96%)
chicken     2244    ->  2172    (96%)
ctx-android 228     ->  224     (98%)
drl-l-b     1635    ->  1570    (96%)
gn-vulkan   244     ->  240     (98%)
long        5656    ->  5496    (97%)
q3bsp-mt    6043    ->  5784    (95%)
selfprofile 1554    ->  1486    (95%)
2019-08-31 00:55:51 +02:00
Bartosz Taudul
217a3781e6 Fix possible wrong process name for pid 0. 2019-08-30 00:59:54 +02:00
Bartosz Taudul
5e8b2a0723 Display wakeup times in zone wait regions list. 2019-08-28 23:03:16 +02:00
Bartosz Taudul
6f25ad5fcb Save per-trace options. 2019-08-28 21:35:08 +02:00
Bartosz Taudul
fc5293b1ae Only scroll message list to bottom if capture is live. 2019-08-28 21:04:28 +02:00
Bartosz Taudul
a2f968d843 Compress thread id in MessageData. 2019-08-28 21:03:01 +02:00
Bartosz Taudul
ede26b0caf Fix skipping zone levels. 2019-08-28 20:47:19 +02:00
Bartosz Taudul
85027c185d Extract notification area drawing to a separate function. 2019-08-28 20:27:39 +02:00
Bartosz Taudul
a8eb99efcc Add notification icons when a drawing a category is disabled. 2019-08-28 20:24:14 +02:00
Bartosz Taudul
5b0ccef373 Change some icons. 2019-08-28 20:17:38 +02:00
Bartosz Taudul
28a20e631e Preserve frame graph position and scale. 2019-08-28 19:52:36 +02:00
Bartosz Taudul
17d4a82ca5 Preserve timeline vertical scroll position. 2019-08-28 19:49:27 +02:00
Bartosz Taudul
f37797db44 Save/load view state. 2019-08-28 19:45:22 +02:00
Bartosz Taudul
dc5444ff0f Notify UserData that view state should be preserved.
This is only active when a trace is loaded from a file (and state should
be persistent for future sessions using this trace), or when state is
saved to a file (so that future sessions will use current state).

No state is preserved by default, i.e. when the trace was not saved to a
file.
2019-08-28 19:37:01 +02:00
Bartosz Taudul
949c9cb121 Move some view data to a separate structure. 2019-08-28 19:35:54 +02:00
Bartosz Taudul
2a0d6ce4ad Add notification area indicator for hidden timeline items. 2019-08-28 18:36:05 +02:00
Bartosz Taudul
ed83762a1a Keep things simple. 2019-08-28 01:29:58 +02:00
Bartosz Taudul
ef287c8aab Display external thread names of profiled program on CPU data timeline. 2019-08-27 23:17:53 +02:00
Bartosz Taudul
8eb7220dd7 Use the new thread name getter. 2019-08-27 23:08:14 +02:00
Bartosz Taudul
f8e3d1ad0a Try to fix current program's thread names.
External thread names can be cut-off to include only the first 15-or-so
characters. If a local thread name is known and its beginning matches
the external name, use the local name instead.
2019-08-27 22:41:03 +02:00
Bartosz Taudul
8bb13ca09e Use captured program name in CPU data.
This fixes android application names, which are cut to show only last
15-or-so letters.
2019-08-27 22:35:53 +02:00
Bartosz Taudul
eb78ecd0fd Display frame number in playback window. 2019-08-26 19:01:59 +02:00
Bartosz Taudul
3e4d3efbdb Extract frame number getter. 2019-08-26 19:01:51 +02:00
Bartosz Taudul
e5a11ad593 Allow sorting CPU data table by different columns. 2019-08-25 00:17:06 +02:00
Bartosz Taudul
4376757912 Display thread ids in options menu. 2019-08-24 23:43:36 +02:00
Bartosz Taudul
2b9ec14c92 Display threads ids as base-10 numbers. 2019-08-24 23:41:33 +02:00
Bartosz Taudul
1712431dfd Compress external threads. Saves 4 bytes per ctx switch.
Dropped support for loading context switch data in previous versions of
traces.
2019-08-19 23:09:58 +02:00
Bartosz Taudul
e60b2884f4 Mark local threads with different color. 2019-08-18 14:57:44 +02:00
Bartosz Taudul
9a3974b8f1 Display process times in graphical form. 2019-08-18 14:51:25 +02:00
Bartosz Taudul
2eed28b19f Highlight current process. 2019-08-18 14:46:59 +02:00
Bartosz Taudul
ae9cae781a Display CPU migrations percentage. 2019-08-18 14:44:00 +02:00
Bartosz Taudul
691fe06bfe Compare pids to determine if thread is local untracked. 2019-08-18 14:40:04 +02:00
Bartosz Taudul
95f4162870 Display number of tracked processes. 2019-08-18 14:30:52 +02:00
Bartosz Taudul
7a036b56b1 Add icon to CPU data button. 2019-08-18 14:30:01 +02:00
Bartosz Taudul
c5060da185 Display unknown pid as unknown. 2019-08-18 14:28:56 +02:00
Bartosz Taudul
faac08865a Display basic information about CPU usage. 2019-08-18 12:28:38 +02:00
Bartosz Taudul
fa573ef4cf Display PID. 2019-08-17 22:21:02 +02:00
Bartosz Taudul
1024992493 React to enter key in "go to frame" dialog. 2019-08-17 22:01:06 +02:00
Bartosz Taudul
258cf38d64 Fix flicker. 2019-08-17 21:59:08 +02:00
Bartosz Taudul
0ea8789f39 Display CPU core in waking up thread popup. 2019-08-17 21:24:40 +02:00
Bartosz Taudul
414f903cc5 Collect thread wakeup data. 2019-08-17 17:05:29 +02:00
Bartosz Taudul
f957f64ce1 No magic numbers. 2019-08-17 16:26:59 +02:00
Bartosz Taudul
65e62dea06 Display thread ids next to thread names in CPU data. 2019-08-17 03:06:54 +02:00
Bartosz Taudul
e975c4d7bf Also retrieve external thread names. 2019-08-16 19:49:16 +02:00
Bartosz Taudul
134a8c5d2a Fix positioning. 2019-08-16 19:32:25 +02:00
Bartosz Taudul
edd5338faa Display untracked threads. 2019-08-16 19:30:46 +02:00
Bartosz Taudul
fe7f56b022 Implement retrieval of external process names. 2019-08-16 19:22:23 +02:00
Bartosz Taudul
56e6795c76 Add per-cpu context switch tooltips. 2019-08-16 18:39:03 +02:00
Bartosz Taudul
7e81f3250e Add CPU tooltip. 2019-08-16 18:39:03 +02:00
Bartosz Taudul
8e71e2dba5 Draw per-CPU global context switch data. 2019-08-16 18:22:57 +02:00
Bartosz Taudul
8bc4258e29 Display count of per-cpu context switch data. 2019-08-16 16:51:18 +02:00
Bartosz Taudul
9e0fe226df Add small font. 2019-08-16 16:02:57 +02:00
Bartosz Taudul
95879d2bd9 Use proper UI element to indicate selectable items. 2019-08-16 00:12:03 +02:00
Bartosz Taudul
889eddd646 Pack ContextSwitchData. Saves 3 bytes per context switch region. 2019-08-15 23:53:47 +02:00
Bartosz Taudul
e90ddf7ee5 Don't search whole data set twice. 2019-08-15 23:03:37 +02:00
Bartosz Taudul
c22c259a13 Pack time and thread in MemEvent.
This saves 4 bytes per logged memory allocation. Memory savings for
selected traces:

android     2945 MB -> 2766 MB
chicken     2261 MB -> 2245 MB
q3bsp-mt    6085 MB -> 6043 MB
mem         6788 MB -> 6468 MB
2019-08-15 23:02:43 +02:00
Bartosz Taudul
41beff29a9 Remove redundant GetTimeBegin().
Traces now start at zero time.
2019-08-15 21:04:20 +02:00
Bartosz Taudul
5e20b3f28a Pack time and source location in LockEvent. 2019-08-15 20:39:16 +02:00
Bartosz Taudul
bf3ad57456 Pack start time and srcloc together in ZoneEvent.
This reduces ZoneEvent struct size by 2 bytes. Memory savings on various
captures:

10.62 GB -> 10.29 GB
 2342 MB ->  2276 MB
 1706 MB ->  1635 MB
 6277 MB ->  6085 MB
2019-08-15 20:17:36 +02:00
Bartosz Taudul
f5775a2d6e Display list of CPUs on which zone was running. 2019-08-15 20:17:36 +02:00
Bartosz Taudul
350e526ec0 Fix crash when zone exists before thread context switches appear. 2019-08-15 20:17:36 +02:00
Bartosz Taudul
659907c972 Store srcloc identifiers using 16 bit.
This reduces various structure sizes by 2 bytes. Memory usage reduction
on various traces:

big               11 GB -> 10.62 GB
chicken         2436 MB ->  2342 MB
drl-light-big   1761 MB ->  1706 MB
q3bsp-mt        6469 MB ->  6277 MB
2019-08-15 20:15:48 +02:00
Bartosz Taudul
416113fdcb Drop support for ETC1 frame images. 2019-08-15 16:29:50 +02:00
Bartosz Taudul
aa00b1c4c4 Add Win10 wait reasons. 2019-08-15 01:48:50 +02:00
Bartosz Taudul
690a6d12d7 Properly handle incomplete context switch data. 2019-08-14 22:10:54 +02:00
Bartosz Taudul
7549c50bab Fix time range reset condition. 2019-08-14 21:53:09 +02:00
Bartosz Taudul
26f417a841 Add option to display running time in find zone menu. 2019-08-14 21:33:43 +02:00
Bartosz Taudul
9ec0724ffb Support dynamic recalculation of min, max and total time. 2019-08-14 21:33:42 +02:00
Bartosz Taudul
ee77ff020a Optimize calculation of zone running time. 2019-08-14 20:47:21 +02:00
Bartosz Taudul
a5ef38812e Display list of regions where thread was waiting. 2019-08-14 18:28:52 +02:00
Bartosz Taudul
d520f1cc48 Display zone running time in zone tooltip. 2019-08-14 18:28:52 +02:00
Bartosz Taudul
1ae540c7a1 Display zone running time in zone info window. 2019-08-14 18:28:52 +02:00
Bartosz Taudul
858c94e12e Add interface for calculation zone running time. 2019-08-14 18:28:52 +02:00
Bartosz Taudul
0b12db5ee6 Display number of thread running state regions. 2019-08-14 17:36:19 +02:00
Bartosz Taudul
fadac0b433 Display thread running time. 2019-08-14 17:12:48 +02:00
Bartosz Taudul
72918cda19 Include recorded context switches in thread lifetime. 2019-08-14 17:03:33 +02:00
Bartosz Taudul
e39b1abce5 Handle linux wait states. 2019-08-14 14:02:31 +02:00
Bartosz Taudul
0bb0c10e3c Revert "Save one byte on ContextSwitchData."
Counting bits is hard, let's go shopping.
2019-08-14 13:55:05 +02:00
Bartosz Taudul
71a5cffc13 Add context switch tooltips. 2019-08-13 16:20:43 +02:00
Bartosz Taudul
d77c87ae1c Allow disabling context switch drawing. 2019-08-13 15:16:46 +02:00
Bartosz Taudul
874a2596f7 Improve context switches drawing. 2019-08-13 15:16:46 +02:00
Bartosz Taudul
7f856a1b16 Very bad context switch visualization. 2019-08-13 13:10:37 +02:00
Bartosz Taudul
8c494eabbf Display number of context switch regions. 2019-08-13 02:35:32 +02:00
Bartosz Taudul
8aa0be39d5 Drop support for CPU id queries. 2019-08-12 23:05:34 +02:00
Bartosz Taudul
a9b41eb657 Rework processing bad files. 2019-08-12 12:04:27 +02:00
Bartosz Taudul
530f293c49 Better way to handle auto scrolling. 2019-08-10 22:06:51 +02:00
Bartosz Taudul
853e9c17e3 Display client address. 2019-08-04 15:56:52 +02:00
Bartosz Taudul
07da2e506a Fix deadlock problems. 2019-08-04 15:55:42 +02:00
Rokas Kupstys
b24ac75111 Move connection window into a popup when connected. 2019-08-04 13:58:43 +03:00
Bartosz Taudul
eed7039853 Another GPU time adjust fix. 2019-08-04 01:42:44 +02:00
Bartosz Taudul
e87b8d455e Use Theil estimator randomized approximation. 2019-08-04 01:40:11 +02:00
Bartosz Taudul
6898fd9e42 GPU time adjust fixes. 2019-08-04 00:38:08 +02:00
Bartosz Taudul
9b7384b407 Fix multiple GPU drift entry fields. 2019-08-04 00:33:31 +02:00
Bartosz Taudul
323c37bd33 Fix GPU zone search. 2019-08-04 00:30:09 +02:00
Bartosz Taudul
a642abfde0 Implement automatic GPU clock drift calculation. 2019-08-04 00:23:23 +02:00
Bartosz Taudul
da88e32887 Display FPS counts next to frame times. 2019-08-03 15:20:31 +02:00
Bartosz Taudul
6c958f6177 Increase height of frame graph. 2019-08-03 14:55:08 +02:00
Bartosz Taudul
58003e7a6b Draw target frame time lines. 2019-08-03 14:55:08 +02:00
Bartosz Taudul
9b6c405485 Bin number shouldn't be floating point. 2019-08-02 19:43:08 +02:00
Bartosz Taudul
a4e7a341c0 Proper handling of disconnect request. 2019-08-01 23:14:09 +02:00
Bartosz Taudul
344d36086f Simplify loop. 2019-07-31 18:53:51 +02:00
Bartosz Taudul
f41834370c Also display number of visible messages. 2019-07-31 02:16:14 +02:00
Bartosz Taudul
ccd88a9e27 Add text coloring to memory window. 2019-07-31 02:06:01 +02:00
Bartosz Taudul
68df815ef6 Display total message count. 2019-07-31 00:34:24 +02:00
Bartosz Taudul
5dff7b5d1e AVX2 version of plot min max calculation.
Slightly faster (~5%) than the autovectorized serial code.
2019-07-29 20:59:22 +02:00
Bartosz Taudul
7a878cf4c7 Pause playback when playback window is closed. 2019-07-29 01:51:45 +02:00
Bartosz Taudul
461f49feb8 Fix drawing zones at extreme zoom out levels.
This is needed due to int64_t -> uint64_t zone end cast hack. There are
no side effects: zero time represents start of the timer, which would be
unix epoch or system bootup time.
2019-07-28 01:58:59 +02:00
Bartosz Taudul
2e8d20b6e8 Keep zone info windows headers at top. 2019-07-27 13:28:18 +02:00
Bartosz Taudul
1afcd24dc6 Use big font in zone info windows. 2019-07-27 13:25:31 +02:00
Bartosz Taudul
245c6f9f01 Use big font in lock info window. 2019-07-27 13:18:59 +02:00
Bartosz Taudul
93195b6647 Move trace version display to trace statistics section. 2019-07-27 13:14:44 +02:00
Bartosz Taudul
2654a3010c Keep trace info header at top of the window. 2019-07-27 13:13:50 +02:00
Bartosz Taudul
e1af87744b Use less space for call stack tree headers. 2019-07-27 13:10:53 +02:00
Bartosz Taudul
fb11d67d8e Keep memory window header at top. 2019-07-27 13:06:23 +02:00
Bartosz Taudul
a7ef99d0b0 Keep find zone, compare headers at top. 2019-07-26 23:43:41 +02:00
Bartosz Taudul
f2cdb64aae Display trace descriptions in compare menu. 2019-07-26 23:33:49 +02:00
Bartosz Taudul
be3b458f28 Load second trace user data in compare menu. 2019-07-26 23:25:03 +02:00
Bartosz Taudul
e5d5af84fd Allow setting custom description of the trace. 2019-07-26 23:21:28 +02:00
Bartosz Taudul
27965e8690 Add user data storage handler. 2019-07-26 23:15:12 +02:00
Bartosz Taudul
c1b70c6519 Display histogram time range on histogram. 2019-07-26 22:25:21 +02:00
Bartosz Taudul
5f96c55a3e Add background tasks notification tooltip. 2019-07-25 21:21:20 +02:00
Bartosz Taudul
9f29ddd562 Messages window should be scrollable due to thread list. 2019-07-25 20:50:30 +02:00
Bartosz Taudul
d3e8fe0133 Add messages filter clear button. 2019-07-25 20:49:44 +02:00
Bartosz Taudul
0f574b5547 Verify source file modification time against capture time. 2019-07-25 20:44:10 +02:00
Bartosz Taudul
c4b472b6e0 Ditto for call stack window. 2019-07-25 20:34:35 +02:00
Bartosz Taudul
269c3d4530 Keep statistics window headers always on top of the window. 2019-07-25 19:57:29 +02:00
Bartosz Taudul
2291b91ee0 Remove unnecessary separators. 2019-07-25 19:50:22 +02:00
Bartosz Taudul
30f76d34a3 Fix printf warnings. 2019-07-25 18:41:52 +02:00
Bartosz Taudul
e5a3d7aa25 Workaround scroll-to-message regression. 2019-07-24 21:40:39 +02:00
Bartosz Taudul
9ad9045078 Disable messages following when focusing on a message. 2019-07-24 02:21:51 +02:00
Bartosz Taudul
5da2076214 Add optional 2x zoom to frame images playback. 2019-07-19 00:51:52 +02:00
Bartosz Taudul
eceff55f5a Add message filtering. 2019-07-13 01:48:43 +02:00
Bartosz Taudul
387674a40a Auto-scroll message list to bottom. 2019-07-13 01:25:37 +02:00
Bartosz Taudul
bcecd6e3a6 Always keep message list options at top. 2019-07-13 00:40:02 +02:00
Bartosz Taudul
c48ab4cb23 Use big font in trace information window. 2019-07-12 19:19:36 +02:00
Bartosz Taudul
7fb9bde9e9 Pass big font to TracyView. 2019-07-12 19:16:56 +02:00
Bartosz Taudul
fc28f827bc Rearrange trace information window. 2019-07-12 19:12:04 +02:00
Bartosz Taudul
8c9d46ef29 Display application info in info window. 2019-07-12 18:39:07 +02:00
Bartosz Taudul
689f4999e3 Reorder threads by drag and drop. 2019-07-11 20:29:20 +02:00
Bartosz Taudul
6b06b64caf Smaller histogram controls. 2019-06-30 18:11:19 +02:00
Bartosz Taudul
10bcc8c770 Switch to DXT1 textures in profiler utility. 2019-06-27 19:14:51 +02:00
Bartosz Taudul
fc106079c5 Remove CPU migration highlight for zones. 2019-06-26 21:35:09 +02:00
Bartosz Taudul
bc3c375b02 Display crash icon in notification area. 2019-06-26 21:02:04 +02:00
Bartosz Taudul
b8794f64be Extract crash tooltip to a separate function. 2019-06-26 21:01:54 +02:00
Bartosz Taudul
a8dcd5d153 Ctrl-click on frame in frame overview to show playback window. 2019-06-23 00:11:46 +02:00
Bartosz Taudul
f125254d14 Cosmetics. 2019-06-23 00:00:16 +02:00
Bartosz Taudul
2f707bd152 Improve frame label drawing logic. 2019-06-22 23:49:30 +02:00
Bartosz Taudul
7217a99dc2 Always show at least one pixel of a frame in frame overview. 2019-06-22 22:48:32 +02:00
Bartosz Taudul
c48cd10f35 Don't divide by zero in zero-length zones. 2019-06-22 22:42:57 +02:00
Bartosz Taudul
1d4117f515 Fix typo. 2019-06-22 14:55:01 +02:00
Bartosz Taudul
ad26eaa9f1 Don't put "select/unselect all" buttons in a separate line. 2019-06-22 14:43:58 +02:00
Bartosz Taudul
0944eab707 Add background tasks icon. 2019-06-22 14:37:17 +02:00
Bartosz Taudul
e33690c5f3 Allow switching whitespace visibility in source code view. 2019-06-22 14:24:39 +02:00
Bartosz Taudul
18cef20db9 Silence signed/unsigned comparison warnings. 2019-06-22 14:15:25 +02:00
Bartosz Taudul
70a7033a64 Use proper type for iteration. 2019-06-22 14:07:26 +02:00
Bartosz Taudul
aaefd6e1d6 Simplify code. 2019-06-22 14:06:10 +02:00
Bartosz Taudul
54ae4c84ba Silence warning about unused variable. 2019-06-22 14:04:48 +02:00
Bartosz Taudul
323f0e1ae3 Don't create variable for exception in catch block. 2019-06-22 13:41:24 +02:00
Bartosz Taudul
eb4c7ca9ea Ignore useless warnings. 2019-06-22 13:40:00 +02:00
Bartosz Taudul
a3ce08a9f9 Display zone time as percentage of average zone time. 2019-06-22 13:22:13 +02:00
Bartosz Taudul
5fde56d96a Remove hidden zone time without profiling tooltip. 2019-06-22 13:10:46 +02:00
Bartosz Taudul
659ef87974 Animate highlighted messages on the timeline. 2019-06-21 14:25:51 +02:00
Bartosz Taudul
bb44e80e5a Use smaller UI elements in selected places. 2019-06-21 14:15:46 +02:00
Bartosz Taudul
8259816de3 Improve playback interruptions on user input. 2019-06-21 13:08:41 +02:00
Bartosz Taudul
ae4f9663aa Selecting frames stops playback. 2019-06-19 20:05:23 +02:00
Bartosz Taudul
51135c1d20 Pulse hover-info line on histograms. 2019-06-19 20:01:41 +02:00
Bartosz Taudul
d44c4b00fb Implement outliers cutoff in compare menu. 2019-06-18 22:27:25 +02:00
Bartosz Taudul
1a32edebf2 Extract text printing functions. 2019-06-18 20:43:28 +02:00
Bartosz Taudul
53863fe0e7 Set sane initial window sizes. 2019-06-17 23:49:10 +02:00
Bartosz Taudul
38ebc2e989 Add icon to "go to frame" button. 2019-06-17 01:13:32 +02:00
Bartosz Taudul
eed849c589 Add reset button to min bin value fields. 2019-06-17 01:12:24 +02:00
Bartosz Taudul
add5c0fb87 Perform proper division. 2019-06-17 01:09:25 +02:00
Bartosz Taudul
b2bbd95430 Changing log time requires bin cache reset. 2019-06-17 01:05:46 +02:00
Bartosz Taudul
f27cead040 Add hovered frame markers on histogram. 2019-06-17 01:01:56 +02:00
Bartosz Taudul
099933e66d Add outlier removal to frame time histogram. 2019-06-17 00:44:34 +02:00
Bartosz Taudul
efe65e2e64 Display currently hovered zone on histogram. 2019-06-16 17:14:47 +02:00
Bartosz Taudul
6a4f7ce1ca Track currently hovered zone. 2019-06-16 17:05:56 +02:00
Bartosz Taudul
6e8b5381a5 Ctrl-click on a zone to go straight to zone statistics. 2019-06-16 17:00:25 +02:00
Bartosz Taudul
d361261993 Open playback from frame using ctrl+left click. 2019-06-16 16:49:21 +02:00
Bartosz Taudul
d683699ba9 Don't recalculate histogram bins every frame.
This remedies slowdown that was only visible when a histogram of a large
number of zones (~100 million) was displayed. The slowdown was caused by
std::accumulate() calls over whole set of zones.
2019-06-16 16:41:52 +02:00
Bartosz Taudul
14398dd4e8 Move bin setup closer to bin usage. 2019-06-16 16:29:18 +02:00
Bartosz Taudul
761405e2a7 Clip histogram highlight to graph area. 2019-06-16 16:23:24 +02:00
Bartosz Taudul
89f798158f Implement outlier cutoff on histogram. 2019-06-16 01:58:44 +02:00
Bartosz Taudul
8009c6412e Add "minimum values in bin" parameter to histogram. 2019-06-16 01:58:44 +02:00
Bartosz Taudul
4186a71ee7 Cache sorted begin and end iterators. 2019-06-16 01:28:36 +02:00
Bartosz Taudul
26f223e4cd Don't shrink histogram bin buffers. 2019-06-16 00:25:22 +02:00
Bartosz Taudul
516bdcec9b Rewrite playback logic. 2019-06-13 00:12:06 +02:00
Bartosz Taudul
c43f8562ec Rename "sync view" to "sync timeline". 2019-06-12 23:46:14 +02:00
Bartosz Taudul
bdfd2c07be Right-click on a frame to set frame in playback. 2019-06-12 23:14:19 +02:00
Bartosz Taudul
afa967afb0 Flip frame image if need be. 2019-06-12 15:30:08 +02:00
Bartosz Taudul
29fd4b1fe9 Don't animate frame changes during playback. 2019-06-12 13:25:45 +02:00
Bartosz Taudul
a936f22a91 Add frame images playback window. 2019-06-12 01:48:11 +02:00
Bartosz Taudul
a3173965d6 Same for Vis() reference. 2019-06-09 17:51:37 +02:00
Bartosz Taudul
2aa6f70765 Drawing locks may invalidate Vis() iterator. 2019-06-09 17:46:59 +02:00
Bartosz Taudul
bef1988800 Compress frame images using LZ4. 2019-06-08 12:17:18 +02:00
Bartosz Taudul
f8a4909c96 Display number of frame images in a trace. 2019-06-06 23:21:36 +02:00
Bartosz Taudul
9cd95db4e3 Delay creation of frame image texture. 2019-06-06 23:14:49 +02:00
Bartosz Taudul
129155946b Actually set current texture pointer. 2019-06-06 23:10:01 +02:00
Bartosz Taudul
6ae4afa0f4 Display frame images also on frame time graph. 2019-06-06 22:43:39 +02:00
Bartosz Taudul
08fb2b7337 Tooltip cosmetics. 2019-06-06 22:32:20 +02:00
Bartosz Taudul
c46576a68c Flip UV. 2019-06-06 22:22:57 +02:00
Bartosz Taudul
beea31edd0 Show frame images in frame tooltips. 2019-06-06 22:22:57 +02:00
Bartosz Taudul
a37348c5c7 Increase contrast. 2019-06-06 01:45:41 +02:00
Bartosz Taudul
2b917c6adf Draw index area labels with contrast. 2019-06-06 01:40:23 +02:00
Bartosz Taudul
45039fc417 Don't format colored text where not necessary. 2019-06-03 01:36:03 +02:00
Bartosz Taudul
ff6768986e Move imgui extension function to an appropriate place. 2019-06-03 01:35:32 +02:00
Bartosz Taudul
42fefde161 Protect against plot range equal zero. 2019-06-03 01:19:01 +02:00
Bartosz Taudul
79215ea73e Implement linked selection in compare menu. 2019-06-02 15:40:19 +02:00
Bartosz Taudul
c05766e637 Display notification about worker background tasks. 2019-06-02 15:00:50 +02:00
Bartosz Taudul
96b1df67b9 Get proper yMin, yMax values. 2019-06-02 13:58:30 +02:00
Bartosz Taudul
9bbaab8897 Draw on a correct window. 2019-06-02 13:40:35 +02:00
Bartosz Taudul
3a561b4eed Save thread state should be atomic. 2019-06-02 13:15:55 +02:00
Bartosz Taudul
7aca6b72d1 Don't block worker when in save file dialog. 2019-05-28 19:57:18 +02:00
Bartosz Taudul
c93170cd42 Move saving trace dump to a separate thread. 2019-05-28 19:56:18 +02:00
Bartosz Taudul
845f3a2ddf Use std::shared_mutex for locking worker access. 2019-05-28 19:21:53 +02:00
Bartosz Taudul
61d775ecc8 Calculate end point before loop. 2019-05-19 16:26:59 +02:00
Bartosz Taudul
8f85a0da2c Don't check twice for the same thing. 2019-05-19 16:23:19 +02:00
Bartosz Taudul
007e434a05 Force inline FillPages(). 2019-05-19 13:46:53 +02:00
Bartosz Taudul
9122d3516c Force inline GetPage(). 2019-05-19 13:45:02 +02:00
Bartosz Taudul
30c398cd96 Don't allocate memory for empty pages in memory map. 2019-05-19 13:15:54 +02:00
Bartosz Taudul
952e466287 Rearrange code. 2019-05-19 12:47:45 +02:00
Bartosz Taudul
b95d834891 Split contended and uncontended locks in lock list. 2019-05-12 16:26:19 +02:00
Bartosz Taudul
0da1e8551f Track lock contention status. 2019-05-12 16:17:17 +02:00
Bartosz Taudul
63066cf6a5 Fix logic error. 2019-05-12 15:48:25 +02:00
Bartosz Taudul
e612cef6c2 Optimize drawing frames. 2019-05-11 13:47:06 +02:00
Bartosz Taudul
7cc5149355 Improve timeline message tooltips. 2019-05-10 20:36:06 +02:00