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
|
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
|
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
|
8ddf32bc6b
|
Highlight zones with the same srcloc on hover.
|
2018-07-28 19:53:11 +02:00 |
|
Bartosz Taudul
|
6a3a9c0bc5
|
Load second trace on a separate thread.
|
2018-07-28 18:47:33 +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
|
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
|
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 |
|
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
|
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 |
|