Bartosz Taudul
a96f58c3de
Implement resize() in tracy::Vector.
2017-10-01 01:51:29 +02:00
Bartosz Taudul
a8b41faaf4
Compress saved traces using LZ4.
2017-09-30 19:25:24 +02:00
Bartosz Taudul
616f501a97
Set nullptrs where necessary.
2017-09-30 19:21:51 +02:00
Bartosz Taudul
ddf2453cca
Buffer reads.
2017-09-30 18:43:57 +02:00
Bartosz Taudul
1c29367a54
Buffer writes.
2017-09-30 18:43:56 +02:00
Bartosz Taudul
fc8cd12088
Do not copy string map (DOH!).
2017-09-30 17:09:00 +02:00
Bartosz Taudul
f387a16e61
Count read zones.
2017-09-30 16:59:03 +02:00
Bartosz Taudul
06949e2f99
Reading saved trace.
2017-09-30 16:58:02 +02:00
Bartosz Taudul
f9ee2b853c
Writing traces.
2017-09-30 16:20:08 +02:00
Bartosz Taudul
2021b7460a
Add file wrappers.
2017-09-30 16:19:50 +02:00
Bartosz Taudul
e2cd3106ae
Add direct data accessor to tracy::Vector.
2017-09-30 16:18:06 +02:00
Bartosz Taudul
e4c5e5c097
Save trace file selector.
2017-09-30 14:56:23 +02:00
Bartosz Taudul
0de755124d
Small cleanup.
2017-09-30 14:56:23 +02:00
Bartosz Taudul
d7bd8885fe
Make zone highlight more visible.
2017-09-30 13:45:02 +02:00
Bartosz Taudul
077585ba4d
Allow switching to zone parent.
2017-09-30 13:41:03 +02:00
Bartosz Taudul
e6a32c1af5
Add zoom-to-frame.
2017-09-29 23:08:10 +02:00
Bartosz Taudul
dd0c283a3b
More condensed child zone time graph.
2017-09-29 22:59:11 +02:00
Bartosz Taudul
9864ef70c9
Show child zone info popups.
2017-09-29 22:57:22 +02:00
Bartosz Taudul
852e163b72
Use correct variable.
2017-09-29 22:56:12 +02:00
Bartosz Taudul
3ac65a7524
Separate tooltip showing function.
2017-09-29 22:55:24 +02:00
Bartosz Taudul
5dc5500065
Display child zone times graphically.
2017-09-29 22:50:25 +02:00
Bartosz Taudul
366da56d99
Add interaction with displayed child nodes.
2017-09-29 22:40:49 +02:00
Bartosz Taudul
2c0d4d2817
Display child zone times.
2017-09-29 22:40:45 +02:00
Bartosz Taudul
1cd86cb30f
Display exclusive zone time.
2017-09-29 22:13:22 +02:00
Bartosz Taudul
d4d28e841a
Display basic timing info.
2017-09-29 22:06:31 +02:00
Bartosz Taudul
fb80ac9488
Allow zooming to zone from zone info window.
2017-09-29 22:01:30 +02:00
Bartosz Taudul
b386e51edc
Highlight selected zone.
2017-09-29 21:57:00 +02:00
Bartosz Taudul
c5f6ca9656
Add basic zone info window.
2017-09-29 21:49:14 +02:00
Bartosz Taudul
a8c219dd88
Display number of collapsed zones.
2017-09-29 19:13:53 +02:00
Bartosz Taudul
23c71116e3
Draw timer resolution uncertainty.
2017-09-29 18:55:21 +02:00
Bartosz Taudul
7a992517e1
Print queue delay and timer resolution.
2017-09-29 18:46:08 +02:00
Bartosz Taudul
3f9143d491
Double the TimeToString buffer pool.
2017-09-29 18:44:42 +02:00
Bartosz Taudul
28912ca2e6
Display delay caused by zone name and zone text events.
2017-09-29 18:40:55 +02:00
Bartosz Taudul
efda50acb1
Send timer resolution to server.
2017-09-29 18:32:07 +02:00
Bartosz Taudul
b9aa10913a
Rename internal enum to avoid #define conflicts.
2017-09-28 21:20:33 +02:00
Bartosz Taudul
599a9be37c
Try to conserve as much memory as possible.
2017-09-28 21:08:36 +02:00
Bartosz Taudul
8ecb5de062
Store pointers to ThreadData.
...
This prevents moves of Vector<>.
2017-09-28 21:05:51 +02:00
Bartosz Taudul
556e085f2c
memcpy source can't be null.
2017-09-28 20:47:57 +02:00
Bartosz Taudul
608cb912a1
Enable custom vector.
2017-09-28 20:20:10 +02:00
Bartosz Taudul
2161c23eee
Display custom zone names.
2017-09-28 19:31:27 +02:00
Bartosz Taudul
8c1c395cec
Allow sending custom zone names.
2017-09-28 19:28:24 +02:00
Bartosz Taudul
91e6210e34
Store zone text data in a separate structure.
2017-09-28 19:06:39 +02:00
Bartosz Taudul
7f865f3517
Use common function to send server query.
2017-09-27 02:44:16 +02:00
Bartosz Taudul
e683a59360
Use color to display custom zone text.
2017-09-27 02:40:24 +02:00
Bartosz Taudul
c2926f2a0d
Store custom strings as const char*, not std::string.
...
It would seem that std::string is not moved, but copied, thus
invalidating the pointer.
2017-09-27 02:36:14 +02:00
Bartosz Taudul
537542f682
Add character utilities.
2017-09-27 02:35:59 +02:00
Bartosz Taudul
d65d957272
Display zone text.
2017-09-27 02:21:51 +02:00
Bartosz Taudul
d1bbb731fc
Zone text (custom string) transfer.
2017-09-27 02:18:17 +02:00
Bartosz Taudul
ffa5930a23
Don't draw frame separator lines, if too close together.
2017-09-26 22:17:10 +02:00
Bartosz Taudul
1fa778891c
Allow zooming to collapsed zones.
2017-09-26 22:08:58 +02:00
Bartosz Taudul
6cf1ebec04
Pause zone view after zooming to zone.
2017-09-26 22:08:31 +02:00
Bartosz Taudul
8ad7ba1dd0
Middle click to zoom to zone.
2017-09-26 21:49:50 +02:00
Bartosz Taudul
e90a86e06e
Store zone color in source location struct.
2017-09-26 18:54:48 +02:00
Bartosz Taudul
7424077d70
Store source location in a single object.
...
Source file, function name and line number are now stored in a const
static container object. This has the following benefits:
- Slightly lighter profiling workload (3 instructions less).
- Profiling queue event size is significantly reduced, by 12 bytes. This
has an effect on all queue event types.
- Source location grouping has now no cost, as it's performed at the
compilation stage. This allows simplification of server code.
The downside is that the full source location resolution is now
performed in two steps, as the server has to query both source location
container and strings contained within. This has almost no real impact
on profiler operation.
2017-09-26 02:39:08 +02:00
Bartosz Taudul
9cb12a05b3
Silence warning.
2017-09-26 02:38:07 +02:00
Bartosz Taudul
11a790a18f
Offload TSC -> time conversion to server.
2017-09-26 00:13:24 +02:00
Bartosz Taudul
27e1952cc5
Display total zone count.
2017-09-25 23:38:49 +02:00
Bartosz Taudul
d797099076
Don't merge zones of different color.
2017-09-25 23:17:33 +02:00
Bartosz Taudul
fb970170e0
Increase zone zoom in/out speed.
2017-09-25 23:15:00 +02:00
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