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

2818 Commits

Author SHA1 Message Date
Bartosz Taudul 06a41708a7 Move TLS accesses close together. 2019-06-24 19:38:44 +02:00
Bartosz Taudul c4f0965851 Don't use cached thread id to retrieve main thread id. 2019-06-24 19:38:07 +02:00
Bartosz Taudul a56c47a6a0 Store thread handle in a thread local variable.
This saves us a non-inlineable function call. Thread local block is
accessed anyway, since we need to get the token, so we already have the
pointer and don't need to get it a second time (which is done inside
Windows' GetCurrentThreadId()). We also don't need to store the thread
id in ScopedZone anymore, as it was a micro-optimization to save us the
second GetThreadHandle() call.

This change has a measurable effect of reducing enqueue time from ~10 to
~8 ns.

A further optimization would be to completely skip thread handle
retrieval during zone capture and do it instead on retrieval of data
from the queue. Since each thread has its own producer ("token"), the
thread handle should be accessible during the dequeue operation. This is
a much more invasive change, that would require a) modification of the
queue, b) additional processing of dequeued data to inject the thread
handle.
2019-06-24 19:19:47 +02:00
Bartosz Taudul 46b75c5a19 Only enable tracy-internal GetThreadHandle if tracy is enabled. 2019-06-24 19:18:52 +02:00
Bartosz Taudul 79bfac9ca9 Use proper popcnt for gcc/clang (including cygwin). 2019-06-24 18:56:04 +02:00
Bartosz Taudul 9375afdbed All variables must be defined before goto. 2019-06-23 00:36:25 +02:00
Bartosz Taudul 6bdfedead2 Update nfd to ceb75f7abf3. 2019-06-23 00:35:19 +02:00
Bartosz Taudul 815ad7df28 Update manual. 2019-06-23 00:21:56 +02:00
Bartosz Taudul a8dcd5d153 Ctrl-click on frame in frame overview to show playback window. 2019-06-23 00:11:46 +02:00
Bartosz Taudul f125254d14 Cosmetics. 2019-06-23 00:00:16 +02:00
Bartosz Taudul 2f707bd152 Improve frame label drawing logic. 2019-06-22 23:49:30 +02:00
Bartosz Taudul 7217a99dc2 Always show at least one pixel of a frame in frame overview. 2019-06-22 22:48:32 +02:00
Bartosz Taudul c48cd10f35 Don't divide by zero in zero-length zones. 2019-06-22 22:42:57 +02:00
Bartosz Taudul 1d4117f515 Fix typo. 2019-06-22 14:55:01 +02:00
Bartosz Taudul ad26eaa9f1 Don't put "select/unselect all" buttons in a separate line. 2019-06-22 14:43:58 +02:00
Bartosz Taudul 0944eab707 Add background tasks icon. 2019-06-22 14:37:17 +02:00
Bartosz Taudul 4d4190c825 Update NEWS. 2019-06-22 14:25:35 +02:00
Bartosz Taudul e33690c5f3 Allow switching whitespace visibility in source code view. 2019-06-22 14:24:39 +02:00
Bartosz Taudul 53fe688bff Update ImGuiColorTextEdit to 0a88824f7de8d. 2019-06-22 14:19:10 +02:00
Bartosz Taudul 18cef20db9 Silence signed/unsigned comparison warnings. 2019-06-22 14:15:25 +02:00
Bartosz Taudul 8f7be5a0fa Allow only 2^32-1 frame images. 2019-06-22 14:11:45 +02:00
Bartosz Taudul fadf8e3e0a Can't read negative number of bytes.
This completely ignores error handling, which probably should be added.
The code behavior doesn't change, as the existing comparisons and
asserts already promoted the signed value to unsigned.
2019-06-22 14:08:48 +02:00
Bartosz Taudul 1c41229766 Use proper type for buffer size comparison. 2019-06-22 14:07:53 +02:00
Bartosz Taudul 70a7033a64 Use proper type for iteration. 2019-06-22 14:07:26 +02:00
Bartosz Taudul 1ea647a1dd Use proper type for srcloc highlight decay value. 2019-06-22 14:06:25 +02:00
Bartosz Taudul aaefd6e1d6 Simplify code. 2019-06-22 14:06:10 +02:00
Bartosz Taudul 6a82f666a7 Cosmetics. 2019-06-22 14:05:18 +02:00
Bartosz Taudul 54ae4c84ba Silence warning about unused variable. 2019-06-22 14:04:48 +02:00
Bartosz Taudul de953bfaa8 Use proper data type for callstack storage in GPU zones. 2019-06-22 14:04:27 +02:00
Bartosz Taudul 323f0e1ae3 Don't create variable for exception in catch block. 2019-06-22 13:41:24 +02:00
Bartosz Taudul eb4c7ca9ea Ignore useless warnings. 2019-06-22 13:40:00 +02:00
Bartosz Taudul a3ce08a9f9 Display zone time as percentage of average zone time. 2019-06-22 13:22:13 +02:00
Bartosz Taudul 5fde56d96a Remove hidden zone time without profiling tooltip. 2019-06-22 13:10:46 +02:00
Bartosz Taudul 850815534e Insert frame mark at beginning of on-demand connection. 2019-06-21 19:39:41 +02:00
Bartosz Taudul fd9fc880a6 Send current time in on-demand welcome message. 2019-06-21 19:39:41 +02:00
Bartosz Taudul 48df667a37 Resolve client host name using DNS.
This operation is blocking and should be made asynchronous.
2019-06-21 19:27:41 +02:00
Bartosz Taudul 659ef87974 Animate highlighted messages on the timeline. 2019-06-21 14:25:51 +02:00
Bartosz Taudul bb44e80e5a Use smaller UI elements in selected places. 2019-06-21 14:15:46 +02:00
Bartosz Taudul 8259816de3 Improve playback interruptions on user input. 2019-06-21 13:08:41 +02:00
Bartosz Taudul a916c28269 Build test application on appveyor. 2019-06-19 22:17:11 +02:00
Bartosz Taudul ae4f9663aa Selecting frames stops playback. 2019-06-19 20:05:23 +02:00
Bartosz Taudul 51135c1d20 Pulse hover-info line on histograms. 2019-06-19 20:01:41 +02:00
Bartosz Taudul d44c4b00fb Implement outliers cutoff in compare menu. 2019-06-18 22:27:25 +02:00
Bartosz Taudul d66be0e033 Update manual. 2019-06-18 21:02:49 +02:00
Bartosz Taudul 3fcd73680c Simulate client activity time advancement. 2019-06-18 20:56:42 +02:00
Bartosz Taudul 800d95c089 Display discovered clients activity times. 2019-06-18 20:51:12 +02:00
Bartosz Taudul 5309e6d94a Broadcast client activity time. 2019-06-18 20:46:12 +02:00
Bartosz Taudul 1a32edebf2 Extract text printing functions. 2019-06-18 20:43:28 +02:00
Bartosz Taudul aa5259b20a Use the same port (8086) for both TCP and UDP traffic. 2019-06-18 20:28:03 +02:00
Bartosz Taudul 0e5a7263d9 Define broadcast message, add versioning. 2019-06-18 20:26:40 +02:00