Bartosz Taudul
f584bf76e8
Profiler ID can be static (one less instruction).
2017-09-27 00:30:02 +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
e076d1d475
Send source location answer in stream, not as separate packet.
2017-09-26 19:00:25 +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
809d98162b
Do the same trick as concurrentqueue.h for GetCurrentThreadId().
2017-09-26 00:46:46 +02:00
Bartosz Taudul
1c4dcf7e52
Use consistent ifdefs.
2017-09-26 00:42:47 +02:00
Bartosz Taudul
e5ad7d9ac4
GetTime() call can be now inlined.
...
No dependencies on either windows.h, or static instance of Profiler.
2017-09-26 00:42:09 +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
206305fbd2
Merge TracyThread.hpp to TracySystem.cpp.
...
Keeping threading functions inside a source file prevents poisoning by
including windows.h.
2017-09-25 21:13:59 +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
fce04c6215
Profiling delay calibration.
2017-09-24 16:02:09 +02:00
Bartosz Taudul
bf12704b0f
Increase queue preallocation size.
2017-09-24 15:59:53 +02:00
Bartosz Taudul
6a4f3842af
Pre-allocate space for 64K events in queue.
2017-09-24 13:40:04 +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
b89adbaf8c
Add second scope test.
2017-09-23 21:37:14 +02:00
Bartosz Taudul
7770014844
Use rdtscp to measure time on windows.
2017-09-23 21:33:05 +02:00
Bartosz Taudul
bd9ffc16b5
Hide GetTime() in Profiler.
2017-09-23 21:10:26 +02:00
Bartosz Taudul
c0b1846a35
IPV6_V6ONLY needs to be disabled on cygwin too.
2017-09-23 20:20:41 +02:00
Bartosz Taudul
e1a63dbb53
Drop constant merging check.
...
While without constant merging the profiler operates sub-optimally, it's
not that essential to be enabled. And there are problems with it on some
platforms, for example cygwin.
2017-09-23 20:16:42 +02:00
Bartosz Taudul
c1cab84329
Add _GNU_SOURCE define for pthread_[gs]etname_np on cygwin.
2017-09-23 20:14:12 +02:00
Bartosz Taudul
a68b0921b1
Add parent pointer to Event.
2017-09-23 15:41:26 +02:00