Commit Graph

531 Commits

Author SHA1 Message Date
Bartosz Taudul
84052c622f Implement tracy::Vector::erase(). 2017-09-25 23:11:56 +02:00
Bartosz Taudul
f39c2d5e70 Fix tracy::Vector::insert(). 2017-09-25 23:01:22 +02:00
Bartosz Taudul
b33b9fd4ed Do not draw test window. 2017-09-25 22:54:54 +02:00
Bartosz Taudul
519cb8dff3 Allow adding custom colors to zones. 2017-09-25 22:46:14 +02:00
Bartosz Taudul
93fc85a639 Try to always display zone text. 2017-09-25 22:05:13 +02:00
Bartosz Taudul
0d24a2739d Missed one valid case. 2017-09-25 01:52:42 +02:00
Bartosz Taudul
71b6e81500 Don't reverse item order. 2017-09-25 01:37:03 +02:00
Bartosz Taudul
3aeea69eba No dragons here. 2017-09-25 01:31:54 +02:00
Bartosz Taudul
192493a2c3 Store proper children in edge-case code. 2017-09-25 01:20:22 +02:00
Bartosz Taudul
d427e937d3 Zone can begin right after another one.
This happens when the timer has not enough precision.
2017-09-24 23:52:08 +02:00
Bartosz Taudul
61b7496cef Display number of collapsed small zones. 2017-09-24 16:56:57 +02:00
Bartosz Taudul
a835e0f121 Display execution time minus profiling delay. 2017-09-24 16:45:22 +02:00
Bartosz Taudul
29d5b8d4e9 Support formatting of negative time. 2017-09-24 16:45:08 +02:00
Bartosz Taudul
36ffaec1df Display profiling delay on zone chart. 2017-09-24 16:40:16 +02:00
Bartosz Taudul
86b1e4fd64 Group small zones together. 2017-09-24 16:25:07 +02:00
Bartosz Taudul
7683da5f74 Send initial configuration as a single message. 2017-09-24 16:10:28 +02:00
Bartosz Taudul
9a46cbeb84 Clamp rect coordinates to prevent bad rendering. 2017-09-24 03:44:52 +02:00
Bartosz Taudul
d98e08b37a Implement zone update code. 2017-09-24 03:39:30 +02:00
Bartosz Taudul
6419cd5062 Parent vector retrieval. 2017-09-24 03:39:29 +02:00
Bartosz Taudul
1005fa0c91 Implement rest of zone insertion code. 2017-09-24 03:29:48 +02:00
Bartosz Taudul
060cd90c81 Draw nested zones. 2017-09-24 00:12:26 +02:00
Bartosz Taudul
c9a982360f Move drawing of a single zone line to a separate function. 2017-09-24 00:07:06 +02:00
Bartosz Taudul
73df330dd5 Recursive, incomplete zone insertion into timeline. 2017-09-23 23:59:56 +02:00
Bartosz Taudul
a68b0921b1 Add parent pointer to Event. 2017-09-23 15:41:26 +02:00
Bartosz Taudul
cdab2297ef Non-recursive version of GetZoneEnd. 2017-09-23 15:41:10 +02:00
Bartosz Taudul
3d6e85db4a Take children into account when determining zone end. 2017-09-23 15:39:39 +02:00
Bartosz Taudul
3f765002c1 Proper drawing of zones without valid end time. 2017-09-23 14:51:30 +02:00
Bartosz Taudul
84cb8ab9cc Properly track events if there are no frame marks. 2017-09-23 14:45:38 +02:00
Bartosz Taudul
7ffa987857 Fix last time retrieval. 2017-09-23 14:43:05 +02:00
Bartosz Taudul
a41db80ff2 Separate thread names from zones in zone view. 2017-09-23 01:29:27 +02:00
Bartosz Taudul
1116ef33c5 No emplace_back in custom vector. 2017-09-23 01:11:06 +02:00
Bartosz Taudul
b62dc57a92 Disallow vector copying, allow moves. 2017-09-23 01:10:48 +02:00
Bartosz Taudul
34aecee1f9 Zone span selection in frame view. 2017-09-23 00:46:15 +02:00
Bartosz Taudul
c0fe0e3e79 Proper initialization order. 2017-09-22 22:25:18 +02:00
Bartosz Taudul
5ba0fa8617 Text string is not a format string. 2017-09-22 22:23:06 +02:00
Bartosz Taudul
081e9eed7d Explicitly specify type. 2017-09-22 22:16:18 +02:00
Bartosz Taudul
7d5ed99f0f Use proper type in printf. 2017-09-22 22:16:18 +02:00
Bartosz Taudul
4c1027c16e Be conformant with standard. 2017-09-22 22:16:18 +02:00
Bartosz Taudul
21fd14397d Accumulate drag offset if time delta is less than 1 ns. 2017-09-22 21:39:14 +02:00
Bartosz Taudul
7b3a0057ca Fix double precision issues. 2017-09-22 21:35:06 +02:00
Bartosz Taudul
8d67d59ff3 Remove unused enum. 2017-09-22 21:15:57 +02:00
Bartosz Taudul
3ea18dcbfd Always display threads in their original appearance order. 2017-09-22 02:02:43 +02:00
Bartosz Taudul
3141d17988 Temporary display of thread name. 2017-09-22 01:59:44 +02:00
Bartosz Taudul
2610004fa5 Store thread id in thread data. 2017-09-22 01:59:44 +02:00
Bartosz Taudul
6525e1b3c1 Thread name queries. 2017-09-22 01:59:44 +02:00
Bartosz Taudul
70ad3407c0 Rework client handling of server requests. 2017-09-22 01:54:04 +02:00
Bartosz Taudul
3032745cce Thread names boilerplate. 2017-09-22 01:30:57 +02:00
Bartosz Taudul
d610b9d1a2 Fix typo. 2017-09-22 01:30:43 +02:00
Bartosz Taudul
55fdc47418 Each thread has its own timeline. 2017-09-22 01:15:58 +02:00
Bartosz Taudul
8a30e1c937 Properly clip function names in zones. 2017-09-21 22:12:19 +02:00
Bartosz Taudul
e3f85d6d74 Display zone source location data. 2017-09-21 22:01:18 +02:00
Bartosz Taudul
5065743bf0 Store zone source location. 2017-09-21 21:57:40 +02:00
Bartosz Taudul
7446e27e60 Display per-frame program execution time. 2017-09-21 02:30:05 +02:00
Bartosz Taudul
a5000924a5 Zone display skeleton. 2017-09-21 02:16:01 +02:00
Bartosz Taudul
9da7e58ec5 String getter. 2017-09-21 02:10:20 +02:00
Bartosz Taudul
0b2a98d6b2 Mark frame drawing code segment. 2017-09-21 01:49:01 +02:00
Bartosz Taudul
155c9de767 Fix crash. 2017-09-21 01:41:52 +02:00
Bartosz Taudul
2f645c589d Zoom in/out in zone view. 2017-09-21 01:39:07 +02:00
Bartosz Taudul
a353a7601d Add frame info tooltip. 2017-09-21 01:18:24 +02:00
Bartosz Taudul
b725be87c7 Scrolling zone view. 2017-09-21 01:13:23 +02:00
Bartosz Taudul
c3df475de7 Draw frames in zone view. 2017-09-21 00:57:26 +02:00
Bartosz Taudul
43dc12ca39 Select 3 frames, not 2. 2017-09-20 22:41:05 +02:00
Bartosz Taudul
ee273934e3 Const variables. 2017-09-20 22:35:10 +02:00
Bartosz Taudul
ef317fa2be Add frame time accessors. 2017-09-20 22:34:56 +02:00
Bartosz Taudul
edb7fac230 Display zone view span. 2017-09-20 21:28:03 +02:00
Bartosz Taudul
7bc730ab73 Use pool of buffers in TimeToString(). 2017-09-20 21:25:00 +02:00
Bartosz Taudul
1fef4f9202 Add a representation of displayed zone area to frame view. 2017-09-20 21:21:29 +02:00
Bartosz Taudul
efc7958ae0 Calculate zone area to display. 2017-09-20 21:21:21 +02:00
Bartosz Taudul
c9aaa03b28 Frames will never be empty anymore. 2017-09-20 20:39:08 +02:00
Bartosz Taudul
fc01be2138 Don't show profiler window before connection is established. 2017-09-20 20:38:12 +02:00
Bartosz Taudul
e2ec143893 Don't access frame data if nothing there. 2017-09-20 18:42:44 +02:00
Bartosz Taudul
792843d34e Use invisible button to fake frames widget.
This handles both positioning and prevents window from being moved by
mouse.
2017-09-20 02:19:39 +02:00
Bartosz Taudul
de9fbf4c2c Check if window is not under another window. 2017-09-20 00:53:39 +02:00
Bartosz Taudul
c402bd43b3 Add slight rounding to UI items. 2017-09-20 00:46:30 +02:00
Bartosz Taudul
1cb19a56eb Zoom in and out at mouse position. 2017-09-20 00:08:15 +02:00
Bartosz Taudul
9b93fea0f5 Calc frame width and grouping in separate functions. 2017-09-20 00:05:45 +02:00
Bartosz Taudul
ab16b66265 Analytic calculation of frame hovered by mouse. 2017-09-19 21:10:31 +02:00
Bartosz Taudul
623c32a7a0 Add one more frame zoom level. 2017-09-19 21:10:11 +02:00
Bartosz Taudul
a2fa7dd0ed Frame list can be now scrolled using right mouse button. 2017-09-19 01:24:31 +02:00
Bartosz Taudul
0fe0f1d095 Fix on-screen frames calculation. 2017-09-19 01:24:14 +02:00
Bartosz Taudul
3ee4a72076 Fit frames to frames rect. 2017-09-19 00:36:28 +02:00
Bartosz Taudul
2ba44bc0bc Allow pausing frame updates. 2017-09-19 00:26:40 +02:00
Bartosz Taudul
f9b9735392 Display global frame information. 2017-09-18 22:59:39 +02:00
Bartosz Taudul
df3cd193e5 Improve time to string conversion.
- Make sure comparison doesn't overflow.
- Time is not base-2 (doh!).
- Use doubles instead of floats for better precision.
- Support displaying minutes.
2017-09-18 22:56:17 +02:00
Bartosz Taudul
73f1a39928 Display frame information. 2017-09-18 22:12:39 +02:00
Bartosz Taudul
9a38302d4a Conversion of nanoseconds to string. 2017-09-18 22:11:38 +02:00
Bartosz Taudul
05c8c1fa40 Allow further zoom-out. 2017-09-18 21:32:26 +02:00
Bartosz Taudul
da36ddd1c6 Refactor drawing frames. 2017-09-18 21:26:22 +02:00
Bartosz Taudul
de66ec5332 Adjust frame colors. 2017-09-18 19:03:29 +02:00
Bartosz Taudul
2f7fa20e34 Draw frame graph. 2017-09-18 02:37:25 +02:00
Bartosz Taudul
b259dc94f8 Retrieval of last recorded event's time. 2017-09-18 02:22:59 +02:00
Bartosz Taudul
3eb17e9969 Add ImVec2 operator-. 2017-09-18 02:16:35 +02:00
Bartosz Taudul
11e9327e02 Show whether server is recording data. 2017-09-18 00:31:38 +02:00
Bartosz Taudul
76aad0d2a4 Track server connection status. 2017-09-18 00:31:09 +02:00
Bartosz Taudul
35032413ef Define ImVec2 operator+. 2017-09-18 00:18:36 +02:00
Bartosz Taudul
d7914439e9 Use stream compression.
Previously each data packet was compressed independently. After this
change all new packets reference the previously sent data, which
achieves better compression.
2017-09-17 13:10:58 +02:00
Bartosz Taudul
4c2bd7d9df Fine tune connection window. 2017-09-17 01:41:18 +02:00
Bartosz Taudul
447f042c9a Track server memory usage. 2017-09-17 01:22:46 +02:00
Bartosz Taudul
ab033188d8 Add more methods to tracy::Vector. 2017-09-17 01:05:47 +02:00
Bartosz Taudul
2789cc346f Proper throughput calculation. 2017-09-16 01:47:04 +02:00
Bartosz Taudul
1dd723e3ed Display remote FPS and frame time. 2017-09-16 00:57:50 +02:00
Bartosz Taudul
3d0ddb960a Process frame marks. 2017-09-16 00:40:51 +02:00
Bartosz Taudul
03ece0ac48 Send frame markers. 2017-09-16 00:30:27 +02:00
Bartosz Taudul
f8c4364e78 Move bytes initialization before goto. 2017-09-15 22:45:03 +02:00
Bartosz Taudul
01f63c8d7c Can't declare variable after goto. 2017-09-15 21:09:19 +02:00
Bartosz Taudul
19f67504b1 Throughput data is not related to event data. 2017-09-15 20:31:59 +02:00
Bartosz Taudul
2947fb6563 Initialize allocated memory. 2017-09-15 20:24:15 +02:00
Bartosz Taudul
b4faa0a9b9 Use small vector. 2017-09-15 20:17:39 +02:00
Bartosz Taudul
6b589e9479 Add small vector implementation.
Not used at the moment.
2017-09-15 20:17:02 +02:00
Bartosz Taudul
1c56347f1d Use slab allocator to store event data. 2017-09-15 19:56:55 +02:00
Bartosz Taudul
de0b50aef9 Add shortcut for allocation of a type. 2017-09-15 19:54:43 +02:00
Bartosz Taudul
47f6c8d06b Add slab allocator. 2017-09-15 19:41:09 +02:00
Bartosz Taudul
7bd3ce319f Add proper locking. 2017-09-15 02:33:49 +02:00
Bartosz Taudul
74f692c254 Display throughput plot. 2017-09-15 02:30:22 +02:00
Bartosz Taudul
d7c09605d6 Collect throughput statistics. 2017-09-15 02:29:48 +02:00
Bartosz Taudul
0220907a14 Timeline construction sketches. 2017-09-14 21:28:40 +02:00
Bartosz Taudul
c0dd0ef5bc Dispatch new zone, update zone events. 2017-09-14 21:05:01 +02:00
Bartosz Taudul
e3edd7e336 Explicit zone index. 2017-09-14 21:04:35 +02:00
Bartosz Taudul
e8989d955c Handle incoming strings. 2017-09-14 19:44:49 +02:00
Bartosz Taudul
bbbf52eafd String adding functionality. 2017-09-14 19:43:40 +02:00
Bartosz Taudul
cd9218e952 Check string availability. 2017-09-14 02:16:51 +02:00
Bartosz Taudul
b9c76f3452 Make View socket available to every method in class. 2017-09-14 02:15:04 +02:00
Bartosz Taudul
a159b70d40 Reconstruct event data. 2017-09-14 02:00:13 +02:00
Bartosz Taudul
3e1b736b34 Use better variable name. 2017-09-14 01:06:40 +02:00
Bartosz Taudul
10b88754d8 Allow direct access to data size table index. 2017-09-14 01:05:08 +02:00
Bartosz Taudul
89dd244693 Read QueueItems from network. 2017-09-13 23:40:28 +02:00
Bartosz Taudul
52d24d0d4c s_instance ptr may be accessed by thread. 2017-09-13 23:36:40 +02:00
Bartosz Taudul
f0d76af15c Use proper function to read data from socket. 2017-09-13 02:08:35 +02:00
Bartosz Taudul
407a256e68 Make sure data is actually received. 2017-09-13 02:00:22 +02:00
Bartosz Taudul
afde32549d Basic receive loop. 2017-09-13 01:54:22 +02:00
Bartosz Taudul
953e9c6206 View server skeleton. 2017-09-13 01:33:50 +02:00