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

6966 Commits

Author SHA1 Message Date
Bartosz Taudul 197007ab47 Keep a list of buffers left to handle.
Previously a bitmap of buffers was repeatedly scanned to see which buffers
still contain data. This process was needlessly wasting cycles (seen as a
hotspot when profiled) and worse yet, the workload increased with the number
of CPU cores (=> buffers used) to handle.

The new implementation instead maintains a list of buffer indices that have to
be handled. This list does not contain empty buffers, so each loop iteration
performs some work, instead of just spinning in search for buffers to handle.
2022-08-18 13:59:56 +02:00
Bartosz Taudul 940f32c1a8 Add include for cpuid. 2022-08-18 13:40:37 +02:00
Bartosz Taudul 1d60c0cd5b Remove leftovers. 2022-08-18 13:18:39 +02:00
Bartosz Taudul 07a56f1148 Load globals to local variables. 2022-08-18 01:08:22 +02:00
Bartosz Taudul d62f7d5d13 Shorten zone name in jump popup target submenu. 2022-08-18 00:49:42 +02:00
Bartosz Taudul f9a4bc55cc Normalize function names in jump popup. 2022-08-18 00:35:59 +02:00
Bartosz Taudul a1f09fab35 Assembly lines without source locations are navigatable to. 2022-08-18 00:19:32 +02:00
Bartosz Taudul 3dfa3a77a2 Update manual. 2022-08-17 16:48:45 +02:00
Bartosz Taudul 7df4aef122 Expose source callback registering through a macro. 2022-08-17 16:26:03 +02:00
Bartosz Taudul 687e901347 Update NEWS. 2022-08-17 16:04:21 +02:00
Bartosz Taudul e8aaf5fa99 Run source file query on payloaded source locations. 2022-08-17 16:04:20 +02:00
Bartosz Taudul a237f108c7 Use source contents callback. 2022-08-17 16:04:20 +02:00
Bartosz Taudul ed7be2faaa Add source contents callback setup. 2022-08-17 16:04:18 +02:00
Bartosz Taudul 4bcb59bbe6 Update font awesome and migrate to v6 headers. 2022-08-17 12:07:38 +02:00
Bartosz Taudul ef35c01e14 Highlight jump line on hover over jump target label. 2022-08-17 00:30:07 +02:00
Bartosz Taudul 1601ddeab5 Resolve relative file names to absolute ones.
Note that this is a tentative fix, which *should* be working, but it may as
well not be correct in some edge cases. Who knows.
2022-08-16 23:48:46 +02:00
Bartosz Taudul 3dc542a464 Log invalid debuginfod queries.
Filename paths must be absolute, not relative.
2022-08-16 22:05:14 +02:00
Bartosz Taudul d32dc47845 Add debug logging for debuginfod queries. 2022-08-16 22:05:08 +02:00
Bartosz Taudul ed733a4b15 Update manual. 2022-08-16 18:58:11 +02:00
Bartosz Taudul 0779151170 Update NEWS. 2022-08-16 18:52:29 +02:00
Bartosz Taudul 827bbeb442 Context menu hide for plots. 2022-08-16 18:51:28 +02:00
Bartosz Taudul 4bf6a2b9d2 Context menu hide for CPU data. 2022-08-16 18:48:54 +02:00
Bartosz Taudul 3aa62a18cc Context menu hide of GPU zones. 2022-08-16 18:43:13 +02:00
Bartosz Taudul fa8a071334 Add context menu with hide option to threads on timeline. 2022-08-16 18:40:10 +02:00
Bartosz Taudul 5ef7e42223 Fix indentation. 2022-08-16 18:39:43 +02:00
Bartosz Taudul 06b986ad90 Bump LZ4 to 1.9.4. 2022-08-16 14:43:50 +02:00
Bartosz Taudul 3d9d242153 Fix test application flags. 2022-08-16 14:12:22 +02:00
Bartosz Taudul 72ad40698b Move initialization of callstack structs to a thread.
Initializing structures for callstack processing (building memory map of the
process, gathering kernel symbols, etc) takes some time, which in some cases
may be significant.

Callstack queries are now handled on a separate thread. In such setup it no
longer makes sense to block main thread execution with this lengthy init
process.

All the heavy initialization phase has been now moved to this separate
processing thread. Some initial callstack queries may now not produce
responses as promptly as before, but this is only because the main thread is
able to start working earlier.

Some parts of the initialization process may be critical to do in the main
thread, for example because the function responsible for gathering callstacks
must be loaded first. This is done still on the main thread, in a new function
InitCallstackCritical().
2022-08-16 13:55:46 +02:00
Bartosz Taudul d9d31e4d51 Make fixed font more compact.
Note that the negative glyph spacing is const here, regardless of the font
scaling. The alternative of using proportional spacing in reality does not
work as good as it sounds. With fractional scaling some of the glyphs will
no longer land on exact pixel boundaries, which results in blurry text.

Looking at the potential solutions for this problem is moot point, as with
the non-fractional scale of 2x and glyph spacing of -2, there is no longer
enough space separating some letters, which is especially visible in words
like "common" or register "xmm", where the "mm" pair becomes joined.
2022-08-16 13:16:21 +02:00
Bartosz Taudul 26e7d6eb3e Update manual. 2022-08-16 00:17:59 +02:00
Bartosz Taudul cde56ef9fe Update NEWS. 2022-08-15 23:33:27 +02:00
Bartosz Taudul 6659e9967a Fix alignment of inline function warning triangle. 2022-08-15 23:04:56 +02:00
Bartosz Taudul c6ad1c4969 Print file name in source view with big font. 2022-08-15 23:01:40 +02:00
Bartosz Taudul f39efbaa07 Normalize child call names in symbol view. 2022-08-15 22:58:35 +02:00
Bartosz Taudul 00e0187506 Print symbol name in symbol view with big font. 2022-08-15 22:53:32 +02:00
Bartosz Taudul fa0322f6b4 Push big font to source view. 2022-08-15 22:48:00 +02:00
Bartosz Taudul d3cb8ccef2 Normalize jump names in assembly lines. 2022-08-15 22:44:31 +02:00
Bartosz Taudul 04aebb090b Normalize frame names in zone trace. 2022-08-15 22:32:42 +02:00
Bartosz Taudul fd2918eaf2 Normalize frames in find zone view callstack. 2022-08-15 22:27:36 +02:00
Bartosz Taudul a5998adf83 Normalize function name in assembly line location popup. 2022-08-15 22:16:05 +02:00
Bartosz Taudul 2031c92f7a Add source code tooltip to function selection list. 2022-08-15 22:10:59 +02:00
Bartosz Taudul 163e7fd490 Normalize names in function selection list in symbol view. 2022-08-15 22:06:35 +02:00
Bartosz Taudul b1aca6acf9 Show original name in tooltip in sample parents window. 2022-08-15 21:54:29 +02:00
Bartosz Taudul dc84752fab Normalize symbol view symbol name. 2022-08-15 21:51:11 +02:00
Bartosz Taudul f4524a8453 Show more elements in one-line callstacks. 2022-08-15 21:36:29 +02:00
Bartosz Taudul 697d1f0cad Fully shorten frame names in one-line callstack calls. 2022-08-15 21:33:25 +02:00
Bartosz Taudul baf365c0c3 Normalize frame names in memory callstack tree. 2022-08-15 21:29:21 +02:00
Bartosz Taudul 9c4f257596 Normalize frame names in wait stacks tree. 2022-08-15 21:27:05 +02:00
Bartosz Taudul 4d974da290 Add shorten name accessor. 2022-08-15 21:21:50 +02:00
Bartosz Taudul 257a836dc7 Adjust zone name shortening option names.
"Always full" was kinda ambiguous. It could either mean that the name will be
always full (shortening effectively disabled), or that the shortening will be
performed to the maximum extent (as it was).
2022-08-15 20:47:59 +02:00