1
0
mirror of https://github.com/wolfpld/tracy.git synced 2025-03-20 07:40:02 +08:00
Commit Graph

230 Commits

Author SHA1 Message Date
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
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 031818dff6 Send main thread name. 2017-09-23 01:38:26 +02:00
Bartosz Taudul 2faa1abb21 Store main thread id. 2017-09-23 01:37:07 +02:00