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
5c3095707a
Filter out invalid Windows filename characters.
...
Do so even on unix, to allow easy transfer of user config between
different machines.
2019-07-27 01:21:11 +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
c7e32a16ec
Assert on invalid file names.
2019-07-26 23:15:12 +02:00
Bartosz Taudul
27965e8690
Add user data storage handler.
2019-07-26 23:15:12 +02:00
Bartosz Taudul
34cc7183d0
Trace-specific save path retrieval.
2019-07-26 23:15:12 +02:00
Bartosz Taudul
3ec1771f5a
Move config directory retrieval to a separate function.
2019-07-26 22:42:50 +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
37c76edcd8
Explicitly require long long abs().
2019-07-25 18:36:27 +02:00
Bartosz Taudul
1b79c35aac
Don't use char8_t.
2019-07-25 12:58:16 +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
dc49f2f76a
Move DXT1 index conversion to server.
2019-07-19 21:46:58 +02:00
Bartosz Taudul
5da2076214
Add optional 2x zoom to frame images playback.
2019-07-19 00:51:52 +02:00
Bartosz Taudul
1c0c5f5282
Disable bilinear filtering for frame images.
2019-07-19 00:51:42 +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
2e774f4626
Save/load application info.
2019-07-12 18:45:35 +02:00
Bartosz Taudul
8c9d46ef29
Display application info in info window.
2019-07-12 18:39:07 +02:00
Bartosz Taudul
d64ab7db5a
Store app info messages.
2019-07-12 18:34:46 +02:00
Bartosz Taudul
689f4999e3
Reorder threads by drag and drop.
2019-07-11 20:29:20 +02:00
Bartosz Taudul
29d8911c6b
Fix Vector::erase().
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
7dc7ece2bd
Add staging area for frame images.
...
Compressing frame images on a separate thread may cause frame image
arrival before frames are sent. Fix this issue by creating a staging
area in which frame images will wait for frames to arrive.
This probably breaks playback functionality, as non-existent frames may
be queried, but this problem seems to be very hard to find, so let's
ignore it for now.
2019-06-27 13:24:35 +02:00
Bartosz Taudul
bb35f9a897
Compress frame images in a separate thread.
2019-06-27 13:24:35 +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
79bfac9ca9
Use proper popcnt for gcc/clang (including cygwin).
2019-06-24 18:56:04 +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
8f7be5a0fa
Allow only 2^32-1 frame images.
2019-06-22 14:11:45 +02:00
Bartosz Taudul
fadf8e3e0a
Can't read negative number of bytes.
...
This completely ignores error handling, which probably should be added.
The code behavior doesn't change, as the existing comparisons and
asserts already promoted the signed value to unsigned.
2019-06-22 14:08:48 +02:00
Bartosz Taudul
1c41229766
Use proper type for buffer size comparison.
2019-06-22 14:07:53 +02:00
Bartosz Taudul
70a7033a64
Use proper type for iteration.
2019-06-22 14:07:26 +02:00
Bartosz Taudul
1ea647a1dd
Use proper type for srcloc highlight decay value.
2019-06-22 14:06:25 +02:00
Bartosz Taudul
aaefd6e1d6
Simplify code.
2019-06-22 14:06:10 +02:00
Bartosz Taudul
6a82f666a7
Cosmetics.
2019-06-22 14:05:18 +02:00
Bartosz Taudul
54ae4c84ba
Silence warning about unused variable.
2019-06-22 14:04:48 +02:00
Bartosz Taudul
de953bfaa8
Use proper data type for callstack storage in GPU zones.
2019-06-22 14:04:27 +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
850815534e
Insert frame mark at beginning of on-demand connection.
2019-06-21 19:39:41 +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
99e638b3fc
Normalize values during compare by default.
2019-06-18 19:41:20 +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
31a4a45b14
Ignore memory free faults if running on apple.
...
There's a case in MoltenVK initialization where overloading operator new
and operator delete works for std::string destruction, but not
construction.
2019-06-13 14:15:17 +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
37d1457b44
Frame image may need flipping.
2019-06-12 15:28:32 +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
eb6ac5e6e1
Store frame reference in frame images.
2019-06-12 00:55:02 +02:00
Bartosz Taudul
38b76ea32d
Add frame images vector accessor.
2019-06-12 00:14:44 +02:00
Bartosz Taudul
5f8eadfb16
Release zone id stack.
2019-06-09 17:56:41 +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
b1f8d9fba1
Send server termination query on server disconnect.
2019-06-09 16:10:49 +02:00
Bartosz Taudul
2c780f1af4
Allow sending immediate termination query from server.
2019-06-09 16:10:49 +02:00
Bartosz Taudul
d6d7b82529
Ignore invalid frame images in on-demand mode.
2019-06-09 15:37:49 +02:00
Bartosz Taudul
50cda7720f
Handle frame image instrumentation failures.
2019-06-09 13:44:53 +02:00
Bartosz Taudul
bef1988800
Compress frame images using LZ4.
2019-06-08 12:17:18 +02:00
Bartosz Taudul
fc5a8f7e3a
Assign frame image to the correct frame (including offset).
2019-06-07 20:13:08 +02:00
Bartosz Taudul
8c912890f0
Proper case in includes.
2019-06-07 01:35:35 +02:00
Bartosz Taudul
ff5170d0e9
Silence warnings.
2019-06-07 01:03:28 +02:00
Bartosz Taudul
42a30bffe1
Frame images are now ETC1 compressed.
2019-06-07 00:31:51 +02:00
Bartosz Taudul
646e7327b8
Show loading progress of frame images.
2019-06-06 23:40:37 +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
6b2741ccdb
Save/load frame images.
2019-06-06 23:08:19 +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
cd2f572a2f
Use proper index.
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
82d4fe7236
Add texture wrapper.
2019-06-06 22:14:51 +02:00
Bartosz Taudul
af56f41e32
Add frame image accessor.
2019-06-06 22:14:51 +02:00
Bartosz Taudul
34b84bb284
Add frame image index to frame data.
2019-06-06 21:44:48 +02:00
Bartosz Taudul
e5bb6011c5
Frame image transfer prototype.
2019-06-06 21:39:54 +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
4f5286a860
Add unformatted colored text extension function.
2019-06-03 01:35:53 +02:00
Bartosz Taudul
ff6768986e
Move imgui extension function to an appropriate place.
2019-06-03 01:35:32 +02:00
Bartosz Taudul
c433e76c7a
Use TextUnformatted in TextCentered.
2019-06-03 01:28:45 +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
5681096486
Track status of worker background tasks.
2019-06-02 15:00:38 +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
0059cb3ab0
Switch default namespace display to "short".
2019-06-02 12:57:42 +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
145ca30df9
There's no __popcnt64 in 32 bit winapi.
2019-05-28 18:18:54 +02:00
Bartosz Taudul
b3812146cb
Fix atomics initialization.
2019-05-27 14:09:55 +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
a714cd4369
Typo.
2019-05-12 15:59:53 +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
Bartosz Taudul
74575250a5
Save message color data in trace dumps.
2019-05-10 20:32:47 +02:00
Bartosz Taudul
8cbd83c752
Use message color on message lists.
2019-05-10 20:26:27 +02:00
Bartosz Taudul
4850e19ebd
Store color in message data.
2019-05-10 20:26:27 +02:00
Bartosz Taudul
797ebd3caf
Cosmetics.
2019-05-10 20:20:08 +02:00
Bartosz Taudul
efc54babe3
Transfer of colored messages.
2019-05-10 20:17:44 +02:00
Bartosz Taudul
6a09229ae7
Remove error bars and collection cost from GPU zone display.
...
There's no way to know how much this takes on a GPU.
2019-05-10 02:31:23 +02:00
Bartosz Taudul
721a818dcc
Visual transition of error bars and collection cost markers.
2019-05-10 02:27:42 +02:00
Bartosz Taudul
54c8a882c9
Allow restricting call stack frame tree to active allocations.
2019-05-09 13:37:28 +02:00
Bartosz Taudul
a18a6869bc
Allow limiting frame stats to visible frames.
2019-04-26 23:19:31 +02:00
Bartosz Taudul
fdd96fe251
Allow changing frame set from trace info window.
2019-04-26 22:49:36 +02:00
Bartosz Taudul
26aa3a23fb
Display number of visible data points on a plot.
2019-04-23 17:17:25 +02:00
Bartosz Taudul
a7886cf82c
Replace linear search with hash lookup.
2019-04-03 16:24:16 +02:00
Bartosz Taudul
78e8d4aefe
Display query backlog.
2019-04-01 19:55:54 +02:00
Bartosz Taudul
20e6813461
Store send queue size in mbps block.
2019-04-01 19:55:37 +02:00
Bartosz Taudul
9010b2c142
Put queries into queue if send buffer is full.
2019-04-01 19:47:29 +02:00
Bartosz Taudul
deeea0ee70
Track space left in send buffer.
2019-04-01 19:37:39 +02:00
Bartosz Taudul
57dff0abc9
Add server query queue.
2019-04-01 19:26:50 +02:00
Bartosz Taudul
c07c6d11b7
Define server query packet.
2019-04-01 19:21:53 +02:00
Bartosz Taudul
45750a05a1
Only smooth zoom now.
2019-04-01 18:39:09 +02:00
Bartosz Taudul
cd774b9e96
Store two entries in zone self time cache.
...
This accounts for situation when zone information window is open and a
tooltip for another zone is displayed.
2019-03-30 00:54:22 +01:00
Bartosz Taudul
48a07bf4f8
Cache zone self times.
2019-03-30 00:52:25 +01:00
Bartosz Taudul
fef417f286
Store total number of CPU and GPU zones in trace.
2019-03-27 01:46:54 +01:00
Bartosz Taudul
2e6ac050f4
Use custom vector swap.
2019-03-26 23:02:39 +01:00
Bartosz Taudul
6c5efbfdce
Implement custom vector swap.
2019-03-26 23:02:32 +01:00
Bartosz Taudul
a632d9e2a3
Add zone vector cache.
...
Zone children will be now collected in staging vectors. When the zone is
ended (and no children can be added anymore to it), a size-fitted vector
is allocated using slab allocation. The over-allocated vector is then
put into cache for use in future zones.
This is only active for vectors <= 8192 elements, or 64 KB (chosen
arbitrarily), to reduce time spent on copying memory.
Overall, this change should have the following effects:
- System memory allocation pressure reduction, due to re-usage of
vectors, which eliminates the need for constant growth.
- Reduction of memory usage, because children vectors are now fitted to
required size.
- Slight increase of zone processing time, due to memory copying?
2019-03-26 22:06:00 +01:00
Bartosz Taudul
11f4dcbf1e
Consistent variable naming.
2019-03-26 21:41:44 +01:00
Bartosz Taudul
52f76a45ed
Display separators for bin counts in compare menu.
2019-03-26 20:27:28 +01:00
Bartosz Taudul
99fca9e069
Fix loading old traces when skipping locks.
2019-03-26 20:25:29 +01:00
Bartosz Taudul
fe675b91be
Ditto for frame counts.
2019-03-26 20:19:56 +01:00
Bartosz Taudul
021368fb59
Display bin counts with separators.
2019-03-26 20:18:20 +01:00
Bartosz Taudul
df3e8597c4
Focusing timeline on crash from trace info window.
2019-03-24 23:55:38 +01:00
Bartosz Taudul
7792963e31
Interaction with crash label in options menu.
2019-03-24 23:52:36 +01:00
Bartosz Taudul
2f397c892b
Middle click on crash label to center view on it.
2019-03-24 23:50:33 +01:00
Bartosz Taudul
1c495f077b
Allow changing display order of threads.
2019-03-24 13:54:36 +01:00
Bartosz Taudul
f7eca24e18
Use ordered thread vector in message list.
2019-03-24 13:41:14 +01:00
Bartosz Taudul
a633c50991
Use ordered threads vector in options.
2019-03-24 13:41:02 +01:00
Bartosz Taudul
e957590350
Mirror thread data in a reorderable vector.
2019-03-24 13:37:43 +01:00
Bartosz Taudul
6ad820a76a
Display tooltip for plot point over limits.
2019-03-23 02:24:45 +01:00
Bartosz Taudul
532bf19efa
Don't draw many illegible plot points.
2019-03-22 20:11:24 +01:00
Bartosz Taudul
e6baee2bf9
Reduce number of max plot probes per column.
2019-03-22 20:11:10 +01:00
Bartosz Taudul
3ccb831efb
Fix calculation of frame histogram data.
2019-03-21 21:30:08 +01:00
Bartosz Taudul
e79fa04a8b
Don't fail when timer accuracy is low.
2019-03-21 21:24:07 +01:00
Bartosz Taudul
fa556d2d65
Use common access-and-insert pattern for VisData.
2019-03-19 22:12:24 +01:00
Bartosz Taudul
fddba168c6
Track next time to search for.
2019-03-18 19:39:37 +01:00
Bartosz Taudul
f530dfb0e9
Apply the same optimization for GPU zones.
2019-03-18 18:48:27 +01:00
Bartosz Taudul
94a1957338
Optimize zone skipping.
2019-03-18 18:42:58 +01:00
Bartosz Taudul
02db5f52d1
Pass nspx to zone drawing functions.
2019-03-18 18:40:03 +01:00
Bartosz Taudul
2931c83442
Lookup further at the beginning of the collapsed zones area.
2019-03-18 18:32:45 +01:00
Bartosz Taudul
e19f2f26e1
Optimize drawing collapsed CPU zones.
2019-03-18 18:24:27 +01:00
Bartosz Taudul
b5fce70f25
Fix rapid advancing to next frames.
2019-03-17 20:51:54 +01:00
Bartosz Taudul
e034eabeb8
Animate plot ranges.
2019-03-17 17:21:30 +01:00
Bartosz Taudul
b6ccb9d686
Allocation times may be displayed relative to zone start.
2019-03-17 16:53:09 +01:00
Bartosz Taudul
d2cca5dc3f
Allow custom time offset in memory allocation list.
2019-03-17 16:47:44 +01:00
Bartosz Taudul
f0aadfe066
Don't push the same zone on zone info stack multiple times.
2019-03-17 16:43:20 +01:00
Bartosz Taudul
06421cf5ca
Always auto-resize memory allocation info window.
2019-03-17 16:39:27 +01:00
Bartosz Taudul
4914ef6b14
Display zone messages in zone info window.
2019-03-17 16:33:18 +01:00
Bartosz Taudul
016f7ac4b6
Allow retrieval of zone's thread data.
2019-03-17 16:17:47 +01:00
Bartosz Taudul
b4bfdb7872
Dim information about no memory events.
2019-03-17 02:56:26 +01:00
Bartosz Taudul
17718b4d25
Fix asserts.
2019-03-16 20:36:06 +01:00
Bartosz Taudul
28dfa21fda
Move conditional out of loop.
2019-03-16 14:46:21 +01:00
Bartosz Taudul
7e6a8135df
Remove double indirection in GetNextLockEvent().
2019-03-16 14:18:43 +01:00
Bartosz Taudul
6db1a9ccd4
Use lock thread ranges in lock tooltips.
2019-03-16 02:50:51 +01:00
Bartosz Taudul
833151b868
Don't search for lock events outside of thread range.
2019-03-16 02:50:51 +01:00
Bartosz Taudul
200621f952
Use lock ranges for early exclusion test.
2019-03-16 02:50:51 +01:00
Bartosz Taudul
67f14be6aa
Update lock ranges when loading trace.
2019-03-16 02:50:51 +01:00
Bartosz Taudul
8ced8a457c
Update thread time range on lock event insert.
2019-03-16 02:50:51 +01:00
Bartosz Taudul
dc981550a1
Load lock event time to a variable.
2019-03-16 02:50:51 +01:00
Bartosz Taudul
4d66317bc3
Add per-thread time ranges to lock maps.
2019-03-16 02:50:51 +01:00
Bartosz Taudul
71e20e7e7f
Store lock map as flat_hash_map with pointer values.
2019-03-16 02:50:51 +01:00
Bartosz Taudul
5fbc14c487
Fix skipping plots in version >= 0.4.5.
2019-03-15 15:27:37 +01:00
Bartosz Taudul
b43d962194
Set labels for input text fields.
2019-03-15 02:35:27 +01:00
Bartosz Taudul
6a36bb2fc2
Add hints to input text fields.
2019-03-15 01:31:06 +01:00
Bartosz Taudul
a10ec49a60
Don't use obsolete function.
2019-03-15 01:00:43 +01:00
Bartosz Taudul
5177629130
Add standard deviation explanation tooltips.
2019-03-14 01:34:50 +01:00
Bartosz Taudul
18e7b9df11
Add standard deviations to compare menu.
2019-03-14 01:32:50 +01:00
Bartosz Taudul
a0299cc63a
Optimize calculation of standard deviation.
2019-03-14 01:23:37 +01:00
Bartosz Taudul
f57cac9042
Initialize SourceLocationZones in-place.
2019-03-14 01:15:19 +01:00
Bartosz Taudul
d3fdd6b1d1
Display standard deviation.
2019-03-14 01:14:06 +01:00
Bartosz Taudul
d64f07f853
Don't search for thread for empty timelines.
2019-03-14 01:10:57 +01:00
Bartosz Taudul
b7fe29f750
Offload timeline statistics update to a background thread.
2019-03-13 01:46:05 +01:00
Bartosz Taudul
9563c8316d
Optimize lock drawing.
...
Don't iterate over locks that are present in only one thread, if only
contended lock events are to be displayed. Such locks cannot be
contended.
2019-03-09 14:20:34 +01:00
Bartosz Taudul
cbfd524b6c
Set sane messages window column widths.
2019-03-09 00:37:58 +01:00
Bartosz Taudul
815d7fdcb4
Set sane callstack window column widths.
2019-03-09 00:34:04 +01:00
Bartosz Taudul
5445ffb149
Set sane statistics window column widths.
2019-03-09 00:30:53 +01:00
Bartosz Taudul
0748655797
Allow opening source file view from statistics menu.
2019-03-09 00:15:23 +01:00
Bartosz Taudul
761a08b055
Dim location in statistics menu.
2019-03-09 00:08:57 +01:00
Bartosz Taudul
9fd8a20d7c
Use small checkbox in appropriate places.
2019-03-08 18:39:41 +01:00
Bartosz Taudul
e004dc85a9
Display waiting dots in "waiting for connection" window.
2019-03-07 17:00:40 +01:00
Bartosz Taudul
f69f9d4660
Disable window transparency.
2019-03-07 01:18:24 +01:00
Bartosz Taudul
535d7b2da1
Add waiting dots to statistics menu.
2019-03-07 00:59:43 +01:00
Bartosz Taudul
aa054f1f46
Add waiting dots to compare traces menu.
2019-03-07 00:59:02 +01:00
Bartosz Taudul
6e4bc7d9c5
Add waiting dots to memory data in zone info window.
2019-03-07 00:57:32 +01:00
Bartosz Taudul
d547700e50
Update time in a common location.
2019-03-07 00:57:25 +01:00
Bartosz Taudul
d0d7131e35
Properly restore threadMap.
...
This fixes thread ids returned by CompressThread in loaded traces. The
bug was manifesting by not displaying memory events in zone info window.
2019-03-07 00:49:25 +01:00
Bartosz Taudul
07bcca9dc0
Don't pre-fill threadExpand, if not needed.
2019-03-07 00:49:06 +01:00
Bartosz Taudul
f2f19241e6
Display waiting dots in find zone menu during precompute.
2019-03-06 18:25:39 +01:00
Bartosz Taudul
d5914d2e7b
Extract drawing waiting dots.
2019-03-06 18:16:21 +01:00
Bartosz Taudul
cee625b375
Animate frame selection expansion.
2019-03-06 01:45:39 +01:00
Bartosz Taudul
4b1c0ff0c5
Fix frame selection when zoom anim is active.
2019-03-06 01:45:26 +01:00
Bartosz Taudul
00de21f7e7
Smooth zooming on mouse scroll.
2019-03-06 01:15:38 +01:00
Bartosz Taudul
bc87762012
Merge native callstack with the allocated one.
2019-03-05 19:44:08 +01:00
Bartosz Taudul
ebf09bebae
Only one callstack may be in-flight at any time.
...
Save for the allocated callstack, but this will be solved in another
way. There's no need to keep pending callstacks in a map.
2019-03-05 19:44:08 +01:00
Bartosz Taudul
3e81e44d75
Separate processing for allocated callstacks.
...
Only native callstack is used for the moment.
2019-03-05 02:42:50 +01:00
Bartosz Taudul
e13286936c
Mark templated functions inline.
2019-03-03 22:09:20 +01:00
Bartosz Taudul
f6913eecf0
Don't display custom stack frames as pointers.
2019-03-03 18:20:55 +01:00
Bartosz Taudul
dc74297439
Add missing const qualifiers.
2019-03-03 18:05:03 +01:00
Bartosz Taudul
bef31ba073
Separate message for zone begin with alloc src loc and callstack.
2019-03-03 18:05:03 +01:00
Bartosz Taudul
66b8a13e77
Store callstack alloc payloads.
2019-03-03 18:05:03 +01:00
Bartosz Taudul
9fc022346b
Replace frame pointers with callstack frame ids.
2019-03-03 18:05:03 +01:00
Bartosz Taudul
664847211c
Pack/unpack frame pointer to callstack frame id.
2019-03-03 18:05:03 +01:00
Bartosz Taudul
1feedb17ac
Add callstack frame identifier and the required plumbing.
2019-03-03 18:05:03 +01:00
Bartosz Taudul
cf8d17c2ec
Move VarArray hash calculation to a separate function.
2019-03-03 18:05:03 +01:00
Bartosz Taudul
fc63b6b07d
Display trace version in trace info window.
2019-03-01 01:47:36 +01:00
Bartosz Taudul
6065d25335
Extend list of tracy callstack frames.
2019-03-01 01:41:10 +01:00
Bartosz Taudul
e284248995
Fix display of last message.
2019-03-01 01:30:56 +01:00
Bartosz Taudul
8fd09fe8f0
Get proper width.
2019-03-01 01:20:20 +01:00
Bartosz Taudul
42c94f7142
Handle discontinuous frame end mismatch failure.
2019-02-28 19:32:42 +01:00
Bartosz Taudul
d80dc82b96
Don't display invalid thread in failure dialog.
2019-02-28 19:31:45 +01:00
Bartosz Taudul
b4daad684c
Display frame numbers in zone trace.
2019-02-27 21:12:56 +01:00
Bartosz Taudul
8d784f7fae
Display inline frames in all call stacks.
2019-02-27 20:55:58 +01:00
Bartosz Taudul
422ed1f452
Special mode for callstack grouping in find zone menu.
2019-02-27 20:37:38 +01:00
Bartosz Taudul
851ae9077b
Make small callstack button tooltip optional.
2019-02-27 19:59:49 +01:00
Bartosz Taudul
e20e7caab0
Increase size of frame left/right buttons.
2019-02-27 19:58:44 +01:00
Bartosz Taudul
e9aeb0c522
Darken timeline outside of capture area.
2019-02-24 18:35:03 +01:00
Bartosz Taudul
fb96d60256
Adjust last time in mem alloc/free and sys time messages.
2019-02-24 18:26:23 +01:00
Bartosz Taudul
9f621bf67f
Improve lock label tooltips.
2019-02-24 17:44:44 +01:00
Bartosz Taudul
c78aedae62
Zoom-to-range for lock labels.
2019-02-24 17:30:58 +01:00
Bartosz Taudul
021d369b80
Fix calculation of thread lock extent.
2019-02-24 17:30:18 +01:00
Bartosz Taudul
271d7ccaa3
Bring plot tooltip up-to-par.
2019-02-24 17:01:46 +01:00
Bartosz Taudul
bf2ecbae36
Middle-click on thread label to zoom to thread extent.
2019-02-24 17:01:46 +01:00
Bartosz Taudul
62162d4cdb
Display count of messages and locks in thread tooltip.
2019-02-24 17:01:46 +01:00
Bartosz Taudul
6dceec4ea8
Improve thread tooltip.
...
- In addition to the first event time, also display last one and the
time period.
- Include messages and locks in thread events discovery.
2019-02-24 17:01:46 +01:00
Bartosz Taudul
a0b5ac33cc
Always show label of a crashed thread.
2019-02-23 01:34:45 +01:00
Bartosz Taudul
af3eb93e4a
Hide tracks that don't have anything to display.
2019-02-23 01:28:12 +01:00
Bartosz Taudul
7ab326c4fe
Don't clip area above track.
2019-02-23 00:59:09 +01:00
Bartosz Taudul
53992b9b6b
Don't hide hex thread id in tooltip.
2019-02-23 00:34:01 +01:00
Bartosz Taudul
29fcddca0b
Display frame count in frame type selection dropdown.
2019-02-22 21:07:33 +01:00
Bartosz Taudul
ae53c8e6f0
Don't display threads with no messages.
2019-02-22 21:07:33 +01:00
Bartosz Taudul
48b5b25a6a
Display count of messages in threads.
2019-02-22 21:07:33 +01:00
Bartosz Taudul
d0c1b9bf67
Proper formatting of plot values.
2019-02-21 23:07:32 +01:00
Bartosz Taudul
e190faa7e1
Save/load CPU usage plot.
2019-02-21 22:56:59 +01:00
Bartosz Taudul
e9baa80bf3
Process CPU usage reports.
2019-02-21 22:56:59 +01:00
Bartosz Taudul
f1dd4ef3d9
Animate thread position and height.
2019-02-21 21:18:41 +01:00
Bartosz Taudul
e945902f40
Merge visibility and show full options into one struct.
2019-02-21 20:24:08 +01:00
Bartosz Taudul
bc713463d8
Improve zooming animation.
2019-02-21 20:00:29 +01:00
Bartosz Taudul
3a562ae6c9
Fix display of unresolved call stack frames.
2019-02-19 16:37:34 +01:00
Bartosz Taudul
081b1069f6
Properly count number of locks in options menu.
2019-02-17 17:19:17 +01:00
Bartosz Taudul
9dd1d6a744
Don't display locks with no lock events.
2019-02-17 17:13:20 +01:00
Bartosz Taudul
a2819baa35
Split locks as single and multithreaded in options menu.
2019-02-17 17:06:39 +01:00
Bartosz Taudul
5cc738593f
Fix drawing lock highlight.
2019-02-17 16:57:52 +01:00
Bartosz Taudul
92a7e02e73
Highlight locks hovered in the options menu.
2019-02-17 16:53:33 +01:00
Bartosz Taudul
bec27f7d60
Handle highlighting lock in fast-exit code path.
2019-02-17 16:49:18 +01:00
Bartosz Taudul
1e32821097
Move drawing lock header to a separate function.
2019-02-17 16:49:03 +01:00
Bartosz Taudul
ea4f4ebb3a
Highlight selected/hovered lock.
2019-02-17 16:20:56 +01:00
Bartosz Taudul
4422fce55c
Don't decompress GpuZone threads while saving trace.
...
Saving the threads compressed in GPU zones and memory event has the
following result on trace dump sizes:
043/aa.tracy (0.4.3) {10055 KB} -> 044/aa.tracy (0.4.4) {9975 KB} 99.20% size change
043/android.tracy (0.4.3) {542739 KB} -> 044/android.tracy (0.4.4) {519248 KB} 95.67% size change
043/asset-new.tracy (0.4.3) {78403 KB} -> 044/asset-new.tracy (0.4.4) {75899 KB} 96.81% size change
043/asset-new-id.tracy (0.4.3) {84341 KB} -> 044/asset-new-id.tracy (0.4.4) {81771 KB} 96.95% size change
043/asset-old.tracy (0.4.3) {80688 KB} -> 044/asset-old.tracy (0.4.4) {78410 KB} 97.18% size change
043/big.tracy (0.4.3) {939577 KB} -> 044/big.tracy (0.4.4) {938427 KB} 99.88% size change
043/callstack.tracy (0.4.3) {14557 KB} -> 044/callstack.tracy (0.4.4) {14465 KB} 99.37% size change
043/callstack-linux.tracy (0.4.3) {6949 KB} -> 044/callstack-linux.tracy (0.4.4) {6942 KB} 99.90% size change
043/crash.tracy (0.4.3) {131 KB} -> 044/crash.tracy (0.4.4) {127 KB} 97.10% size change
043/crash2.tracy (0.4.3) {1422 KB} -> 044/crash2.tracy (0.4.4) {1412 KB} 99.29% size change
043/darkrl.tracy (0.4.3) {15767 KB} -> 044/darkrl.tracy (0.4.4) {15663 KB} 99.34% size change
043/darkrl2.tracy (0.4.3) {7947 KB} -> 044/darkrl2.tracy (0.4.4) {7886 KB} 99.23% size change
043/darkrl-old.tracy (0.4.3) {67448 KB} -> 044/darkrl-old.tracy (0.4.4) {67004 KB} 99.34% size change
043/deadlock.tracy (0.4.3) {5984 KB} -> 044/deadlock.tracy (0.4.4) {5986 KB} 100.03% size change
043/gn-opengl.tracy (0.4.3) {29005 KB} -> 044/gn-opengl.tracy (0.4.4) {28885 KB} 99.59% size change
043/gn-vulkan.tracy (0.4.3) {29352 KB} -> 044/gn-vulkan.tracy (0.4.4) {29257 KB} 99.68% size change
043/long.tracy (0.4.3) {1182800 KB} -> 044/long.tracy (0.4.4) {1176584 KB} 99.47% size change
043/mem.tracy (0.4.3) {1369067 KB} -> 044/mem.tracy (0.4.4) {1262406 KB} 92.21% size change
043/multi.tracy (0.4.3) {8004 KB} -> 044/multi.tracy (0.4.4) {7944 KB} 99.24% size change
043/new.tracy (0.4.3) {1108 KB} -> 044/new.tracy (0.4.4) {1099 KB} 99.18% size change
043/q3bsp-mt.tracy (0.4.3) {949855 KB} -> 044/q3bsp-mt.tracy (0.4.4) {937574 KB} 98.71% size change
043/q3bsp-st.tracy (0.4.3) {240347 KB} -> 044/q3bsp-st.tracy (0.4.4) {230092 KB} 95.73% size change
043/selfprofile.tracy (0.4.3) {197708 KB} -> 044/selfprofile.tracy (0.4.4) {197659 KB} 99.98% size change
043/tbrowser.tracy (0.4.3) {9503 KB} -> 044/tbrowser.tracy (0.4.4) {9503 KB} 100.00% size change
043/test.tracy (0.4.3) {40700 KB} -> 044/test.tracy (0.4.4) {40699 KB} 100.00% size change
043/virtualfile_hc.tracy (0.4.3) {72424 KB} -> 044/virtualfile_hc.tracy (0.4.4) {72304 KB} 99.83% size change
043/zfile_hc.tracy (0.4.3) {39419 KB} -> 044/zfile_hc.tracy (0.4.4) {39328 KB} 99.77% size change
2019-02-17 00:29:01 +01:00
Bartosz Taudul
760e9105d0
Don't decompress memory thread data while saving trace.
2019-02-17 00:27:41 +01:00
Bartosz Taudul
9ee494c0f4
Store thread compression layout in trace dump.
2019-02-16 22:48:29 +01:00
Bartosz Taudul
d030674b83
Simplify loading memory events.
2019-02-16 22:32:14 +01:00
Bartosz Taudul
569a9fb9be
Change order of file version checks during loading memory events.
2019-02-16 22:26:50 +01:00
Bartosz Taudul
88b7961421
Allocate memory for all zones at the current level at once.
2019-02-16 20:53:07 +01:00
Bartosz Taudul
470600fbc2
Don't thrash memory bandwith during file load.
2019-02-16 20:42:50 +01:00
Bartosz Taudul
c127f51767
Load time offsets to scratch buffers.
2019-02-15 02:46:25 +01:00
Bartosz Taudul
8fd685c877
Properly track memory usage in slab allocator.
2019-02-15 02:28:31 +01:00
Bartosz Taudul
23d12d2633
Allocate new block, if we're at the end of current one.
2019-02-15 02:04:37 +01:00
Bartosz Taudul
7b023e533d
Use big allocation mode for Vector's reserve_exact.
2019-02-15 01:59:33 +01:00
Bartosz Taudul
930190f2cb
Support big allocations in slab allocator.
2019-02-15 01:59:33 +01:00
Bartosz Taudul
1cefd4d8ac
Don't use reserve_exact for temporary things.
2019-02-15 01:43:30 +01:00
Bartosz Taudul
127be8e995
GpuEvent doesn't need init.
2019-02-15 01:31:58 +01:00
Bartosz Taudul
e8d15e8295
Mirror zone child grouping for GPU zones.
2019-02-14 01:38:34 +01:00
Bartosz Taudul
e24ac42755
Add self time to GPU zone info window.
2019-02-14 01:31:06 +01:00
Bartosz Taudul
0fad23dbae
Add GPU zone self time in tooltip.
2019-02-14 01:28:27 +01:00
Bartosz Taudul
f06609eb61
GPU child zones time getter.
2019-02-14 01:28:12 +01:00
Bartosz Taudul
92c1420c30
Improve handling of post-load background jobs.
...
Background tasks (source location zones sorting, reconstruction of
memory plot) are now started only after trace loading is finished.
Multithreaded sorting was previously impacting trace load times.
Only one thread is used to perform both jobs, one after another.
2019-02-14 01:17:37 +01:00
Bartosz Taudul
080873003b
Simplify support for 0.2 traces.
2019-02-14 01:13:11 +01:00
Bartosz Taudul
bd1c1d044b
Force inline read/write time offset functions.
2019-02-14 00:17:50 +01:00
Bartosz Taudul
631f81e9dc
Use Vector to store children data instead of std::vector.
2019-02-13 02:32:25 +01:00
Bartosz Taudul
40d0c72982
Use memcpy and memset instead of per-element copy and zero.
2019-02-13 02:23:56 +01:00
Bartosz Taudul
d854998856
Support non-trivially-copyable items in Vector.
2019-02-13 02:20:31 +01:00
Bartosz Taudul
08642d034b
Preserve string length in string map.
2019-02-12 22:11:15 +01:00
Bartosz Taudul
17e1894034
Add specialized string key for hash map.
2019-02-12 22:11:15 +01:00
Bartosz Taudul
ec37f59c14
Replace manual comparison with memcmp.
2019-02-12 22:11:15 +01:00
Bartosz Taudul
d32c070a9e
Two more places where connection can silently drop.
2019-02-12 11:07:12 +01:00
Bartosz Taudul
7f11260bf0
Handle dropped connection during handshake.
2019-02-12 01:41:09 +01:00
Bartosz Taudul
147b31f014
Implement grouping children zones.
2019-02-10 17:21:01 +01:00
Bartosz Taudul
76186f3221
Allow zone name retrieval from source location.
2019-02-10 16:45:19 +01:00
Bartosz Taudul
740486a0ce
Add children locations grouping button.
2019-02-10 16:14:13 +01:00
Bartosz Taudul
b7bd3696b7
Do not draw time subdividers on a nanosecond scale.
2019-02-10 16:04:04 +01:00
Bartosz Taudul
c7e64bb8a8
Replace select() with poll().
2019-02-10 15:45:23 +01:00
Bartosz Taudul
d18c3432a4
Fix call stack window.
2019-02-10 13:38:14 +01:00
Bartosz Taudul
2d50664180
Use multiply instead of divide.
2019-02-10 13:01:16 +01:00
Bartosz Taudul
f1940aab2e
Use help marker helper function.
2019-02-10 03:02:54 +01:00
Bartosz Taudul
96e38501b6
Use unformatted text drawing where possible.
2019-02-10 02:50:34 +01:00
Bartosz Taudul
3a8abdf9c1
Integer time specialization is not needed anymore.
2019-02-10 01:14:34 +01:00
Bartosz Taudul
2ad0258925
Don't print trailing zeros in fractions (e.g. 2.5 instead of 2.50).
2019-02-10 01:12:22 +01:00
Bartosz Taudul
af16872693
Don't display fractional part if it's 0.
2019-02-10 01:03:35 +01:00
Bartosz Taudul
e4f4fee6d4
Optimize printing days.
2019-02-10 01:02:57 +01:00
Bartosz Taudul
ee66b1354d
IntTable10 is not needed.
2019-02-10 00:51:13 +01:00
Bartosz Taudul
d940e315bd
Optimize TimeToString().
2019-02-08 22:11:06 +01:00
Bartosz Taudul
3c4394489c
Workaround GCC bug #67274 .
...
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67274
2019-02-08 11:54:29 +01:00
Bartosz Taudul
053932249c
Style fixes.
2019-02-08 02:29:24 +01:00
Dedmen Miller (Dedmenmiller)
8fb6c0dfcb
Merged in dedmenmiller/tracy/findZoneSorting (pull request #31 )
...
Add sorting for findZone zonelist
2019-02-08 00:53:48 +00:00
Dedmen Miller
ab0dc0da11
Use memcpy
2019-02-07 16:10:28 +01:00
Dedmen Miller
59ae188a7f
Cleanup
2019-02-07 14:51:34 +01:00
Dedmen Miller
7361d696c5
Return proper buf
2019-02-07 14:38:42 +01:00
Dedmen Miller
bfa5386bbe
Cleanup
2019-02-07 14:36:33 +01:00
Dedmen Miller
e4ef491fdf
Cleaner TimeToString
2019-02-07 13:14:52 +01:00
Dedmen Miller
92c872dfc0
Added sorting for findZone zonelist
2019-02-07 12:25:05 +01:00
Bartosz Taudul
0e6350d95e
Grouping by function names is a more sane default.
2019-02-06 23:09:38 +01:00
Bartosz Taudul
b945f83169
Don't separate inclusive/exclusive counts.
...
There is no way for one frame to have both. Coloring is preserved and is
now determined by presence of children.
2019-02-06 22:36:21 +01:00
Bartosz Taudul
1953a1a1d5
Notify user about pitfalls of function name grouping.
2019-02-06 22:02:59 +01:00
Bartosz Taudul
70ea9e7712
Implement grouping call stack tree by function names.
2019-02-06 21:56:49 +01:00
Bartosz Taudul
044b7e1522
Add function name grouping controls.
2019-02-06 21:45:26 +01:00
Bartosz Taudul
7aa24864bf
Make it easier to add new matches against tracy own stack frames.
2019-02-06 21:07:41 +01:00
Bartosz Taudul
104415ced8
Display base frame, not inline frame, if inlines are not shown.
2019-02-06 14:17:18 +01:00
Bartosz Taudul
c2e9c00a38
Add top-down call stack memory tree.
2019-02-06 13:53:14 +01:00
Bartosz Taudul
c689a494da
Move call stack paths calculation to a separate function.
2019-02-06 13:46:50 +01:00
Bartosz Taudul
dbf8115771
Same for linux.
2019-02-04 02:33:03 +01:00
Bartosz Taudul
4dc05195ca
Skip internal call stack capture inline frames for MSVC.
2019-02-04 02:27:13 +01:00
Bartosz Taudul
e801943b90
Array index is changing here.
2019-01-31 18:37:59 +01:00
Bartosz Taudul
b0d319890b
Allow sorting find zone groups by mean time per call.
2019-01-30 01:54:18 +01:00
Bartosz Taudul
c5fd347401
Initialize variable.
2019-01-29 23:18:36 +01:00
Bartosz Taudul
89ddfd0006
Remove dead code.
2019-01-29 23:18:36 +01:00
Bartosz Taudul
852fe03cbc
More references.
2019-01-29 22:10:14 +01:00
Bartosz Taudul
5e3390894d
Use preincrementation for iterators.
2019-01-29 22:01:47 +01:00
Bartosz Taudul
d6c616848c
Use reference instead of repeated deep dereferences.
2019-01-29 21:59:52 +01:00
Bartosz Taudul
1b3f10148d
Fix logic snafu.
2019-01-29 21:46:14 +01:00
Bartosz Taudul
d86e36cc62
Fix progress of loading CPU zones.
2019-01-26 22:18:07 +01:00
Bartosz Taudul
39680ad315
Boost lock loading time.
2019-01-24 22:44:09 +01:00
Bartosz Taudul
66a5e06803
Allow disconnecting from a client.
2019-01-24 19:00:34 +01:00
Bartosz Taudul
922993cbbb
Add placeholder worker disconnect command.
2019-01-24 18:51:55 +01:00
Dedmen Miller (Dedmenmiller)
e83e63caa4
Fix other lines
2019-01-24 15:02:36 +00:00
Dedmen Miller (Dedmenmiller)
72966a24a3
Fixed offset in histogram with non-log time
2019-01-24 14:16:23 +00:00
Bartosz Taudul
c67d91c6ac
Display numerical thread id in thread tooltip.
2019-01-23 18:15:19 +01:00
Bartosz Taudul
71f1a0b31e
Display self time percentage in find zone menu.
2019-01-23 18:11:47 +01:00
Bartosz Taudul
56b530e99c
Fix tooltip active area.
2019-01-23 18:04:31 +01:00
Bartosz Taudul
7f015b1b24
Implement self time in find zone menu.
2019-01-23 14:25:45 +01:00
Bartosz Taudul
92766430d9
Add "self time" checkbox to find zone menu.
2019-01-23 14:25:28 +01:00
Bartosz Taudul
42af2d14cc
Calculate self min and max times of source location zones.
2019-01-23 14:24:22 +01:00
Bartosz Taudul
118fab1561
Fast version of zone child time getter.
...
This one can only be used when all child zones are properly ended.
2019-01-23 13:59:14 +01:00
Bartosz Taudul
3d2cc2d54d
Display zone self time.
2019-01-23 13:44:11 +01:00
Bartosz Taudul
06292f1a3f
Add zone child time getter.
2019-01-23 13:39:44 +01:00
Bartosz Taudul
ef17699887
Fix order of inline and base subframes.
2019-01-21 17:12:01 +01:00
Bartosz Taudul
ddad475c19
Make it possible to store multiple frames at single frame address.
2019-01-20 19:11:48 +01:00
Bartosz Taudul
b9dc9f043c
Make nohash operator() const.
2019-01-20 18:41:26 +01:00
Bartosz Taudul
d4e9baa0d9
Display time savings also as time percentage.
2019-01-20 03:16:32 +01:00
Rokas K. (rku)
31bbdfe2f2
Merged in rokups/tracy/mingw-support (pull request #26 )
...
MingW support
2019-01-20 00:44:44 +00:00
Bartosz Taudul
f6edbccfc8
Fix triangle rendering.
2019-01-19 14:22:45 +01:00
Rokas Kupstys
8157e3a0b3
Fix builds with MingW.
2019-01-19 13:53:10 +02:00
Bartosz Taudul
92f3a4bba0
Add ZoneText and ZoneName to the C API.
2019-01-16 02:10:21 +01:00
Bartosz Taudul
49e270d8a6
Detect zone end without begin failure.
2019-01-16 00:45:48 +01:00
Bartosz Taudul
708fdfea49
Track memory alloc+free matching failures.
2019-01-15 18:56:26 +01:00
Bartosz Taudul
ecf9a299de
Check for proper number of failure reasons.
2019-01-15 18:56:17 +01:00
Bartosz Taudul
76ab70a948
Simplify failure detection code.
2019-01-15 18:55:47 +01:00
Bartosz Taudul
3e3ee0ec2f
There may be no source location associated with failure.
2019-01-15 18:54:41 +01:00
Bartosz Taudul
9944a73444
Store failure reason strings in Worker.
2019-01-15 18:42:15 +01:00
Bartosz Taudul
57decf5875
Display failure information.
2019-01-14 23:42:58 +01:00
Bartosz Taudul
ac6e7439e2
TODO: track memory allocation tracking failures.
2019-01-14 23:26:32 +01:00
Bartosz Taudul
c3246ca3b5
Gracefully store failure states.
2019-01-14 23:22:31 +01:00
Bartosz Taudul
4dc339c933
Close connection when zone validation fails.
2019-01-14 23:12:11 +01:00
Bartosz Taudul
c3b67e4482
Perform zone stack validation.
2019-01-14 23:08:34 +01:00
Bartosz Taudul
dcc6bee607
Process zone validation messages.
2019-01-14 22:56:10 +01:00
Bartosz Taudul
a5736a9c1b
Change crash visuals in options menu.
2019-01-14 18:48:16 +01:00
Bartosz Taudul
da8b01357d
Proper skipping of locks in 0.4.1+ (fixes compare menu).
2019-01-08 17:19:04 +01:00
Bartosz Taudul
cb50cf9de6
Last time is stored in worker.
2019-01-08 15:44:29 +01:00
Bartosz Taudul
9c6d037859
Another unneeded capture.
2019-01-06 21:15:49 +01:00
Bartosz Taudul
096022a718
Proper string printing.
2019-01-06 21:15:26 +01:00
Bartosz Taudul
d1beb12dc3
Remove unused variable.
2019-01-06 21:14:02 +01:00
Bartosz Taudul
13a0ddfe03
No need to perform capture here.
2019-01-06 21:11:36 +01:00
Bartosz Taudul
fbe8eb3585
Fix initialization of atomics.
2019-01-06 21:09:56 +01:00
Bartosz Taudul
6a1c552c61
Reduce zone loading time.
2019-01-06 20:49:37 +01:00
Bartosz Taudul
dabdf1360f
Display trace loading time.
2019-01-06 19:20:17 +01:00
Bartosz Taudul
77c9a8c407
Add support for notification text in View.
2019-01-06 19:14:24 +01:00
Bartosz Taudul
980c54e349
Track trace loading time.
2019-01-06 19:09:50 +01:00
Bartosz Taudul
5ac26ce084
Init common Worker variables in header.
2019-01-06 19:04:50 +01:00
Bartosz Taudul
a313ed4720
Track separate time offset for GPU times.
...
This is second version of 0.4.2 dump file format. Previous 0.4.2 format
cannot be read anymore.
041/aa.tracy (0.4.1) {18987 KB} -> 042/aa.tracy (0.4.2) {10051 KB} 52.94% size change
041/android.tracy (0.4.1) {696753 KB} -> 042/android.tracy (0.4.2) {542738 KB} 77.90% size change
041/asset-new.tracy (0.4.1) {97163 KB} -> 042/asset-new.tracy (0.4.2) {78402 KB} 80.69% size change
041/asset-new-id.tracy (0.4.1) {105683 KB} -> 042/asset-new-id.tracy (0.4.2) {84341 KB} 79.81% size change
041/asset-old.tracy (0.4.1) {100205 KB} -> 042/asset-old.tracy (0.4.2) {80688 KB} 80.52% size change
041/big.tracy (0.4.1) {2246014 KB} -> 042/big.tracy (0.4.2) {939578 KB} 41.83% size change
041/crash.tracy (0.4.1) {143 KB} -> 042/crash.tracy (0.4.2) {131 KB} 91.37% size change
041/crash2.tracy (0.4.1) {3411 KB} -> 042/crash2.tracy (0.4.2) {1420 KB} 41.63% size change
041/darkrl.tracy (0.4.1) {31818 KB} -> 042/darkrl.tracy (0.4.2) {15762 KB} 49.54% size change
041/darkrl2.tracy (0.4.1) {18778 KB} -> 042/darkrl2.tracy (0.4.2) {7945 KB} 42.31% size change
041/darkrl-old.tracy (0.4.1) {151346 KB} -> 042/darkrl-old.tracy (0.4.2) {67449 KB} 44.57% size change
041/deadlock.tracy (0.4.1) {53 KB} -> 042/deadlock.tracy (0.4.2) {52 KB} 98.55% size change
041/gn-opengl.tracy (0.4.1) {45860 KB} -> 042/gn-opengl.tracy (0.4.2) {29005 KB} 63.25% size change
041/gn-vulkan.tracy (0.4.1) {45618 KB} -> 042/gn-vulkan.tracy (0.4.2) {29352 KB} 64.34% size change
041/long.tracy (0.4.1) {1583550 KB} -> 042/long.tracy (0.4.2) {1182800 KB} 74.69% size change
041/mem.tracy (0.4.1) {1243058 KB} -> 042/mem.tracy (0.4.2) {1369067 KB} 110.14% size change
041/multi.tracy (0.4.1) {14519 KB} -> 042/multi.tracy (0.4.2) {8000 KB} 55.10% size change
041/new.tracy (0.4.1) {1439 KB} -> 042/new.tracy (0.4.2) {1105 KB} 76.75% size change
041/q3bsp-mt.tracy (0.4.1) {1414323 KB} -> 042/q3bsp-mt.tracy (0.4.2) {949855 KB} 67.16% size change
041/q3bsp-st.tracy (0.4.1) {301334 KB} -> 042/q3bsp-st.tracy (0.4.2) {240347 KB} 79.76% size change
041/selfprofile.tracy (0.4.1) {399648 KB} -> 042/selfprofile.tracy (0.4.2) {197704 KB} 49.47% size change
041/tbrowser.tracy (0.4.1) {13052 KB} -> 042/tbrowser.tracy (0.4.2) {9503 KB} 72.81% size change
041/test.tracy (0.4.1) {60309 KB} -> 042/test.tracy (0.4.2) {40700 KB} 67.49% size change
041/virtualfile_hc.tracy (0.4.1) {108967 KB} -> 042/virtualfile_hc.tracy (0.4.2) {72424 KB} 66.46% size change
041/zfile_hc.tracy (0.4.1) {58814 KB} -> 042/zfile_hc.tracy (0.4.2) {39418 KB} 67.02% size change
2019-01-03 21:52:43 +01:00
Bartosz Taudul
f8ef5b726a
Store time deltas, instead of absolute time in trace dumps.
...
This change greatly reduces the size of saved dumps, but increase the
cost of processing during loading. One notable outlier in the dataset
below is mem.tracy, which increased in size, even if changes in the
memory dump saving scheme decrease size of the other traces.
041/aa.tracy (0.4.1) {18987 KB} -> 042/aa.tracy (0.4.2) {10140 KB} 53.40% size change
041/android.tracy (0.4.1) {696753 KB} -> 042/android.tracy (0.4.2) {542738 KB} 77.90% size change
041/asset-new.tracy (0.4.1) {97163 KB} -> 042/asset-new.tracy (0.4.2) {78402 KB} 80.69% size change
041/asset-new-id.tracy (0.4.1) {105683 KB} -> 042/asset-new-id.tracy (0.4.2) {84341 KB} 79.81% size change
041/asset-old.tracy (0.4.1) {100205 KB} -> 042/asset-old.tracy (0.4.2) {80688 KB} 80.52% size change
041/big.tracy (0.4.1) {2246014 KB} -> 042/big.tracy (0.4.2) {943083 KB} 41.99% size change
041/crash.tracy (0.4.1) {143 KB} -> 042/crash.tracy (0.4.2) {131 KB} 91.39% size change
041/crash2.tracy (0.4.1) {3411 KB} -> 042/crash2.tracy (0.4.2) {1425 KB} 41.80% size change
041/darkrl.tracy (0.4.1) {31818 KB} -> 042/darkrl.tracy (0.4.2) {15897 KB} 49.96% size change
041/darkrl2.tracy (0.4.1) {18778 KB} -> 042/darkrl2.tracy (0.4.2) {8002 KB} 42.62% size change
041/darkrl-old.tracy (0.4.1) {151346 KB} -> 042/darkrl-old.tracy (0.4.2) {67945 KB} 44.89% size change
041/deadlock.tracy (0.4.1) {53 KB} -> 042/deadlock.tracy (0.4.2) {52 KB} 98.55% size change
041/gn-opengl.tracy (0.4.1) {45860 KB} -> 042/gn-opengl.tracy (0.4.2) {30983 KB} 67.56% size change
041/gn-vulkan.tracy (0.4.1) {45618 KB} -> 042/gn-vulkan.tracy (0.4.2) {31349 KB} 68.72% size change
041/long.tracy (0.4.1) {1583550 KB} -> 042/long.tracy (0.4.2) {1225316 KB} 77.38% size change
041/mem.tracy (0.4.1) {1243058 KB} -> 042/mem.tracy (0.4.2) {1369291 KB} 110.15% size change
041/multi.tracy (0.4.1) {14519 KB} -> 042/multi.tracy (0.4.2) {8110 KB} 55.86% size change
041/new.tracy (0.4.1) {1439 KB} -> 042/new.tracy (0.4.2) {1108 KB} 77.01% size change
041/q3bsp-mt.tracy (0.4.1) {1414323 KB} -> 042/q3bsp-mt.tracy (0.4.2) {949855 KB} 67.16% size change
041/q3bsp-st.tracy (0.4.1) {301334 KB} -> 042/q3bsp-st.tracy (0.4.2) {240347 KB} 79.76% size change
041/selfprofile.tracy (0.4.1) {399648 KB} -> 042/selfprofile.tracy (0.4.2) {197713 KB} 49.47% size change
041/tbrowser.tracy (0.4.1) {13052 KB} -> 042/tbrowser.tracy (0.4.2) {9503 KB} 72.81% size change
041/test.tracy (0.4.1) {60309 KB} -> 042/test.tracy (0.4.2) {40700 KB} 67.49% size change
041/virtualfile_hc.tracy (0.4.1) {108967 KB} -> 042/virtualfile_hc.tracy (0.4.2) {72839 KB} 66.85% size change
041/zfile_hc.tracy (0.4.1) {58814 KB} -> 042/zfile_hc.tracy (0.4.2) {39608 KB} 67.35% size change
2018-12-30 23:42:17 +01:00
Bartosz Taudul
ea396354d0
^F opens find zone menu and focuses on the input box.
2018-12-22 17:39:22 +01:00
Bartosz Taudul
2d143ce516
Add support for handling keyboard shortcuts.
2018-12-22 17:36:20 +01:00
Bartosz Taudul
4bb4a568ca
Move initialization of View values to header.
2018-12-22 17:22:26 +01:00
Bartosz Taudul
cd8d86edf3
Allow hiding "[unknown frames]" entries.
2018-12-21 21:10:29 +01:00
Bartosz Taudul
8c5670489c
Freeing nullptr is valid.
2018-12-20 17:03:09 +01:00
Bartosz Taudul
407fb61a30
Display maximum number of waiting threads for a lock.
2018-12-19 18:34:53 +01:00
Bartosz Taudul
0f2b61cf24
Display wait and hold times of locks.
2018-12-19 18:28:48 +01:00
Bartosz Taudul
df1a125fc0
Mirror find zone menu changes in compare menu.
2018-12-18 16:56:19 +01:00
Bartosz Taudul
a220f38fbd
Add support for matching source locations ignoring case.
2018-12-18 16:52:29 +01:00
Bartosz Taudul
acddcbd9bf
Add case-ignoring string matcher.
2018-12-18 16:52:05 +01:00
Bartosz Taudul
24235406a0
Enter key in find zone menu acts the same as pressing "find".
2018-12-18 16:40:23 +01:00
Bartosz Taudul
7fc03736f2
Add "ignore case" toggle to find zone menu.
2018-12-18 16:38:55 +01:00
Bartosz Taudul
a740074da6
Color tweaks.
2018-12-18 16:30:13 +01:00
Bartosz Taudul
b60d5b892a
Unify coloring of highlighted buttons.
2018-12-18 16:30:13 +01:00
Bartosz Taudul
c2485fbcb0
Add visual notification of an active toggle.
2018-12-18 16:30:13 +01:00
Bartosz Taudul
9e18db01c9
Menu bar buttons are now toggles.
2018-12-18 16:30:13 +01:00
Bartosz Taudul
79eb6a5836
Right click on lock in options to open info window.
2018-12-16 21:14:15 +01:00
Bartosz Taudul
9a7689c65d
Display lock announce, terminate and life time.
2018-12-16 21:09:37 +01:00
Bartosz Taudul
7376ec65b0
Store lock announce and terminate time in trace dump.
2018-12-16 21:09:37 +01:00
Bartosz Taudul
9360df89b1
Store announce and terminate time of locks.
2018-12-16 21:07:26 +01:00
Bartosz Taudul
f42d52923a
No-op processing of lock terminate events.
2018-12-16 20:46:33 +01:00
Bartosz Taudul
91171a6674
Draw zig-zag pattern over collapsed locks.
2018-12-16 20:20:27 +01:00
Bartosz Taudul
abad5574f3
Middle click on lock event to zoom to it.
2018-12-16 20:04:45 +01:00
Bartosz Taudul
8f6f54e412
Clicking on a lock event also opens lock info window.
2018-12-16 20:01:40 +01:00
Bartosz Taudul
444d5e20f0
Add basic lock info window.
2018-12-16 19:58:11 +01:00
Bartosz Taudul
ff8c9ab6dc
Properly terminate source file data.
2018-12-16 19:48:34 +01:00
Bartosz Taudul
1235a5aa0a
Allow discarding active trace.
2018-11-25 19:31:26 +01:00
Bartosz Taudul
fec0017bb6
Add third state (stopped) to the pause/resume button.
2018-11-25 19:15:16 +01:00
Bartosz Taudul
63f0dd72a5
Allow cancelling pending connection.
2018-10-23 19:49:57 +02:00
Bartosz Taudul
54baec9e7e
Fix drawing last collapsed non-contiguous frame.
2018-10-21 17:46:24 +02:00
Bartosz Taudul
556b3e8efe
Add "go to frame" functionality.
2018-10-21 17:36:27 +02:00
Bartosz Taudul
793e955480
Fix crash when loading a trace with unresolved strings.
...
Unresolved strings ("???") are not saved, but the internal string
pointers are saved. Resolving such string pointers caused a crash.
2018-10-21 16:38:20 +02:00
Bartosz Taudul
9342ba0e71
Don't track last frames in offline mode.
2018-10-21 16:03:21 +02:00
Bartosz Taudul
5280d6586b
Switching active frame set by clicking on a frame.
2018-10-21 15:46:02 +02:00
Bartosz Taudul
5f92b08b0d
Bump version to 0.4.0.
2018-10-09 19:29:06 +02:00
Bartosz Taudul
05c9325018
Highlight zones selected in the find zone menu.
2018-10-09 15:54:28 +02:00
Bartosz Taudul
4ca4c85976
Fix an edge case in zone drawing.
...
If the last zone on a track was not ended, and in the view's past
(beyond the left edge of the view) it was still included in calculation
of track height.
2018-10-06 12:58:38 +02:00
Bartosz Taudul
75ab9147d0
Reduce amount of information in "menu" bar.
...
Zone count, queue delay and timer resolution were moved to the trace
information window.
Time span and View span are now displayed as icons.
2018-10-05 23:02:23 +02:00
Bartosz Taudul
9e94dcd320
Fix zoom-to-allocation not working on selected allocations.
2018-10-05 21:13:31 +02:00
Bartosz Taudul
1a8b184d10
Mute inactive frame sets.
2018-10-05 21:10:37 +02:00
Bartosz Taudul
286a6cfe0a
Move check out of loop.
2018-10-05 21:03:04 +02:00
Bartosz Taudul
0d8b79f6c9
Don't miss frame separators.
2018-10-05 20:59:00 +02:00
Bartosz Taudul
81cf024498
Highlight message marker even if it's collapsed.
2018-10-05 20:40:10 +02:00
Bartosz Taudul
b7d2a690d9
Zoom to allocation range when middle clicking on address.
2018-09-28 11:43:45 +02:00
Bartosz Taudul
4960e691d4
Added ability to zoom to allocation range in allocation window.
2018-09-28 11:40:22 +02:00
Bartosz Taudul
428b7da1cc
The underlying vector might be reallocated.
2018-09-27 23:19:20 +02:00
Bartosz Taudul
6cfd53b274
Add allocations list window.
2018-09-27 23:19:20 +02:00
Bartosz Taudul
01e0bbb5f9
Build list of allocations in a given call stack tree entry.
2018-09-27 23:19:20 +02:00
Bartosz Taudul
9301986bae
Collect callstacks for each entry in call stack tree.
2018-09-27 22:56:44 +02:00
Bartosz Taudul
44fae53583
Display lock source location in tooltip.
2018-09-18 16:29:02 +02:00
Bartosz Taudul
06eec51ed9
Display locks source locations in options locks list.
2018-09-18 16:14:32 +02:00
Bartosz Taudul
5ddfda9170
Initialize capacity in vector, as it's checked by asserts.
2018-09-10 11:28:12 +02:00
Bartosz Taudul
9211ce42da
Non-on-demand client is only able to handle one connection.
2018-09-09 19:42:06 +02:00
Bartosz Taudul
984a711666
Send protocol version to verify handshake.
2018-09-09 19:28:53 +02:00
Bartosz Taudul
270072b09e
Require shibboleth match at start of connection.
2018-09-09 18:26:53 +02:00
Bartosz Taudul
806c8de463
Only one outgoing server connection is supported.
2018-09-09 17:47:20 +02:00
Bartosz Taudul
4471329661
Display time savings in the compare traces menu.
2018-09-08 20:23:49 +02:00
Bartosz Taudul
19f3c5f5ff
Ignore frames with 0 time.
2018-09-08 19:04:38 +02:00
Bartosz Taudul
2c43e1337f
Fast log10 is no longer needed.
2018-09-08 19:01:51 +02:00
Bartosz Taudul
2f9d0aa9eb
Use improved algorithm in compare trace histogram.
2018-09-03 21:26:50 +02:00
Bartosz Taudul
384a42cc47
Display average and median times in compare traces.
2018-09-03 20:45:51 +02:00
Bartosz Taudul
29d649216e
In compare traces put both total times in the same line.
2018-09-03 20:39:34 +02:00
Bartosz Taudul
9fb26b3622
If there's no group selected, dim group selection legend.
2018-09-03 20:36:40 +02:00
Bartosz Taudul
fc40c7bbf6
Calculate compare traces average, median.
2018-09-03 20:34:07 +02:00
Bartosz Taudul
b485aad2a3
Cosmetics.
2018-09-03 20:34:00 +02:00
Bartosz Taudul
e8b4f71f4a
Properly initialize sortedNum in find zone.
2018-09-03 20:21:28 +02:00
Bartosz Taudul
a02121d78a
Allow disabling average, median markers on frame set histogram.
2018-09-02 13:37:36 +02:00
Bartosz Taudul
0b0fa919d3
Find zone groups are now by default sorted by count.
2018-09-02 13:34:00 +02:00
Bartosz Taudul
fb013c0df5
Properly reset state when switching matched source locations.
2018-09-02 13:25:17 +02:00
Bartosz Taudul
08729c2b42
Allow disabling average and median time markers.
2018-09-02 13:06:09 +02:00
Bartosz Taudul
1bff8a7997
Draw group average and median times on histogram.
2018-09-02 13:00:21 +02:00
Bartosz Taudul
c3c48117d4
Display group average and median times.
2018-09-02 13:00:21 +02:00
Bartosz Taudul
2d3ce1bf25
Calculate group average and median times.
2018-09-02 13:00:21 +02:00
Bartosz Taudul
5733b420a1
Use the same algorithm for selection group binning.
2018-09-02 03:46:16 +02:00
Bartosz Taudul
c1630936d4
Use the improved method in find zone histogram.
2018-09-02 02:58:15 +02:00
Bartosz Taudul
854210a7e3
Fix find zone histogram selection start/end.
2018-09-02 02:09:29 +02:00
Bartosz Taudul
8152e213f8
Collapse separate find zone histogram paths into one.
2018-09-02 01:31:09 +02:00
Bartosz Taudul
f43b875b83
Display average and median zone time in find zone histogram.
2018-09-02 00:28:57 +02:00
Bartosz Taudul
f66ed00d71
Calculate sorted zone times for find zone histogram.
2018-09-02 00:19:15 +02:00
Bartosz Taudul
e81218ddaf
Radically improve frame set histogram performance.
...
This change exploits the fact that frame set data is sorted, and the
histogram bins can be calculated as distances in the frame-time vectors.
2018-09-01 14:50:38 +02:00
Bartosz Taudul
1bef4b45b7
Display continuous/discontinuous info about frame sets.
2018-09-01 14:04:23 +02:00
Bartosz Taudul
213b33a4fa
No need to check for zero value in a sorted set.
2018-09-01 13:55:25 +02:00
Bartosz Taudul
0c086e3a30
In-place merge new frames instead of re-sorting the whole set.
2018-09-01 13:34:02 +02:00
Bartosz Taudul
9f4d6692dc
Proper way to get full frame count.
2018-09-01 12:38:12 +02:00
Bartosz Taudul
faea036c16
Ignore last, probably unfinished frame.
2018-09-01 02:07:52 +02:00
Bartosz Taudul
c8a0bfd9be
Merge average and median lines, if they overlap.
2018-09-01 01:48:00 +02:00
Bartosz Taudul
8211eb1371
Display FPS ranges.
2018-09-01 01:48:00 +02:00
Bartosz Taudul
0825c40938
Display average and median frame times.
2018-09-01 01:48:00 +02:00
Bartosz Taudul
8df82278a5
Display frame set time as a percentage of profile time.
2018-09-01 01:48:00 +02:00
Bartosz Taudul
98b5363ebc
Add frame set histogram.
2018-09-01 01:48:00 +02:00
Bartosz Taudul
9b8a0a8364
Display total frame set time.
2018-09-01 01:48:00 +02:00
Bartosz Taudul
27a2d8595d
Time is int64_t.
2018-09-01 01:48:00 +02:00
Bartosz Taudul
cb47ac6165
Actually mark the data as used.
2018-09-01 01:01:41 +02:00
Bartosz Taudul
907da3265d
Fix string handling.
2018-08-31 20:08:04 +02:00
Bartosz Taudul
9da3364c77
Display non-rounded FPS in a tooltip.
2018-08-31 18:58:39 +02:00
Bartosz Taudul
230ee71368
Do not recalculate frame stats, if frame data didn't change.
2018-08-31 18:51:00 +02:00
Bartosz Taudul
4ee8e7c372
Also display frames per second for average and median frame times.
2018-08-31 18:43:25 +02:00
Bartosz Taudul
0d6d296e94
Display average and median frame times.
2018-08-31 15:32:30 +02:00
Bartosz Taudul
d977fa004d
Enable keyboard navigation.
2018-08-30 02:08:08 +02:00
Bartosz Taudul
0f5ee69668
Add missing include.
2018-08-29 23:25:42 +02:00
Bartosz Taudul
204cc019ea
Add file storage helpers.
2018-08-29 23:22:44 +02:00
Bartosz Taudul
81655816f0
Display captured program name and capture time.
2018-08-29 01:02:29 +02:00
Bartosz Taudul
8f1acf2571
Store explicit program name and capture time.
2018-08-29 01:02:29 +02:00
Bartosz Taudul
bc6a553a3a
Fetch thread names in memory events.
2018-08-28 01:48:19 +02:00
Bartosz Taudul
a5b99b54c8
Allow specifying FileWrite compression level.
...
Note that extreme compression level is not exposed in the update
utility.
% time update.exe long.tracy out.tracy
long.tracy (0.3.201) -> out.tracy (0.3.204)
update.exe long.tracy 0,00s user 0,00s system 0% cpu 13,464 total
% time update.exe --hc long.tracy outhc.tracy
long.tracy (0.3.201) -> outhc.tracy (0.3.204)
update.exe --hc long.trac 0,00s user 0,00s system 0% cpu 3:46,23 total
% ls -l long.tracy out*
-rw-r--r-- 1 wolf Brak 1621546031 07-30 22:51 long.tracy
-rw-r--r-- 1 wolf Brak 1621579467 08-26 16:44 out.tracy
-rw-r--r-- 1 wolf Brak 1397610127 08-26 16:48 outhc.tracy
2018-08-26 16:49:27 +02:00
Bartosz Taudul
b3b12f76f3
Add LZ4HC support to FileWrite.
2018-08-26 16:25:43 +02:00
Bartosz Taudul
d835d4da2a
Remove display of found allocations count.
2018-08-25 15:07:23 +02:00
Bartosz Taudul
256d905ed5
Hide memory address search in "allocations" section.
2018-08-25 15:05:22 +02:00
Bartosz Taudul
6ad184447a
Call stack window may now display frame addresses.
2018-08-21 17:55:59 +02:00
Bartosz Taudul
def6c674b2
Add crash notification to thread tooltip.
2018-08-20 14:37:14 +02:00
Bartosz Taudul
ebcdebaa69
Display crash marker on timeline.
2018-08-20 03:00:45 +02:00
Bartosz Taudul
5fa4cf6e5d
Display crash information on visible threads lists.
2018-08-20 02:41:11 +02:00
Bartosz Taudul
b1227cf9fd
Display crashed thread in red color.
2018-08-20 02:36:58 +02:00
Bartosz Taudul
99b7a39c52
Save/load crash information.
2018-08-20 02:27:24 +02:00
Bartosz Taudul
619fba41ab
Display crash information in info window.
2018-08-20 02:23:55 +02:00
Bartosz Taudul
2a696418cd
Cosmetics.
2018-08-20 02:23:55 +02:00
Bartosz Taudul
3b526b074e
Send crash report.
2018-08-20 02:23:55 +02:00
Bartosz Taudul
366ea35593
Allow crash event reporting.
...
When crash happens there's no longer anything to profile -- don't wait
for unfinished zones to finish before sending client terminate
confirmation.
2018-08-20 01:03:16 +02:00
Bartosz Taudul
e0a4b9c56a
Save/load host info.
2018-08-19 18:28:48 +02:00
Bartosz Taudul
71bfd15d9e
Display host info.
2018-08-19 18:24:43 +02:00
Bartosz Taudul
203d9b4b85
Store host info.
2018-08-19 18:21:56 +02:00
Bartosz Taudul
6224daf9c9
Greatly simplify call stack tree calculation.
...
Instead of caching paths, compute accumulated cost of each path and only
then create the tree, going through each path just once.
2018-08-19 16:34:26 +02:00
Bartosz Taudul
e1821e439a
Add icons to error pop-ups.
2018-08-19 02:59:12 +02:00
Bartosz Taudul
cb51fdec20
Fix multiple file name retrievals in a row.
2018-08-18 20:38:14 +02:00
Bartosz Taudul
42636cfe89
Allow viewing source files from within find zone menu.
2018-08-18 20:35:25 +02:00
Bartosz Taudul
2445cc72bc
Add icons to memory menu.
2018-08-18 20:10:14 +02:00
Bartosz Taudul
235da1eded
Use focused text for source locations count.
2018-08-18 20:01:57 +02:00
Bartosz Taudul
4060a59b4f
Call stack tree nodes that have no siblings are expanded by default.
2018-08-18 20:00:24 +02:00
Bartosz Taudul
a4df805746
Allow filtering messages by thread.
2018-08-18 19:57:36 +02:00
Bartosz Taudul
59293b1850
Enable support for restrict time in call stack tree.
2018-08-18 19:44:29 +02:00
Bartosz Taudul
1410ba6f01
Increase readability.
2018-08-18 19:34:17 +02:00
Bartosz Taudul
79c437ba7f
Let's not search in a map.
2018-08-18 19:29:04 +02:00
Bartosz Taudul
bd96c2ce51
Cache call stack tree paths.
2018-08-18 19:13:46 +02:00
Bartosz Taudul
7f0fb851b4
Force inline GetFrameTreeItem().
2018-08-18 18:46:16 +02:00
Bartosz Taudul
7ef6944246
Remove compare menu visual aids if extended font is not available.
2018-08-18 16:32:26 +02:00
Bartosz Taudul
410616f7f8
Allow viewing source from zone trace.
2018-08-18 14:26:10 +02:00
Bartosz Taudul
fb876344e3
No need for indentVal outside of scope.
2018-08-18 14:14:33 +02:00
Bartosz Taudul
b9e83871a8
Add visual aids to compare menu.
2018-08-18 14:02:20 +02:00
Bartosz Taudul
2852784f55
Separate global and level indices for call stack tree.
2018-08-18 02:23:55 +02:00
Bartosz Taudul
0757930521
Only display "go to parent" if there is a parent.
2018-08-18 02:12:34 +02:00
Bartosz Taudul
69dd0b72c1
Just accept const char ptr in ImGuiColorTextEdit.
2018-08-18 01:16:15 +02:00
Bartosz Taudul
2c7d457755
Highlight source buttons, if source file is displayed.
2018-08-18 00:28:36 +02:00
Bartosz Taudul
e8da52324d
Add memory icon to memory usage plot name.
2018-08-18 00:24:23 +02:00
Bartosz Taudul
07952f0a1f
Add icons to options menu.
2018-08-18 00:21:01 +02:00
Bartosz Taudul
8db30a9016
Add icon to statistics menu.
2018-08-18 00:09:23 +02:00
Bartosz Taudul
816c91922e
Add icons to memory menu.
2018-08-17 23:58:52 +02:00
Bartosz Taudul
441a5e257c
Add wifi icon to "waiting for connection" window.
2018-08-17 23:56:06 +02:00
Bartosz Taudul
b613a60c88
Add icons to compare menu.
2018-08-17 23:54:40 +02:00
Bartosz Taudul
4c228fe862
Add icons to find zone menu.
2018-08-17 23:52:03 +02:00
Bartosz Taudul
350fb6a5b0
Add icons to zone info window buttons.
2018-08-17 23:47:01 +02:00
Bartosz Taudul
cdee1d4ce4
Remove obsolete frame rounding setting.
2018-08-17 23:27:14 +02:00
Bartosz Taudul
0aebf614db
Add icons to pause/resume button.
2018-08-17 23:24:25 +02:00
Bartosz Taudul
940dda8fc1
Use helper header for icons.
2018-08-17 23:22:13 +02:00
Bartosz Taudul
e1e0e6e140
Centered text helper.
2018-08-17 23:07:58 +02:00
Bartosz Taudul
4c393a2b8d
Allow opening source files from withing call stack tree.
2018-08-17 22:51:26 +02:00
Bartosz Taudul
4e23ce9a24
Shared index for all call stack tree nodes.
2018-08-17 22:31:55 +02:00
Bartosz Taudul
07d2aaa1ad
Play a little animation when source file cannot be opened.
2018-08-17 22:23:16 +02:00
Bartosz Taudul
841f18885e
Add simple animation controller.
2018-08-17 22:23:04 +02:00
Bartosz Taudul
12f2080387
Right click on call stack file name to view source.
2018-08-17 22:06:59 +02:00
Bartosz Taudul
5752156695
Use "call stack" instead of "callstack".
2018-08-17 22:00:35 +02:00
Bartosz Taudul
0de3e088d9
Use icons in main profiler window buttons.
2018-08-17 19:03:35 +02:00
Bartosz Taudul
92284b65e7
Use save file icon.
2018-08-17 18:36:06 +02:00
Bartosz Taudul
9b1af05472
Use power off icon.
2018-08-17 18:33:56 +02:00
Bartosz Taudul
5125c2487b
Use exclamation icon instead of ascii representation.
2018-08-17 17:57:13 +02:00
Bartosz Taudul
2b3490e6f7
Handle window title setter callback in View.
2018-08-17 17:24:18 +02:00
Bartosz Taudul
b7ac41ab1b
Make the warning signs stand out more.
2018-08-17 17:08:16 +02:00
Bartosz Taudul
b76707ffa1
Render main profiler view in whole window.
2018-08-17 17:00:56 +02:00
Bartosz Taudul
df7db3bd2b
Notify profiler about root window size.
2018-08-17 16:54:56 +02:00
Bartosz Taudul
9416f5bb49
Add close button to loaded traces (not the window close one).
2018-08-17 16:34:58 +02:00
Bartosz Taudul
facae0b9e1
Draw text editor with potential source code.
2018-08-17 15:33:12 +02:00
Bartosz Taudul
d45efbe640
Don't reload source file, if it's already there.
2018-08-17 15:24:52 +02:00
Bartosz Taudul
5dc3d73ad6
Set cursor on proper line.
2018-08-17 15:21:37 +02:00
Bartosz Taudul
5cd61c4b07
Text editor needs fixed-width font.
2018-08-17 15:18:09 +02:00
Bartosz Taudul
5bd35eb34e
Open file preview in text editor.
2018-08-17 14:54:28 +02:00
Bartosz Taudul
9dbc56beb6
Initialize text editor.
2018-08-17 14:44:41 +02:00
Bartosz Taudul
6bf7b85260
Add file existence check.
2018-08-17 13:35:33 +02:00
Bartosz Taudul
27b2851291
Declare Vector moves as noexcept.
2018-08-17 13:10:27 +02:00
Bartosz Taudul
8cbb518f28
Display average allocation sizes.
2018-08-14 18:48:29 +02:00
Bartosz Taudul
df14cf5330
Implement callstack tree of memory allocations.
2018-08-14 18:37:06 +02:00
Bartosz Taudul
c2c0f887aa
Display srcloc, callstack counts.
2018-08-14 16:41:27 +02:00
Bartosz Taudul
a15a287a6b
Don't over-allocate vectors, when exact needed size is known.
...
This reduces memory usage when loading saved traces. Memory usage
reduction observed on a selected number of traces:
5625.76 MB -> 5330.29 MB
3292.94 MB -> 2978.66 MB
632.77 MB -> 479.58 MB
681.32 MB -> 506.27 MB
11.9 GB -> 11.22 GB
854.21 MB -> 806.17 MB
10.57 GB -> 7175.31 MB
67.38 MB -> 66.63 MB
2026.12 MB -> 1744.2 MB
86.55 MB -> 85.57 MB
343.64 MB -> 244.81 MB
201.93 MB -> 162.25 MB
2018-08-09 19:41:15 +02:00
Bartosz Taudul
a14a6fa8fb
Don't shadow variables.
2018-08-09 19:41:15 +02:00
Bartosz Taudul
dbf4de0694
Allow exact size allocations in Vector.
2018-08-09 19:41:15 +02:00
Bartosz Taudul
68dd90cb94
Also display exact memory allocation size.
2018-08-09 02:27:55 +02:00
Bartosz Taudul
92c1685528
Fix shortening of negative memory values.
2018-08-09 02:25:47 +02:00
Bartosz Taudul
96ecf47ecf
Add profiler FPS and memory usage to info window.
2018-08-08 20:53:01 +02:00
Bartosz Taudul
4a9cbafc7e
Proper formatting of memory sizes.
2018-08-08 20:38:58 +02:00
Bartosz Taudul
7d465aab1d
Add memory size formatting.
2018-08-08 20:38:58 +02:00
Bartosz Taudul
29c6498890
Add minimal trace info window.
2018-08-08 19:25:13 +02:00
Bartosz Taudul
a51da71fa4
Add lock, plot counts to worker.
2018-08-08 19:21:53 +02:00
Bartosz Taudul
237bb06dd6
Move frame set selection button to the right.
2018-08-08 18:40:31 +02:00
Bartosz Taudul
3e622cda6b
Decapitalize "zone" in "Find Zone".
2018-08-08 18:40:20 +02:00
Bartosz Taudul
2a08687afe
Left click on message marker displays it on the msg list.
2018-08-05 16:57:21 +02:00
Bartosz Taudul
1d6f388a81
Middle-click on message marker to center on it.
2018-08-05 16:47:49 +02:00
Bartosz Taudul
1d0203ac17
Abstracted away one-frame-decay values.
2018-08-05 16:45:34 +02:00
Bartosz Taudul
44e027ad11
Highlight message markers on timeline.
2018-08-05 16:37:51 +02:00
Bartosz Taudul
eb7064f13d
Display frame set tooltip.
2018-08-05 13:33:18 +02:00
Bartosz Taudul
44fecc4390
Improve rendering of small discontinuous frames.
2018-08-05 13:29:44 +02:00
Bartosz Taudul
d36b0aff45
Fix progress of loading GPU zones.
2018-08-05 13:07:58 +02:00
Bartosz Taudul
d590fa7ce2
Display that frames are discontinuous in options.
2018-08-05 02:30:41 +02:00
Bartosz Taudul
cb9f243987
Fix navigation in discontinuous frames.
2018-08-05 02:27:59 +02:00
Bartosz Taudul
947f829797
Fix drawing discontinuous frames.
2018-08-05 02:23:26 +02:00
Bartosz Taudul
9d051cf5ee
Add support for discontinuous frames.
2018-08-05 02:15:54 +02:00
Bartosz Taudul
cbb45160af
Disable zoom anim on user interaction.
2018-08-05 01:23:00 +02:00
Bartosz Taudul
1b44b31eff
Prevent range-zoom when range has zero length.
2018-08-05 01:20:26 +02:00
Bartosz Taudul
2acea5da3c
Also draw zig-zag on too-small zones.
2018-08-04 23:32:53 +02:00
Bartosz Taudul
3869c1dbca
Count frames from 1, not 0.
2018-08-04 23:21:58 +02:00
Bartosz Taudul
6b8a3b25ba
Fix drawing of last frame.
2018-08-04 23:19:35 +02:00
Bartosz Taudul
9cd6932b13
Draw zig-zag in place of invisible (too small) frames.
2018-08-04 23:11:47 +02:00
Bartosz Taudul
f385e5520b
Draw frame separators only if the frame set is selected.
2018-08-04 21:51:46 +02:00
Bartosz Taudul
1282aa9739
Darken frame set counter, if it is disabled.
2018-08-04 21:48:40 +02:00
Bartosz Taudul
37f42a52fb
Proper frame names on frames graph.
2018-08-04 21:46:26 +02:00
Bartosz Taudul
acabdf3c2a
Implement switching between frame sets.
2018-08-04 21:43:29 +02:00
Bartosz Taudul
88d9307d7a
Allow disabling frame sets.
2018-08-04 21:26:01 +02:00
Bartosz Taudul
1ea1cd57b3
Use proper frame names.
2018-08-04 21:19:24 +02:00
Bartosz Taudul
aad3e941e5
Draw multiple frame sets.
2018-08-04 21:10:45 +02:00
Bartosz Taudul
83eac36949
Add FrameData vector accessor.
2018-08-04 21:10:45 +02:00
Bartosz Taudul
9b4348b497
Handle frame name queries.
2018-08-04 21:10:45 +02:00
Bartosz Taudul
4424a7d7e8
Last time should never be zero.
2018-08-04 21:10:45 +02:00
Bartosz Taudul
5e9b2e36be
Make getting start of time less cryptic.
2018-08-04 21:10:45 +02:00
Bartosz Taudul
23dfc2e3fc
Multiple frame sets support.
2018-08-04 21:10:45 +02:00
Bartosz Taudul
0b4c2724ce
Add strings to map directly in StringDiscovery.
2018-08-04 17:10:45 +02:00
Bartosz Taudul
ada9f78678
Use StringDiscovery for plots.
2018-08-04 16:33:03 +02:00
Bartosz Taudul
d2c866377e
Extract unique string discovery from worker.
...
This class is responsible for handling data sets that should be grouped
together, but which may come with different name pointers.
It is a generalization of the plot merging functionality.
2018-08-04 16:25:11 +02:00
Bartosz Taudul
e174e2c12a
Remove obsolete comment.
...
Nothing happens with the source data, as the strings are uniquely stored
in the StoreString() function.
2018-08-04 15:46:10 +02:00
Bartosz Taudul
6ef2d2d9a3
Track progress of loading plots.
2018-08-04 15:17:37 +02:00
Bartosz Taudul
8de214b4d5
Display number of events for items in options menu.
2018-08-04 15:09:52 +02:00
Bartosz Taudul
ea588072f2
Stop connection window from jumping around.
2018-08-04 14:50:31 +02:00
Bartosz Taudul
672925ac04
Add separators to frame numbers.
2018-07-29 21:56:30 +02:00
Bartosz Taudul
0d76ccfb71
Add days to time-to-string converter.
2018-07-29 21:14:56 +02:00
Bartosz Taudul
d04126eabe
Make time-to-string more readable.
2018-07-29 21:09:11 +02:00
Bartosz Taudul
2eddbeb164
Use ctrl key to zoom-out using selection range.
2018-07-29 20:53:29 +02:00
Bartosz Taudul
1cf168c95e
Fix impossible zoom animation.
2018-07-29 20:53:29 +02:00
Bartosz Taudul
310203101f
Stop zoom-range-selection when zooming to range.
...
This also disables zoom range selection when middle click is used to
zoom view to a selected zone.
2018-07-29 20:53:29 +02:00
Bartosz Taudul
b4f4fcfde9
Add zoom-to-middle-mouse-button-selection-range.
2018-07-29 20:15:49 +02:00
Bartosz Taudul
18896044c4
Display explicit names of loaded things.
2018-07-29 16:56:46 +02:00
Bartosz Taudul
9f13475b52
Track trace version in worker.
2018-07-29 15:33:48 +02:00
Bartosz Taudul
13509c14f1
Save size of 'active' and 'frees' memory data structures.
2018-07-29 15:29:56 +02:00
Bartosz Taudul
00d07e39f7
Save threadExpand size to allow vector preallocation.
2018-07-29 15:19:44 +02:00
Bartosz Taudul
bff6eb4c34
Save source location zones counts.
...
This allows preallocation of zones-in-source-location vectors.
2018-07-29 14:58:01 +02:00
Bartosz Taudul
12b90d1630
Move tracy version to a separate header.
2018-07-29 14:20:44 +02:00
Bartosz Taudul
ccc5c37af5
Always count source location zones.
2018-07-29 14:16:13 +02:00
Bartosz Taudul
4456c8a454
Reserve space for string data.
2018-07-29 14:13:29 +02:00
Bartosz Taudul
766bf45a2b
Fix initialization of atomics.
2018-07-28 20:13:06 +02:00
Bartosz Taudul
8ddf32bc6b
Highlight zones with the same srcloc on hover.
2018-07-28 19:53:11 +02:00
Bartosz Taudul
648070e6a1
Include each loaded zone in sub progress.
2018-07-28 19:22:28 +02:00
Bartosz Taudul
4741dab833
Track sub progress.
2018-07-28 19:05:01 +02:00
Bartosz Taudul
a14238c199
Add sub progress display.
2018-07-28 18:56:52 +02:00
Bartosz Taudul
6a3a9c0bc5
Load second trace on a separate thread.
2018-07-28 18:47:33 +02:00
Bartosz Taudul
a46425f4e9
Adjust load stages.
2018-07-28 18:26:00 +02:00
Bartosz Taudul
0bf0ceed3d
Track trace loading progress.
2018-07-28 17:59:17 +02:00
Bartosz Taudul
a54ff1f56d
Use 'μ' instead of 'u' to indicate micro.
2018-07-28 01:06:36 +02:00
Bartosz Taudul
149812c071
Always keep main profiler window on bottom.
2018-07-26 23:38:45 +02:00
Bartosz Taudul
d84d0b7754
Don't try to read empty timelines.
2018-07-22 21:15:28 +02:00
Bartosz Taudul
25116a8059
Don't try to compress invalid thread.
2018-07-22 21:13:42 +02:00
Bartosz Taudul
010cf66e43
Call Vector destructors.
2018-07-22 21:01:45 +02:00
Bartosz Taudul
29159069ab
Properly initialize child index.
2018-07-22 20:14:55 +02:00
Bartosz Taudul
7d7877517e
Also remove child vectors from GPU events.
2018-07-22 19:47:01 +02:00
Bartosz Taudul
3a934b2ba3
Store children vectors in a separate data collection.
...
This reduces per-zone memory cost by 9 bytes if there are no children
and increases it by 4 bytes, if there are children. This is universally
a better solution, as the following data shows:
+++ /home/wolf/desktop/tracy-old/android.tracy +++
Vectors: 2794480
Size 0: 2373070 (84.92%)
Size 1: 70237 (2.51%)
Size 2+: 351173 (12.57%)
+++ /home/wolf/desktop/tracy-old/asset-new.tracy +++
Vectors: 1799227
Size 0: 1482691 (82.41%)
Size 1: 93272 (5.18%)
Size 2+: 223264 (12.41%)
+++ /home/wolf/desktop/tracy-old/asset-new-id.tracy +++
Vectors: 1977996
Size 0: 1640817 (82.95%)
Size 1: 97198 (4.91%)
Size 2+: 239981 (12.13%)
+++ /home/wolf/desktop/tracy-old/asset-old.tracy +++
Vectors: 1782395
Size 0: 1471437 (82.55%)
Size 1: 88813 (4.98%)
Size 2+: 222145 (12.46%)
+++ /home/wolf/desktop/tracy-old/big.tracy +++
Vectors: 180794047
Size 0: 172696094 (95.52%)
Size 1: 2799772 (1.55%)
Size 2+: 5298181 (2.93%)
+++ /home/wolf/desktop/tracy-old/darkrl.tracy +++
Vectors: 12014129
Size 0: 11611324 (96.65%)
Size 1: 134980 (1.12%)
Size 2+: 267825 (2.23%)
+++ /home/wolf/desktop/tracy-old/mem.tracy +++
Vectors: 383097
Size 0: 321932 (84.03%)
Size 1: 854 (0.22%)
Size 2+: 60311 (15.74%)
+++ /home/wolf/desktop/tracy-old/new.tracy +++
Vectors: 77536
Size 0: 63035 (81.30%)
Size 1: 8886 (11.46%)
Size 2+: 5615 (7.24%)
+++ /home/wolf/desktop/tracy-old/selfprofile.tracy +++
Vectors: 22940871
Size 0: 22704868 (98.97%)
Size 1: 73000 (0.32%)
Size 2+: 163003 (0.71%)
+++ /home/wolf/desktop/tracy-old/tbrowser.tracy +++
Vectors: 962682
Size 0: 695380 (72.23%)
Size 1: 43007 (4.47%)
Size 2+: 224295 (23.30%)
+++ /home/wolf/desktop/tracy-old/virtualfile_hc.tracy +++
Vectors: 529170
Size 0: 449386 (84.92%)
Size 1: 15694 (2.97%)
Size 2+: 64090 (12.11%)
+++ /home/wolf/desktop/tracy-old/zfile_hc.tracy +++
Vectors: 264849
Size 0: 220589 (83.29%)
Size 1: 9386 (3.54%)
Size 2+: 34874 (13.17%)
2018-07-22 16:05:50 +02:00
Bartosz Taudul
eb1475ebd4
Add single-value Vector constructor.
2018-07-22 16:01:58 +02:00
Bartosz Taudul
be40ee9dbc
Fix crash when there's no callstack.
2018-07-22 00:13:23 +02:00
Bartosz Taudul
59c188a18d
Invalid callstack is 0, not UINT64_MAX.
2018-07-22 00:13:11 +02:00
Bartosz Taudul
fbfc0e151d
Replace combo lists with radio buttons.
2018-07-22 00:04:41 +02:00
Bartosz Taudul
d1cef20c0b
Allow sorting groups by time.
2018-07-21 23:58:50 +02:00
Bartosz Taudul
59e0f3d490
Use precalculated zone group time.
2018-07-21 23:54:35 +02:00
Bartosz Taudul
cacbac8915
Calculate and display group times.
2018-07-21 23:53:11 +02:00
Bartosz Taudul
d03356c1f5
Rename "threads" to "groups" in find zone data structs.
2018-07-21 23:41:50 +02:00
Bartosz Taudul
36c207fb51
Fix some unused variables.
2018-07-21 21:35:35 +02:00
Bartosz Taudul
9291a88020
Zones can be now also grouped by call stack.
2018-07-21 20:26:13 +02:00
Bartosz Taudul
3c6baf53da
Memory alloc range hover also works on allocation lists.
2018-07-19 15:55:15 +02:00
Bartosz Taudul
389e0facd3
Draw memory allocation range on mouse hover on mem event.
2018-07-19 15:43:45 +02:00
Bartosz Taudul
108ba20af8
Fix closing memory allocation info window.
2018-07-18 00:25:02 +02:00
Bartosz Taudul
e8726c72b1
Display memory allocation range on memory plot.
2018-07-18 00:21:16 +02:00
Bartosz Taudul
9ab09d9867
Only show "same zone" if zones are valid.
2018-07-17 23:32:29 +02:00
Bartosz Taudul
84d0f1a3ea
Indicate inspected memory address on alloc list.
2018-07-17 23:17:46 +02:00
Bartosz Taudul
cf3bf4378b
No need to return MemEvent ptr from DrawAddress().
2018-07-17 23:13:56 +02:00
Bartosz Taudul
18a460e782
Clicking on mem address in alloc list displays info window.
2018-07-17 23:08:10 +02:00
Bartosz Taudul
0889334462
Add memory allocation info window.
2018-07-17 23:03:03 +02:00
Bartosz Taudul
6485a090ed
Separate small callstack button setup.
2018-07-17 22:53:38 +02:00
Bartosz Taudul
fc310ce15a
Fix check.
2018-07-17 18:29:07 +02:00
Rokas Kupstys
8a8faa3d6c
Added __has_include(<execution>) back.
2018-07-17 19:25:26 +03:00
Rokas Kupstys
5c75fe292f
Fix msvc builds when required c++ standard version is set to lower than c++17.
...
Also use latest available c++ standard which allows using older VS versions that only support c++14.
2018-07-17 18:29:48 +03:00
Rokas Kupstys
ab8d2c553a
Merged in rokups/tracy/fix-unix-build (pull request #15 )
...
Fix build errors with some compilers due to using std::max(float, double).
2018-07-17 14:21:20 +00:00
Rokas Kupstys
064385fc62
Define ImVec2 math operators only when IMGUI_DEFINE_MATH_OPERATORS is undefined.
2018-07-17 16:37:45 +03:00
Rokas Kupstys
abfa90012f
Fix build errors with some compilers due to using std::max(float, double).
2018-07-17 16:36:41 +03:00
Bartosz Taudul
807d2a02bc
Display collapsed zones counts with separators.
2018-07-16 01:24:43 +02:00
Bartosz Taudul
acf3bc7d43
Show only contended locks by default.
2018-07-15 20:29:35 +02:00
Bartosz Taudul
c6ea032de3
GPU source location may not yet be available.
2018-07-15 19:00:40 +02:00
Bartosz Taudul
21da3bca63
Don't create lz4buf on stack.
2018-07-14 16:02:33 +02:00
Bartosz Taudul
561d2dc360
Use the fastest mutex available.
...
The selection is based on the following test results:
MSVC:
=== Lock test, 6 threads ===
=> NonRecursiveBenaphore
No contention: 11.641 ns/iter
2 thread contention: 141.559 ns/iter
3 thread contention: 242.733 ns/iter
4 thread contention: 409.807 ns/iter
5 thread contention: 561.544 ns/iter
6 thread contention: 785.845 ns/iter
=> std::mutex
No contention: 19.190 ns/iter
2 thread contention: 39.305 ns/iter
3 thread contention: 58.999 ns/iter
4 thread contention: 59.532 ns/iter
5 thread contention: 103.539 ns/iter
6 thread contention: 110.314 ns/iter
=> std::shared_timed_mutex
No contention: 45.487 ns/iter
2 thread contention: 96.351 ns/iter
3 thread contention: 142.871 ns/iter
4 thread contention: 184.999 ns/iter
5 thread contention: 336.608 ns/iter
6 thread contention: 542.551 ns/iter
=> std::shared_mutex
No contention: 10.861 ns/iter
2 thread contention: 17.495 ns/iter
3 thread contention: 31.126 ns/iter
4 thread contention: 40.468 ns/iter
5 thread contention: 15.677 ns/iter
6 thread contention: 64.505 ns/iter
Cygwin (clang):
=== Lock test, 6 threads ===
=> NonRecursiveBenaphore
No contention: 11.536 ns/iter
2 thread contention: 121.082 ns/iter
3 thread contention: 396.430 ns/iter
4 thread contention: 672.555 ns/iter
5 thread contention: 1327.761 ns/iter
6 thread contention: 14151.955 ns/iter
=> std::mutex
No contention: 62.583 ns/iter
2 thread contention: 3990.464 ns/iter
3 thread contention: 7161.189 ns/iter
4 thread contention: 9870.820 ns/iter
5 thread contention: 12355.178 ns/iter
6 thread contention: 14694.903 ns/iter
=> std::shared_timed_mutex
No contention: 91.687 ns/iter
2 thread contention: 1115.037 ns/iter
3 thread contention: 4183.792 ns/iter
4 thread contention: 15283.491 ns/iter
5 thread contention: 27812.477 ns/iter
6 thread contention: 35028.140 ns/iter
=> std::shared_mutex
No contention: 91.764 ns/iter
2 thread contention: 1051.826 ns/iter
3 thread contention: 5574.720 ns/iter
4 thread contention: 15721.416 ns/iter
5 thread contention: 27721.487 ns/iter
6 thread contention: 35420.404 ns/iter
Linux (x64):
=== Lock test, 6 threads ===
=> NonRecursiveBenaphore
No contention: 13.487 ns/iter
2 thread contention: 210.317 ns/iter
3 thread contention: 430.855 ns/iter
4 thread contention: 510.533 ns/iter
5 thread contention: 1003.609 ns/iter
6 thread contention: 1787.683 ns/iter
=> std::mutex
No contention: 12.403 ns/iter
2 thread contention: 157.122 ns/iter
3 thread contention: 186.791 ns/iter
4 thread contention: 265.073 ns/iter
5 thread contention: 283.778 ns/iter
6 thread contention: 270.687 ns/iter
=> std::shared_timed_mutex
No contention: 21.509 ns/iter
2 thread contention: 150.179 ns/iter
3 thread contention: 256.574 ns/iter
4 thread contention: 415.351 ns/iter
5 thread contention: 611.532 ns/iter
6 thread contention: 944.695 ns/iter
=> std::shared_mutex
No contention: 20.805 ns/iter
2 thread contention: 157.034 ns/iter
3 thread contention: 244.025 ns/iter
4 thread contention: 406.269 ns/iter
5 thread contention: 387.985 ns/iter
6 thread contention: 468.550 ns/iter
Linux (arm64):
=== Lock test, 6 threads ===
=> NonRecursiveBenaphore
No contention: 20.891 ns/iter
2 thread contention: 211.037 ns/iter
3 thread contention: 409.962 ns/iter
4 thread contention: 657.441 ns/iter
5 thread contention: 828.405 ns/iter
6 thread contention: 1131.827 ns/iter
=> std::mutex
No contention: 50.884 ns/iter
2 thread contention: 103.620 ns/iter
3 thread contention: 332.429 ns/iter
4 thread contention: 620.802 ns/iter
5 thread contention: 783.943 ns/iter
6 thread contention: 834.002 ns/iter
=> std::shared_timed_mutex
No contention: 64.948 ns/iter
2 thread contention: 173.191 ns/iter
3 thread contention: 490.352 ns/iter
4 thread contention: 660.668 ns/iter
5 thread contention: 1014.546 ns/iter
6 thread contention: 1451.553 ns/iter
=> std::shared_mutex
No contention: 64.521 ns/iter
2 thread contention: 195.222 ns/iter
3 thread contention: 490.819 ns/iter
4 thread contention: 654.786 ns/iter
5 thread contention: 955.759 ns/iter
6 thread contention: 1282.544 ns/iter
2018-07-14 00:39:01 +02:00
Bartosz Taudul
a26ab263dd
Select/unselect all plot visibility.
2018-07-14 00:10:38 +02:00
Bartosz Taudul
f4f7e58e88
Add select/unselect all threads visibility option.
2018-07-14 00:08:37 +02:00
Arvid Gerstmann
0b1c2ebc8f
Define M_PI_2 if not already done
2018-07-13 23:41:12 +02:00
Bartosz Taudul
96042891f7
Reintroduce explicit template type for std::lock_guard.
...
Requested in issue #4 for support of older MSVC versions.
2018-07-13 12:30:29 +02:00
Bartosz Taudul
90a874f311
Require MSVC 15.7 for <execution> support.
2018-07-13 12:26:02 +02:00
Bartosz Taudul
c8b5b9447d
Ignore dangling memory frees in on-demand mode.
2018-07-12 01:35:32 +02:00
Bartosz Taudul
e5064dec1e
Store on-demand connection state.
2018-07-12 01:21:04 +02:00
Bartosz Taudul
d1ddaa8d59
Store frame offset in trace dumps.
2018-07-10 22:56:41 +02:00
Bartosz Taudul
fe449f366f
Use frame offset for frame count and missed frames display.
2018-07-10 22:51:24 +02:00
Bartosz Taudul
a78981e040
Store on-demand frame offset.
2018-07-10 22:42:00 +02:00
Bartosz Taudul
6a9caabc63
Send on-demand initial payload message.
2018-07-10 22:37:39 +02:00
Bartosz Taudul
c056f3be41
Send keep alive messages to determine if client disconnected.
2018-07-10 21:39:17 +02:00
Bartosz Taudul
a5381337f6
Don't use obsolete function.
2018-07-10 20:49:29 +02:00
Bartosz Taudul
045f792e84
Keep one profiler window size for all captures.
2018-07-10 20:47:09 +02:00
Bartosz Taudul
c7952e4d4f
Move "without profiling" to tooltip in zone info window.
2018-06-29 19:02:44 +02:00
Bartosz Taudul
4ae317109d
Improve compare menu histogram tooltip.
2018-06-29 18:57:49 +02:00
Bartosz Taudul
b190a15ef6
Display numerical thread id in memory plot tooltip.
2018-06-29 18:54:19 +02:00
Bartosz Taudul
9329c761f6
Improve plot tooltips.
2018-06-29 18:52:28 +02:00
Bartosz Taudul
bcd2fc027d
Improve lock tooltips.
2018-06-29 18:49:47 +02:00
Bartosz Taudul
a918d9a401
Improve compressed zones tooltips.
2018-06-29 18:47:33 +02:00
Bartosz Taudul
c8361205da
Improve timeline tooltips.
2018-06-29 18:46:05 +02:00
Bartosz Taudul
8228f4131b
Improve frame header tooltip.
2018-06-29 18:44:07 +02:00
Bartosz Taudul
c92d8cf7a3
Improve frame list tooltips.
2018-06-29 18:43:23 +02:00
Bartosz Taudul
201a40fb04
Improve readability of callstack tooltips.
2018-06-29 18:41:06 +02:00
Bartosz Taudul
400ee1c752
Improve readability of zone tooltips.
2018-06-29 18:39:20 +02:00
Bartosz Taudul
fbe0ad437e
Remove "without profiling" entry from zone tooltip.
2018-06-29 18:36:58 +02:00
Bartosz Taudul
d01c14c2f3
Improve readability of compare menu.
2018-06-29 18:35:40 +02:00
Bartosz Taudul
91dd8f5d52
Improve readability of find zone menu.
2018-06-29 18:33:01 +02:00
Bartosz Taudul
8f4b09edc3
Improve zone info windows readability.
2018-06-29 18:27:34 +02:00
Bartosz Taudul
275a79e1c9
Display custom zone name in find zone results list.
2018-06-29 16:20:24 +02:00
Bartosz Taudul
ab18869ce6
Display custom zone name in zone tooltip.
2018-06-29 16:15:59 +02:00
Bartosz Taudul
09c38f17e6
Display custom zone name in zone info window.
2018-06-29 16:14:31 +02:00
Bartosz Taudul
cb100e261c
Return custom zone names.
2018-06-29 16:12:40 +02:00
Bartosz Taudul
053284b1c7
Process custom free-form zone names.
2018-06-29 16:12:17 +02:00
Bartosz Taudul
865e8d8506
Extract zone name getting functionality.
2018-06-29 15:14:20 +02:00
Bartosz Taudul
2866cafda5
Adapt histogram height to font size.
2018-06-29 00:44:05 +02:00
Bartosz Taudul
f82e8aa98f
Adapt plot height to font size.
2018-06-29 00:38:56 +02:00
Bartosz Taudul
cc196ff0a8
Adapt frames view to font size.
2018-06-29 00:35:44 +02:00
Bartosz Taudul
41e8648701
Adjust GPU zones to set time drift.
2018-06-28 01:12:25 +02:00
Bartosz Taudul
bab798c13c
GPU context time drift storage.
2018-06-28 01:08:08 +02:00
Bartosz Taudul
0b9559c05b
Retrieval of GPU context from GPU zone.
2018-06-28 01:07:21 +02:00
Bartosz Taudul
4a467b6d03
Remove GPU resync leftovers.
2018-06-28 00:48:23 +02:00
Bartosz Taudul
c3238a496d
No need to check for frame function name match.
...
Firstly, the match is not necessarily possible (e.g. on Linux the source
location function names and callstack frame names are two completely
different things).
Secondly, the first current zone callstack frame (which is matched to
some callstack frame of previous zone) is the frame in which a zone was
captured, and it will already be present in the zone trace. The
callstack frame omission should be therefore unconditional.
2018-06-24 17:38:32 +02:00
Bartosz Taudul
d7a85983a5
Make callstack hash less shitty.
2018-06-24 17:30:54 +02:00
Bartosz Taudul
ab2945b988
Slab allocator is not thread safe.
2018-06-24 17:10:46 +02:00
Bartosz Taudul
77e139e900
Insert true call stack frames into zone trace.
2018-06-24 16:57:57 +02:00
Bartosz Taudul
b0aa13f4af
Callstack getters are const.
2018-06-24 16:15:49 +02:00
Bartosz Taudul
fa62603c77
Move zone trace loop handler to a separate function.
2018-06-24 15:54:36 +02:00
Bartosz Taudul
858628918b
Force inline AddCallstackPayload.
2018-06-24 15:28:09 +02:00
Bartosz Taudul
d78126e60f
Improve callstack payload hashing speed.
2018-06-24 15:25:53 +02:00
Bartosz Taudul
17194cb591
Allow copying callstack frames name/file to clipboard.
2018-06-22 20:44:57 +02:00
Bartosz Taudul
b8f7a4daac
Mention purple line indicating middle of timeline.
2018-06-22 20:34:08 +02:00
Bartosz Taudul
9c2aab733d
Allow centering timeline on memory alloc/free time.
2018-06-22 20:32:38 +02:00
Bartosz Taudul
5f5fe7c6aa
Add tip about centering timeline on message.
2018-06-22 20:23:56 +02:00
Bartosz Taudul
39eccd5b08
Extract "center view at time" function.
2018-06-22 20:21:02 +02:00
Bartosz Taudul
11cf650be6
Fix GPU queries ordering.
...
With multithreaded Vulkan rendering it is possible that GPU time queries
will be sent in a different order than the originating CPU queries were
made. This commit changes the in-order queue to a map of queries,
waiting to be resolved.
2018-06-22 16:37:54 +02:00
Bartosz Taudul
af0c64c888
Remove GPU resync support.
...
The whole concept is not really reliable. And it forces CPU to GPU sync,
which is bad.
2018-06-22 16:34:51 +02:00
Bartosz Taudul
cd5ca3e754
Don't use hash table to store 256 pointers.
2018-06-22 15:14:44 +02:00
Bartosz Taudul
55ddb64352
GPU context counter is now 8 bit.
2018-06-22 15:10:23 +02:00
Bartosz Taudul
d13fc2413f
Highlight callstack button in zone info windows.
2018-06-22 02:24:36 +02:00
Bartosz Taudul
3a885bb8fd
Support callstack collection for OpenGL GPU zones.
2018-06-22 02:13:35 +02:00
Bartosz Taudul
e5f673eaa0
Allow viewing callstack from gpu zone info window.
2018-06-22 01:58:25 +02:00
Bartosz Taudul
35dc2f796e
Process GpuZoneBeginCallstack queue event.
2018-06-22 01:56:32 +02:00
Bartosz Taudul
4992ae6b39
Take callstack field in ZoneEvent into account in save/load.
2018-06-22 01:30:08 +02:00
Bartosz Taudul
e40c5068c9
Allow viewing callstack from zone info window.
2018-06-22 01:21:51 +02:00
Bartosz Taudul
5e01a8ead9
Process callstack queue event.
2018-06-22 01:15:49 +02:00
Bartosz Taudul
205a4e4ca2
Add callstack index to ZoneEvent.
2018-06-22 01:11:03 +02:00
Bartosz Taudul
978e168cbd
Handle ZoneBeginCallstack queue event.
...
This is identical to ZoneBegin handling, but requires some additional
bookkeeping to account for the incoming callstack information.
2018-06-22 01:07:25 +02:00
Bartosz Taudul
3404d191f0
Fix non-unique child ids in memory window.
2018-06-22 00:10:00 +02:00
Bartosz Taudul
3f7ab10323
Don't show line number if it's 0.
2018-06-21 13:26:04 +02:00
Bartosz Taudul
973eab2b4a
Fix typo.
2018-06-20 23:42:00 +02:00
Bartosz Taudul
2a618c90d5
Properly save compressed thread in GPU events.
2018-06-20 23:12:49 +02:00
Bartosz Taudul
cef972fe25
Remove parenthesis from callstack location.
2018-06-20 17:07:48 +02:00
Bartosz Taudul
7912807133
Wait for transfer of pending callback frames.
2018-06-20 14:57:48 +02:00
Bartosz Taudul
60395c85e0
Wait for pending callstacks.
2018-06-20 14:54:08 +02:00
Bartosz Taudul
e95ca3930d
Make all allocation list alloc/free buttons clickable.
2018-06-20 14:50:07 +02:00
Bartosz Taudul
a9fa8f966b
Fix "zone free" indentation in allocation list.
2018-06-20 14:44:24 +02:00
Bartosz Taudul
bc565e65d1
Better callstack info window layout.
2018-06-20 14:41:00 +02:00
Bartosz Taudul
0d509ea3a6
Add missing EndColumns() call.
2018-06-20 14:37:55 +02:00
Bartosz Taudul
be0a70a5c1
Highlight actively inspected callstack.
2018-06-20 13:49:23 +02:00
Bartosz Taudul
15ff98b64a
Push detailed callstack to a separate window.
...
Only show function names (no source files or line numbers) in callstack
tooltip.
2018-06-20 13:23:08 +02:00
Bartosz Taudul
9a5329b97d
Save and load callstack frames.
2018-06-20 01:59:25 +02:00
Bartosz Taudul
e56ee377f4
Fix off-by-one.
2018-06-20 01:54:27 +02:00
Bartosz Taudul
88b1955a5a
Filename in callstack frame is not a persistent pointer.
2018-06-20 01:26:05 +02:00
Bartosz Taudul
56479b86fa
Display frame details in callstack tooltip.
2018-06-20 01:19:10 +02:00
Bartosz Taudul
4000f27e15
Stack frame accessor.
2018-06-20 01:18:59 +02:00
Bartosz Taudul
0c0afa5ac7
Process callstack frames.
2018-06-20 01:07:09 +02:00
Bartosz Taudul
203744cdd9
Callstack frame queries.
2018-06-20 00:25:26 +02:00
Bartosz Taudul
4ba95145da
Display raw callstack payload.
2018-06-19 22:19:33 +02:00
Bartosz Taudul
4eea85fdad
Callstack payload accessor.
2018-06-19 22:19:20 +02:00
Bartosz Taudul
06f34052a5
Have to track callstacks of both alloc and free.
2018-06-19 22:08:47 +02:00
Bartosz Taudul
0de279005b
Load saved callstack payload.
2018-06-19 22:05:15 +02:00
Bartosz Taudul
14b71e988b
Properly skip memory event data.
2018-06-19 22:05:15 +02:00
Bartosz Taudul
4033d74479
Callstack payload index 0 is invalid.
2018-06-19 22:05:15 +02:00
Bartosz Taudul
b6e71dd909
Load memory event callstack index.
2018-06-19 21:51:06 +02:00
Bartosz Taudul
7c1333ce2f
Save callstack payload.
2018-06-19 21:39:52 +02:00
Bartosz Taudul
2940230fcf
Save callstack index in memory events.
2018-06-19 21:39:42 +02:00
Bartosz Taudul
e03493f082
Store callstack index as uint32_t.
2018-06-19 21:39:22 +02:00
Bartosz Taudul
77db91253b
Assign callstack idx to memory event.
2018-06-19 21:34:36 +02:00
Bartosz Taudul
c28465aa7c
Store unique callstack payloads.
2018-06-19 21:16:02 +02:00
Bartosz Taudul
87467a472c
Add variable sized const array.
2018-06-19 21:16:02 +02:00
Bartosz Taudul
cbc9ede3ca
No-op callstack payload handling.
2018-06-19 19:31:16 +02:00
Bartosz Taudul
6a63d09a49
Don't check for each type, if range check is possible.
2018-06-19 19:31:16 +02:00
Bartosz Taudul
e51eef3dcd
Process memory events with callstack.
2018-06-19 18:52:45 +02:00
Bartosz Taudul
59dc55002b
Callstack ptr in server data structures.
...
Will be probably reduced to 32-bit index later on.
2018-06-19 18:52:10 +02:00
Bartosz Taudul
021dd853b9
Differentiate Vulkan/OpenGL in options menu.
2018-06-18 01:08:56 +02:00
Bartosz Taudul
6e1ab9ae7a
Display per-GPU-event threads.
2018-06-17 19:09:56 +02:00
Bartosz Taudul
bb0631585c
Store thread id of GPU events.
2018-06-17 19:07:07 +02:00
Bartosz Taudul
cfd7ac3957
Map compressed thread id 0 to real thread id 0.
2018-06-17 19:03:06 +02:00
Bartosz Taudul
d5a4c693d8
Take GPU timestamp period into account.
2018-06-17 18:49:56 +02:00
Bartosz Taudul
f33584516b
Fix yet another regression.
2018-06-17 18:37:38 +02:00
Bartosz Taudul
cc973a5091
Differentiate Vulkan and OpenGL contexts.
2018-06-17 18:33:05 +02:00
Bartosz Taudul
dcd6cac078
Save GPU timestamp period.
...
Bump file version to 0.3.2.
2018-06-17 18:27:42 +02:00
Bartosz Taudul
2be1d1d2b2
Use proper type.
2018-06-07 13:30:46 +02:00
Bartosz Taudul
6956aed769
Fix selecting last bin with log time in find zone.
2018-06-06 23:36:21 +02:00
Bartosz Taudul
b4ce0c281b
Total time is also already known in compare view.
2018-06-06 23:17:13 +02:00
Bartosz Taudul
d49be792ba
Cache bin containers in compare view.
2018-06-06 23:09:46 +02:00
Bartosz Taudul
da5d35c364
Cache bin containers in find zone.
2018-06-06 23:06:00 +02:00
Bartosz Taudul
2950f3c70c
Total time is already known.
2018-06-06 23:00:18 +02:00
Bartosz Taudul
8a4d88f2b3
tmin and tmax don't change.
2018-06-06 23:00:03 +02:00
Bartosz Taudul
be8d3f47cd
Use fast log10.
2018-06-06 01:59:31 +02:00
Bartosz Taudul
8696c81e7d
Implement fast frexpf.
2018-06-06 01:59:31 +02:00
Bartosz Taudul
60b24249d3
Use explicit value for 1/log2(10).
2018-06-06 01:52:46 +02:00
Bartosz Taudul
39c1b20184
Don't care about previous values.
2018-06-06 01:23:49 +02:00
Bartosz Taudul
1c47e22eca
Add log10f approximation.
...
Based on https://community.arm.com/tools/f/discussions/4292/cmsis-dsp-new-functionality-proposal/22621#22621
2018-06-06 01:23:29 +02:00
Bartosz Taudul
859bf01992
Support displaying self times in statistics view.
2018-06-06 00:47:16 +02:00
Bartosz Taudul
e5d35d443d
Missing initializer.
2018-06-06 00:47:11 +02:00
Bartosz Taudul
b7930f67da
Calculate total self time of zones.
2018-06-06 00:39:22 +02:00
Bartosz Taudul
785a30a68b
Implement going to next/previous frame.
2018-06-02 22:27:35 +02:00
Bartosz Taudul
1cddf8436c
ZoomToRange() already enables pause.
2018-06-02 22:09:07 +02:00
Bartosz Taudul
5a7304171d
Fix allocation times displayed in plot tooltip.
2018-05-27 20:22:58 +02:00
Bartosz Taudul
8ed59c261b
Open memory address info after clicking on mem plot item.
2018-05-27 20:17:20 +02:00
Bartosz Taudul
9898066a7a
Display additional memory event info in mem plot tooltips.
2018-05-27 20:11:33 +02:00
Bartosz Taudul
3ea5fd93ed
Simple and not so simple draw plot point functions.
2018-05-27 19:51:45 +02:00
Bartosz Taudul
0a79243332
Display thread from which message originated on msg list.
2018-05-25 21:14:15 +02:00
Bartosz Taudul
53aea660c8
Store thread id in MessageData.
2018-05-25 21:10:38 +02:00
Bartosz Taudul
bb0246730f
Don't save MessageData padding.
...
This requires file version bump to 0.3.1.
2018-05-25 21:10:38 +02:00
Bartosz Taudul
8118e41559
Use columns to display message list.
2018-05-25 21:10:38 +02:00
Bartosz Taudul
312c20b0bc
Fallback to pdqsort if parallel STL is not available.
2018-05-12 22:41:18 +02:00
Bartosz Taudul
920bfc8c82
Parallelize (big) sorts in worker.
2018-05-08 01:40:22 +02:00
Bartosz Taudul
dbc963d55c
Drop template argument from std::lock_guard.
2018-05-08 01:25:16 +02:00
Bartosz Taudul
3768ed5dd7
Don't reconstruct mem plot if there's no mem event data.
2018-05-04 16:08:16 +02:00
Bartosz Taudul
e7ffe288e6
One less FileWrite::Write() call.
2018-05-04 15:11:19 +02:00
Bartosz Taudul
e058bb34c1
CompressThread body must be available.
2018-05-03 18:43:51 +02:00
Bartosz Taudul
a46d27f312
Parallelize file reading.
...
Use spin-locks for synchronization.
IsEOF() is now buggy, but the bug chance is fairly low (1/65536) - it
can happen when the last compressed block has exactly max decompressed
block size. Don't care about it much, as it's only used to open old
archives.
2018-05-03 17:56:43 +02:00
Bartosz Taudul
3d13ea09e8
Move block decompression to a separate function.
2018-05-03 17:29:58 +02:00
Bartosz Taudul
7d32ef8c8b
Restrict mem events list size.
2018-05-02 19:40:35 +02:00
Bartosz Taudul
f2cb04ea8d
Allow going back to the previous zone info.
2018-05-02 19:25:52 +02:00
Bartosz Taudul
1cc798cea3
Construct zone info stack.
2018-05-02 19:23:46 +02:00
Bartosz Taudul
e28022f735
Don't display alloc, free threads on two lines.
2018-05-02 19:07:34 +02:00
Bartosz Taudul
f2f712b8db
Optional display of each mem event in zone info window.
2018-05-02 19:03:34 +02:00
Bartosz Taudul
dac6a65156
Infer total mem usage change from alloc and free changes.
2018-05-02 18:41:11 +02:00
Bartosz Taudul
14ca2198dd
Force inline simple Vector ops.
2018-05-02 18:27:37 +02:00
Bartosz Taudul
bbf1e9f111
Only include memory events from zone thread.
2018-05-02 18:13:13 +02:00
Bartosz Taudul
4584ef9e88
Use memory events to calculate zone memory changes.
2018-05-02 18:06:27 +02:00
Bartosz Taudul
b18841aa75
Store ordered list of memory frees.
2018-05-02 17:59:50 +02:00
Bartosz Taudul
ce1f56ea0f
Display zone memory statistics.
...
Note that this information is incorrect, as it accounts for memory
events in all threads.
2018-05-02 17:46:09 +02:00
Bartosz Taudul
fd59ac0125
Only calculate zone child data if child list is displayed.
2018-05-02 17:23:32 +02:00
Bartosz Taudul
754e79b443
Setup memory plot pointer on dump load.
2018-05-02 17:18:52 +02:00
Bartosz Taudul
1512f3584c
Show appropriate message when there's no memory data collected.
2018-05-01 17:28:02 +02:00
Bartosz Taudul
e5934b409a
Don't use Vector for memory pages storage.
...
Vector has POT data size and we know exactly how much is needed.
2018-05-01 17:26:34 +02:00
Bartosz Taudul
7266a979c3
Omit stack.
2018-05-01 02:13:49 +02:00
Bartosz Taudul
5deeb8426f
Specialized Read function writing directly to registers.
2018-05-01 02:13:49 +02:00
Bartosz Taudul
8beb1c1a39
Add thread compression cache.
...
Observation: calls to CompressThread() are likely to be repeated with
the same value. Exploit that by storing last query and its result.
2018-05-01 01:29:25 +02:00
Bartosz Taudul
ec58aa4ce1
Don't increase vector size in each iteration.
2018-04-30 13:57:12 +02:00
Bartosz Taudul
e41ce5523c
Allow explicit setting of vector size.
2018-04-30 13:56:58 +02:00
Bartosz Taudul
553e3ca38b
Optimize mem plot reconstruction loop.
2018-04-30 13:45:36 +02:00
Bartosz Taudul
76f0c8fafe
Sort source location zones on a separate thread.
2018-04-30 03:54:09 +02:00
Bartosz Taudul
63e4f6fa04
Directly store values.
2018-04-30 03:30:19 +02:00
Bartosz Taudul
8d854b1c8f
Force inline flat_hash_map find.
2018-04-30 03:09:50 +02:00
Bartosz Taudul
a2d3ad35f0
Force inline common slab allocation paths.
2018-04-30 02:47:16 +02:00
Bartosz Taudul
b598300186
Split FileRead::Skip into small and big part.
2018-04-30 02:31:03 +02:00
Bartosz Taudul
b1a440647d
Remove one level of indirection in FileWrite.
2018-04-30 02:29:05 +02:00
Bartosz Taudul
fd46651c32
Remove one level of indirection in FileRead.
2018-04-30 02:26:15 +02:00
Bartosz Taudul
4c521ce92a
Loaded traces may be unloaded.
2018-04-30 01:16:08 +02:00
Bartosz Taudul
e5cb241c19
Optimize creation of vector of frees.
2018-04-29 13:40:47 +02:00
Bartosz Taudul
3eb73b8d43
Move memory plot reconstruction to a background thread.
2018-04-29 13:40:04 +02:00
Bartosz Taudul
a8ce01eeb1
Push next no space check variant.
2018-04-29 13:39:06 +02:00
Bartosz Taudul
bc84ebc338
Read/write LockEvent data in one go.
2018-04-29 03:41:58 +02:00
Bartosz Taudul
c5133e0b4e
Walk lockmap timeline pointer.
2018-04-29 03:41:58 +02:00
Bartosz Taudul
9769cc4d7d
Read/write most of MemEvent in one go.
2018-04-29 03:41:58 +02:00
Bartosz Taudul
d5f0f0939d
No need to track min memory usage.
...
At least if client instrumentation was not broken and the data makes
sense.
2018-04-29 02:57:20 +02:00
Bartosz Taudul
7fdc6f5453
Zero as initial max value is fine too.
2018-04-29 02:56:23 +02:00
Bartosz Taudul
723f98d24b
Overflow checks are not needed.
2018-04-29 02:47:25 +02:00
Bartosz Taudul
b06f445de9
Don't use stack to write two values...
2018-04-29 02:32:20 +02:00
Bartosz Taudul
333d3a92c8
Perform memory usage calculation on doubles.
2018-04-29 02:29:06 +02:00
Bartosz Taudul
aceaed25b9
Walk plot data pointer.
2018-04-29 02:11:47 +02:00
Bartosz Taudul
868fbace5a
Don't compress thread twice, if it's the same.
2018-04-29 02:04:51 +02:00
Bartosz Taudul
fdaebc2bd8
No need to perform space check here.
2018-04-29 01:38:54 +02:00
Bartosz Taudul
dc1396012e
Add assert checking that there's space.
2018-04-29 01:38:35 +02:00
Bartosz Taudul
d64f0390da
Don't use std::sort.
2018-04-29 01:23:30 +02:00
Bartosz Taudul
925b6c2617
Display y-range of plots.
2018-04-28 16:44:36 +02:00
Bartosz Taudul
7df7bf1745
Begin memory plot with no memory usage.
2018-04-28 16:26:45 +02:00
Bartosz Taudul
a0b8ed2e50
Restore memory plot when loading data dump.
2018-04-28 16:26:45 +02:00
Bartosz Taudul
afa432a087
Non-user plots must have predefined names.
2018-04-28 16:26:45 +02:00
Bartosz Taudul
d8bfe7de2e
Create memory plot based on memory alloc/free events.
2018-04-28 15:49:12 +02:00
Bartosz Taudul
cd34ed6968
Two plot types: user and memory.
...
Only user plots are saved in a dump file.
2018-04-28 15:48:05 +02:00
Bartosz Taudul
2a427ba87a
Fix typo.
2018-04-22 02:24:34 +02:00
Bartosz Taudul
ecabf24c4e
Optional normalization of compared data.
2018-04-22 02:19:22 +02:00
Bartosz Taudul
d06890b55d
Add missing tree pop.
2018-04-22 01:28:55 +02:00
Bartosz Taudul
1fb47899b2
Fix skipping lock data with new dump version.
2018-04-22 01:26:51 +02:00
Bartosz Taudul
470bfb5c02
Don't load unneeded data.
2018-04-22 01:00:17 +02:00
Bartosz Taudul
41738469f1
Add trace compare window.
2018-04-22 00:52:33 +02:00
Bartosz Taudul
436cd2b6cf
Drop '###Profiler' from capture name.
2018-04-21 23:29:28 +02:00
Bartosz Taudul
28380f2d25
Move bad version dialogs to a separate file.
2018-04-21 23:19:48 +02:00
Bartosz Taudul
ea2be1bce9
Fix custom ImVec2 operators.
2018-04-21 23:19:13 +02:00
Bartosz Taudul
1d044b494b
Don't enforce main window buttons width.
2018-04-21 22:42:32 +02:00
Bartosz Taudul
880eb7cbdd
Don't display zone names in find zone menu zones list.
2018-04-21 22:34:19 +02:00
Bartosz Taudul
2ef9fe0743
Enable log time in find zone menu by default.
2018-04-21 22:21:15 +02:00
Bartosz Taudul
d1e185e176
Cleanup message data.
2018-04-21 20:36:33 +02:00
Bartosz Taudul
4cd9cf5dd9
Cleanup zone data.
2018-04-21 20:34:29 +02:00
Bartosz Taudul
0de5bcacaf
Free plot data.
2018-04-21 20:12:16 +02:00
Bartosz Taudul
dda25cf66a
Cosmetics.
2018-04-21 20:11:59 +02:00
Bartosz Taudul
adf8a126c6
More space for text on main window buttons.
2018-04-21 19:30:49 +02:00
Bartosz Taudul
a4e1bb05f3
Use proper format strings.
2018-04-21 19:26:55 +02:00
Bartosz Taudul
ade97b7ab6
Add hours to time-to-string conversion.
2018-04-21 17:01:10 +02:00
Bartosz Taudul
ad91b9b002
Expand maximum view span from 1 minute to 1 hour.
2018-04-21 16:53:17 +02:00
Bartosz Taudul
cb298893e7
Fix skipping lock data.
2018-04-21 16:02:36 +02:00
Bartosz Taudul
121cced681
Don't save unneeded lock data.
...
Store only the minimal lock information required and calculate lock
counts, wait lists, etc. at load time.
2018-04-21 15:42:08 +02:00
Bartosz Taudul
764792d8db
Try to not crash when opening invalid files.
...
Tracy will now perform a number of checks when trying to read a dump
file:
1. The file must have at least 4 bytes of data.
2. There should be a 4 byte header to indicate the file was saved by
tracy. This is a breaking change in file format.
3. Old header-less files are still supported, but there's a new check
for data validity. The first 4 bytes of file (as an uint32) must be
less or equal to max LZ4 data packet size. This requires the first
two bytes to be 00 00 or 00 01, which should catch most invalid
files.
2018-04-21 14:53:40 +02:00
Bartosz Taudul
a63f214964
Use static assert where static assert is due.
2018-04-21 14:47:15 +02:00
Bartosz Taudul
36efe96e9d
Throw exception when trying to open unsupported dump version.
2018-04-21 14:18:42 +02:00
Bartosz Taudul
3793a37b2b
Use small buttons in statistics window.
2018-04-21 14:17:42 +02:00
Bartosz Taudul
d9fd1ce74a
Add dump file header.
2018-04-21 13:45:48 +02:00
Bartosz Taudul
6c2d7628ee
Don't draw off-screen gpu zones.
2018-04-20 23:28:19 +02:00
Bartosz Taudul
a2779eccaf
Don't draw off-screen zones.
2018-04-20 23:19:04 +02:00
Bartosz Taudul
9fc14d2faf
Don't draw off-screen plots.
2018-04-20 23:00:26 +02:00
Bartosz Taudul
cd7a1cffe8
Don't draw off-screen locks.
2018-04-20 22:53:31 +02:00
Bartosz Taudul
723fad84a7
Don't draw off-screen zone timeline labels.
2018-04-20 22:45:29 +02:00
Bartosz Taudul
84fd351fba
Allow partial load of data from dump.
2018-04-20 16:03:09 +02:00
Bartosz Taudul
cc65e52663
Allow skipping data when reading file.
2018-04-20 14:27:20 +02:00
Bartosz Taudul
6120b3e922
Change -1 comparisons to "0" comparisons.
2018-04-14 16:50:04 +02:00
Bartosz Taudul
d0d5528e99
Disable histogram highlight using right mouse button.
2018-04-14 15:21:22 +02:00
Bartosz Taudul
3df7c70f99
Optimize mem alloc processing.
2018-04-10 16:06:01 +02:00
Bartosz Taudul
be50fb26b5
Remove useless assert.
2018-04-10 14:37:17 +02:00
Bartosz Taudul
fd41b4927a
Allow selecting/unselecting all locks for display.
2018-04-09 16:15:40 +02:00
Bartosz Taudul
4e1dbb3973
Fix lock announce processing.
2018-04-09 14:28:40 +02:00
Bartosz Taudul
d4bfbc2797
Allow displaying global statistics of a zone.
2018-04-05 19:31:04 +02:00
Bartosz Taudul
093787b3e8
Move find zone setup to a dedicated function.
2018-04-05 19:30:32 +02:00
Bartosz Taudul
0f95d7fd21
Use lookup table to get memory decay color.
2018-04-05 12:14:26 +02:00
Bartosz Taudul
bb299a5074
Desaturate older allocations on memory map.
2018-04-03 20:38:50 +02:00
Bartosz Taudul
189a4a2e32
Page chunk mask is not needed anymore.
2018-04-03 19:41:11 +02:00
Bartosz Taudul
1182a3fcb8
Stop processing allocations if already at time end.
2018-04-03 19:40:06 +02:00
Bartosz Taudul
b78dc70b70
No need to split address into page and chunk.
2018-04-03 19:39:19 +02:00
Bartosz Taudul
22bd2923eb
Keep mem.low in a register.
2018-04-03 19:35:43 +02:00
Bartosz Taudul
a3dd90529c
Rearrange memory reads.
2018-04-03 19:35:28 +02:00
Bartosz Taudul
197e513727
Add a separate time restriction code path.
2018-04-03 19:34:48 +02:00
Bartosz Taudul
f0573d68bd
Store memory pages in a contiguous memory area.
2018-04-03 19:17:32 +02:00
Bartosz Taudul
5ce3e44c77
Calculate chunks in one place in code.
2018-04-03 18:27:50 +02:00
Bartosz Taudul
bf99bff87d
Store MemEvents directly in the vector.
2018-04-03 14:17:51 +02:00
Bartosz Taudul
bc27c99a1e
Move page init to a non-inlined function.
2018-04-03 13:30:56 +02:00
Bartosz Taudul
6d40502068
Execute direct write to memory, if only one byte.
2018-04-03 13:23:53 +02:00
Bartosz Taudul
81c84025a2
Fix calculation of lines.
2018-04-02 20:11:55 +02:00
Bartosz Taudul
1bb1cf9e6c
Display memory map information.
2018-04-02 20:00:05 +02:00
Bartosz Taudul
78ebf37039
Use proper values for page map calculation.
2018-04-02 19:57:46 +02:00
Bartosz Taudul
a2a6386491
Allow time restricting memory map.
2018-04-02 18:57:24 +02:00
Bartosz Taudul
1c441824fd
Display memory map.
2018-04-02 18:51:32 +02:00
Bartosz Taudul
78cd86dd69
Memory pages bitmap calculation.
2018-04-02 18:51:32 +02:00
Bartosz Taudul
bf249de266
Display memory usage by active allocations.
2018-04-02 16:30:03 +02:00
Bartosz Taudul
670744f852
Move alloc cutoff to middle of timeline.
2018-04-02 16:21:24 +02:00
Bartosz Taudul
7b194d2349
Don't use std::sort.
2018-04-02 16:09:44 +02:00
Bartosz Taudul
e80891e36d
Allow restricting displayed allocs by time.
2018-04-02 16:07:33 +02:00
Bartosz Taudul
c1aaec32d6
Sort active allocations by appearance time.
2018-04-02 15:45:11 +02:00
Bartosz Taudul
38edf308fa
Display memory span.
2018-04-02 14:58:40 +02:00
Bartosz Taudul
821b08fbe4
Thread compression state is not preserved.
2018-04-02 14:52:36 +02:00
Bartosz Taudul
aa8980aacc
Put memory allocations list into a child area.
2018-04-02 14:44:45 +02:00
Bartosz Taudul
8cc446b578
Highlight zones with opened zone info window.
2018-04-02 14:38:08 +02:00
Bartosz Taudul
50eb5c4b84
Highlight same zone alloc+free.
2018-04-02 14:36:07 +02:00
Bartosz Taudul
f7ce3e795f
Display zone if which allocation was freed.
2018-04-02 14:29:56 +02:00
Bartosz Taudul
e1682c7675
Draw active allocations list.
2018-04-02 02:39:12 +02:00
Bartosz Taudul
c4a36398f6
Move memory allocations table drawing to a separate function.
2018-04-02 02:39:12 +02:00
Bartosz Taudul
1fa943d109
Save/load memory data.
2018-04-02 02:05:39 +02:00
Bartosz Taudul
68acc30bdd
Add support for determining FileRead EOF.
2018-04-02 02:05:39 +02:00
Bartosz Taudul
5824b47a66
Display memory usage.
2018-04-02 00:02:45 +02:00
Bartosz Taudul
52f59c90bf
Track memory usage.
2018-04-02 00:00:49 +02:00
Bartosz Taudul
e3509b6eee
Display total number of allocations.
2018-04-01 23:57:18 +02:00
Bartosz Taudul
8efc0a0a71
Display proper hex value.
2018-04-01 22:00:57 +02:00
Bartosz Taudul
3f7abd478e
Display zone in which memory allocation took place.
2018-04-01 21:50:35 +02:00
Bartosz Taudul
912cfdbc5e
Search for zone present in given thread at given time.
2018-04-01 21:47:08 +02:00
Bartosz Taudul
20824a200c
Implement search for memory address.
2018-04-01 21:24:30 +02:00
Bartosz Taudul
c686b86464
Add rudimentary memory information window.
2018-04-01 20:34:58 +02:00
Bartosz Taudul
2d00d95743
Missing initializer.
2018-04-01 20:34:58 +02:00
Bartosz Taudul
cd3bba8063
Memory data accessor.
2018-04-01 20:34:58 +02:00
Bartosz Taudul
a574f98f0c
Memory events are now serialized.
2018-04-01 20:13:01 +02:00
Bartosz Taudul
16a98c8c17
Move benaphore to common directory.
2018-04-01 18:59:55 +02:00
Bartosz Taudul
b12375815c
Broken memory events processing.
2018-04-01 02:03:34 +02:00
Bartosz Taudul
991fc6bd95
Memory allocations tracker.
2018-03-31 21:56:05 +02:00
Bartosz Taudul
c7a5e25c87
Display parent times.
2018-03-28 19:35:33 +02:00
Bartosz Taudul
9d798789a9
Fix broken behavior on duplicate names in zone info window.
2018-03-28 01:57:53 +02:00
Bartosz Taudul
d6bf19a762
Standard zone list behavior in zone trace.
2018-03-28 01:53:59 +02:00
Bartosz Taudul
bf52b3bc98
Add zone trace.
2018-03-28 01:47:28 +02:00
Bartosz Taudul
4d0396fa06
No auto-expand of child zones.
2018-03-28 01:47:20 +02:00
Bartosz Taudul
aebbefde2a
Rename exclusive time to self time.
2018-03-28 01:47:08 +02:00
Bartosz Taudul
f6d4728494
Move child zones into an expandable tree.
2018-03-28 01:34:12 +02:00
Bartosz Taudul
871633cbaf
Adapt button size to font size.
2018-03-25 00:10:31 +01:00
Bartosz Taudul
3567089278
Provide default size for main profiler window.
...
This prevents a crash when loading saved trace with plot.
2018-03-24 22:07:41 +01:00
Bartosz Taudul
1219b72577
Check if match table has content.
2018-03-24 17:32:27 +01:00
Bartosz Taudul
d559da932f
Highlight source location displayed in find zone window.
2018-03-24 17:29:25 +01:00
Bartosz Taudul
ae274d8e37
Different ways of sorting of statistics data.
2018-03-24 17:28:10 +01:00
Bartosz Taudul
b65824d116
Show source location details when one is selected.
2018-03-24 15:20:39 +01:00
Bartosz Taudul
3012817da4
Source location statistics.
2018-03-24 15:16:43 +01:00
Bartosz Taudul
27c66c3765
Remove unused variable.
2018-03-24 15:04:44 +01:00
Bartosz Taudul
aa9d9575e0
Allow raw access to source location zones data.
2018-03-24 14:48:52 +01:00
Bartosz Taudul
cb4c1dac24
Don't show pause/resume button if data is static.
2018-03-24 14:45:01 +01:00
Bartosz Taudul
d8ac7dee83
Expose worker data state (static/dynamic).
2018-03-24 14:43:57 +01:00
Bartosz Taudul
225423bd21
Cosmetics.
2018-03-24 14:42:48 +01:00
Bartosz Taudul
3a49e9a4be
Statistics window shell.
2018-03-24 14:40:48 +01:00
Bartosz Taudul
a9e1a9bddb
Calculate total time spent in source location.
...
This simple solution doesn't handle recursion at all.
2018-03-24 14:24:30 +01:00
Bartosz Taudul
40a14292b3
Matched source locations and histogram default to open.
2018-03-24 02:45:24 +01:00
Bartosz Taudul
fea0234a60
Change zone end "-1" comparisons to "0" comparisons.
2018-03-24 02:00:20 +01:00
Bartosz Taudul
6a4e58b545
Force inline compress/decompress thread id.
2018-03-24 01:31:58 +01:00
Bartosz Taudul
c0577fd5b2
Unordered map is no longer used.
2018-03-23 21:18:52 +01:00
Bartosz Taudul
f4b88b9c05
Use flat hash map for reverse plot lookup.
2018-03-23 21:18:00 +01:00
Bartosz Taudul
6cb2fec48e
Use flat hash map for string map.
2018-03-23 21:12:29 +01:00
Bartosz Taudul
69b49f527d
Inline GetZoneEndDirect().
2018-03-23 02:06:44 +01:00
Bartosz Taudul
910ce8b8ef
Display number of matched source locations.
2018-03-20 20:18:23 +01:00
Bartosz Taudul
6e6addfa81
Use pdqsort.
2018-03-20 19:19:07 +01:00
Bartosz Taudul
ae55360a6d
Don't sort zones if statistics are disabled.
2018-03-20 19:12:42 +01:00
Bartosz Taudul
4837ce31ff
Allow sorting zone groups by count.
2018-03-20 17:19:48 +01:00
Bartosz Taudul
64f3c55ba5
Display zone group time.
2018-03-20 16:56:11 +01:00
Bartosz Taudul
e6d5f3f5fc
Store common variables in registers to prevent aliasing.
2018-03-20 16:49:29 +01:00
Bartosz Taudul
d8f7903a97
Use flat hash map for ptr mapping during data load.
2018-03-20 15:44:13 +01:00
Bartosz Taudul
720e5a0468
First check if valid, then search in map.
2018-03-20 15:41:06 +01:00
Bartosz Taudul
fe6c753f12
Store lock thread map in flat hash map.
2018-03-20 15:40:25 +01:00
Bartosz Taudul
765a1ececf
Move nohash<> from TracyWorker to flat hash map.
2018-03-20 15:40:11 +01:00
Bartosz Taudul
37808ec4c7
Fix the horribly inefficient Visible() and ShowFull() methods.
2018-03-20 15:33:38 +01:00
Bartosz Taudul
ceeae3c2cf
Restore ordering of source location zones after load.
2018-03-20 14:56:42 +01:00
Bartosz Taudul
ad37f0857b
Highlight selected zone group on histogram.
2018-03-20 14:37:58 +01:00
Bartosz Taudul
64e05e4726
Put found zones list into a subchild.
2018-03-20 12:56:26 +01:00
Bartosz Taudul
ce3f0bd596
Add separator to zone tooltips.
2018-03-19 16:14:01 +01:00
Bartosz Taudul
d5e0858982
Display thread in GPU zone tooltip.
2018-03-19 16:13:12 +01:00
Bartosz Taudul
4d34ccc30c
Unify zone info window thread retrieval.
2018-03-19 16:11:44 +01:00
Bartosz Taudul
0f6ec65b65
GPU zone thread getter.
2018-03-19 16:11:37 +01:00
Bartosz Taudul
5a32cd7984
Show zone thread in zone info popup.
2018-03-19 16:08:50 +01:00
Bartosz Taudul
0d831e452b
Add ability to group zones by user text.
2018-03-19 16:01:36 +01:00
Bartosz Taudul
05eb4b7ebc
Don't use memcpy to terminate string.
2018-03-19 15:41:28 +01:00
Bartosz Taudul
1fbe1621e7
Display zone exclusive time as progress bar.
2018-03-19 02:30:40 +01:00
Bartosz Taudul
3b34ebf544
Unify GPU info window child selection with the rest of lists.
2018-03-19 02:25:24 +01:00
Bartosz Taudul
efe3eda845
Display thread in zone info windows.
2018-03-19 02:22:08 +01:00
Bartosz Taudul
2eece7c1f3
Reorder instructions.
2018-03-18 23:46:34 +01:00
Bartosz Taudul
ce2bf7c207
Use Vector instead of std::vector for thread zone list.
2018-03-18 21:15:31 +01:00
Bartosz Taudul
8dabe47602
Stop processing new zones on invalid time span.
...
When processing will resume in the next frame, the zone will hopefully
have a proper end time.
2018-03-18 21:06:26 +01:00
Bartosz Taudul
8b3e53bfad
Don't ignore first thread.
2018-03-18 20:53:31 +01:00
Bartosz Taudul
d0519499f4
Store thread id next to zone ptr in source location zone list.
2018-03-18 20:45:49 +01:00
Bartosz Taudul
777d672e05
Thread id compression/decompression.
2018-03-18 20:45:22 +01:00
Bartosz Taudul
40c6f01a41
Perform search after condition was verified, not before.
2018-03-18 20:25:00 +01:00
Bartosz Taudul
3ac98beb5a
Use precalculated min/max time spans.
2018-03-18 20:20:24 +01:00
Bartosz Taudul
0f1f7c6813
Calculate min/max time spans for source locations.
2018-03-18 20:15:45 +01:00
Bartosz Taudul
43c3fe25ba
Put source location zone data into a struct.
2018-03-18 20:08:57 +01:00
Bartosz Taudul
f5b0f34827
Using std::vector instead of Vector is no longer possible.
2018-03-18 19:56:53 +01:00
Bartosz Taudul
77fa8f54a6
Restore per-thread zone list functionality.
2018-03-18 16:41:58 +01:00
Bartosz Taudul
d08c10c5b6
Add functionality for getting zone thread.
2018-03-18 16:38:42 +01:00
Bartosz Taudul
616269e849
Display zone counts in matched source locations.
2018-03-18 16:11:08 +01:00
Bartosz Taudul
af3559afed
Only display results for a single source location match.
2018-03-18 16:07:07 +01:00
Bartosz Taudul
7a4e7cbf86
Reduce data collection if TRACY_NO_STATISTICS is defined.
...
Statistical data collection is only useful if it's meant to be used.
Otherwise it only incurs CPU and memory cost.
2018-03-18 12:55:54 +01:00
Bartosz Taudul
4baea4a74f
Don't hash source location zones keys.
2018-03-18 03:25:14 +01:00
Bartosz Taudul
67774698af
Only use direct zone end time for find zone data.
...
This prevents temporary timing artifacts from affecting histogram graph.
Previously the graph would flicker, because some shorter than usual
timing data was reported and the graph tried to compensate for a single
frame when such data was present.
2018-03-18 02:53:41 +01:00
Bartosz Taudul
e6b3f373c5
Add direct zone end getter.
2018-03-18 02:53:00 +01:00
Bartosz Taudul
746df21ad9
Live updates of find zone data.
...
TODO: found zones list. Currently only histogram view is available.
2018-03-18 02:43:17 +01:00
Bartosz Taudul
c807b3f7ef
Getter for source location zones.
2018-03-18 02:35:39 +01:00
Bartosz Taudul
9830fa297e
Store per-source-location zone lists.
2018-03-18 02:05:33 +01:00
Bartosz Taudul
c5c81a73bc
Skip initialization of StringIdx.
...
That memory will be loaded from file.
2018-03-17 14:43:02 +01:00
Bartosz Taudul
a4d46219df
File read buffer doesn't need to be preserved.
2018-03-17 14:22:36 +01:00
Bartosz Taudul
41d8ca0814
Split read/write functions into small and big variants.
2018-03-17 13:57:32 +01:00
Bartosz Taudul
79418d0c57
Move locks, zones, etc in options menu out of view.
2018-03-15 23:33:05 +01:00
Bartosz Taudul
81ff554c7d
Don't call ReadTimeline() when there's nothing to read.
2018-03-15 22:54:10 +01:00
Bartosz Taudul
9dfa9c95cb
Read and write whole ZoneEvent/GpuEvent data at once.
2018-03-15 21:59:16 +01:00
Bartosz Taudul
e5796af196
More efficient vector filling.
2018-03-15 21:42:00 +01:00
Bartosz Taudul
c510c9705b
No need to check for reserved space.
2018-03-15 21:32:06 +01:00
Bartosz Taudul
b7ba64a223
Microoptimize ReadTimeline().
2018-03-15 21:27:36 +01:00
Bartosz Szreder
124170b804
Fix compile warnings.
2018-03-14 00:30:57 +01:00
Bartosz Taudul
a14ff62e64
Decrease minimum spacing between tick labels on linear histogram.
2018-03-05 20:33:04 +01:00
Bartosz Taudul
f361d7484d
Put selection information next to each other.
2018-03-05 20:30:21 +01:00
Bartosz Taudul
f39d4c415d
Count time spent in histogram selection.
2018-03-05 20:23:58 +01:00
Bartosz Taudul
e9e3e46ea2
Display time instead of counts in cumulate time mode.
2018-03-05 20:19:05 +01:00
Bartosz Taudul
f733758652
Time accumulation histogram mode.
2018-03-05 20:15:18 +01:00
Bartosz Taudul
4005f22ecf
Clear selection only on right mouse click. Add tooltip.
2018-03-05 20:05:20 +01:00
Bartosz Taudul
3e931432cf
Don't calculate logarithms more than once.
2018-03-05 13:20:24 +01:00
Bartosz Taudul
68f652c40f
Put total time and max counts on the same line.
2018-03-04 23:25:33 +01:00
Bartosz Taudul
3a8c976285
Clear histogram range selection by right mouse click.
2018-03-04 23:20:35 +01:00
Bartosz Taudul
f510d8d2e7
Update item counts in thread list.
2018-03-04 23:17:36 +01:00
Bartosz Taudul
3dd14c9e01
Filter found zones according to selection.
2018-03-04 23:07:38 +01:00
Bartosz Taudul
f42d8cee38
Selection of time range on histogram.
2018-03-04 22:52:36 +01:00
Bartosz Taudul
dee7fd27be
Move mouse highlight data to a separate struct.
2018-03-04 22:21:35 +01:00
Bartosz Taudul
f7829a7eae
Store matches in a map.
2018-03-04 22:11:50 +01:00
Bartosz Taudul
754279d6f1
Allow narrowing down search results by source location.
2018-03-04 21:17:38 +01:00
Bartosz Taudul
2c508c1f79
Display list of matched source locations in search window.
2018-03-04 21:10:10 +01:00
Bartosz Taudul
5c1aec723d
Fix thread name clashes in ImGui.
2018-03-04 18:52:32 +01:00
Bartosz Taudul
fa46445537
Add label to separate found zones from rest of find dialog.
2018-03-04 18:44:33 +01:00
Bartosz Taudul
a34bb97d78
Unify zone children and find zone list behavior.
2018-03-04 18:42:18 +01:00
Bartosz Taudul
f44e9bbd7b
Make zone info child list "selectable".
2018-03-04 18:40:32 +01:00
Bartosz Taudul
a7e7f59f96
Zoom-to-zone on middle click on found item.
2018-03-04 18:35:40 +01:00
Bartosz Taudul
5cb917e868
No nonsense union.
2018-03-04 17:52:51 +01:00
Bartosz Taudul
5afdccfc46
Properly initialize data.
...
Unused bitbield bits and inactive string index/reference had thrash
values in release builds, which prevented de-duplication of source
location payloads.
2018-03-04 17:47:26 +01:00
Bartosz Taudul
e9395cd988
Reconstruct source location payload map on data load.
2018-03-04 17:22:34 +01:00
Bartosz Taudul
a374114358
Use proper encoding of source location.
2018-03-04 17:17:37 +01:00
Bartosz Taudul
9170cfd943
First entry in sourceLocationExpand is special.
2018-03-04 16:57:57 +01:00
Bartosz Taudul
80da271a2c
Don't match source location on a per-zone basis.
2018-03-04 16:53:13 +01:00
Bartosz Taudul
b48602f5d1
Implement search for matching source locations.
2018-03-04 16:52:45 +01:00
Bartosz Taudul
f8c5f28372
Use Vector for source location expand storage.
2018-03-04 16:32:51 +01:00
Bartosz Taudul
f99c6eec78
Simplify code.
2018-03-04 16:23:28 +01:00
Bartosz Taudul
b09bae07c4
Change default find parameters to unlimited.
2018-03-04 16:07:10 +01:00
Bartosz Taudul
87cfd98b69
No need for fractional time part on graph ticks.
2018-02-28 15:38:32 +01:00
Bartosz Taudul
2891ecc526
Logarithmic scale histogram ticks.
2018-02-28 15:20:52 +01:00
Bartosz Szreder
0fb35b42f8
Merged in bartosz_szreder/tracy (pull request #3 )
...
Split data handling code from the view.
2018-02-23 14:12:01 +00:00
Bartosz Szreder
3b9639a9de
Tweak included header files in View and Worker.
2018-02-23 15:08:20 +01:00
Bartosz Taudul
6406df6f45
Display total time.
2018-02-22 12:44:55 +01:00
Bartosz Taudul
ffb28a3d0d
More concise time range display.
2018-02-22 12:38:43 +01:00
Bartosz Szreder
bae1c02ad0
Worker thread will take care of itself.
2018-02-21 16:41:37 +01:00
Bartosz Szreder
9e3f18a62a
Split data handling code from the view.
2018-02-21 16:41:37 +01:00
Bartosz Taudul
fbaf59c9a6
Ignore zero-time zones in search.
2018-02-21 15:25:28 +01:00
Bartosz Taudul
785ab2927b
Calculate proper label offsets.
2018-02-21 15:18:30 +01:00
Bartosz Taudul
d9988c8a06
Histogram time labels prototype.
2018-02-20 16:01:33 +01:00
Bartosz Taudul
118d4b497f
Time Stamp Counter to time conversion function.
2018-02-20 12:40:12 +01:00
Bartosz Taudul
6a65ceb71a
Display maximum number of counts in bins.
2018-02-16 16:19:31 +01:00
Bartosz Taudul
4611bc355f
Optional log time scale in histogram.
2018-02-16 15:34:22 +01:00
Bartosz Taudul
6e8bb9e490
Display bin times.
2018-02-16 14:42:16 +01:00
Bartosz Taudul
f6cc360c69
Basic histogram introspection.
2018-02-16 14:31:57 +01:00
Bartosz Taudul
fbe1af80b5
Cosmetics.
2018-02-16 14:31:53 +01:00