Commit Graph

769 Commits

Author SHA1 Message Date
Dmytro Bulatov
defb91abc1 Added Custom GPU Context Type 2024-10-03 01:55:29 +09:00
Bartosz Taudul
9f4d7fa5ad Draw kernel functions red in flame graph. 2024-09-29 00:31:01 +02:00
Bartosz Taudul
346d8a45c6 Cache flame graph. 2024-09-29 00:26:00 +02:00
Bartosz Taudul
02d60a3dde Frames already have the correct symbol address. 2024-09-28 23:58:40 +02:00
Bartosz Taudul
d0b6869e9e Sym must be valid. 2024-09-28 23:35:39 +02:00
Bartosz Taudul
20c4822c98 Parallelize building flame graph. 2024-09-28 17:34:16 +02:00
Bartosz Taudul
da1e92956f Enable running time calculation for instrumented zones in flame graph. 2024-09-28 16:29:21 +02:00
Bartosz Taudul
21721dd814 Add zone running time UI to flame graph window. 2024-09-28 16:17:42 +02:00
Bartosz Taudul
98a064efa9 Allow inspection of symbol from flame graph. 2024-09-28 15:30:50 +02:00
Bartosz Taudul
5caeffa19a Proper way to detect mouse click. 2024-09-28 15:30:41 +02:00
Bartosz Taudul
e8a9d228c5 Darken inline items in flame graph. 2024-09-28 15:10:04 +02:00
Bartosz Taudul
2ac51fb597 Yet another color darkening function. 2024-09-28 15:10:04 +02:00
Bartosz Taudul
7465b4ffaf Add tooltip for sampled items in flame graph. 2024-09-28 15:10:04 +02:00
Bartosz Taudul
8819ea745d Another stray DPI setting in emscripten. 2024-09-28 14:04:17 +02:00
Bartosz Taudul
2435a76caa Don't set dpiScale if not doing anything with it. 2024-09-28 14:01:18 +02:00
Bartosz Taudul
9f682c6015 Do not perform DPI setup when DPI might be not yet known.
Reloading fonts is a fairly lenghty operation (~30-50 ms), so avoid doing
it twice in a row.
2024-09-28 13:55:24 +02:00
Bartosz Taudul
44ae59f363 Enforce DPI scale setup on first render frame.
Not all backends know their DPI before window is available.
2024-09-28 13:54:39 +02:00
Bartosz Taudul
04b921e200 Cosmetics. 2024-09-28 13:54:10 +02:00
Bartosz Taudul
290e546f47 Build everything with profiling flags. 2024-09-28 13:38:21 +02:00
Bartosz Taudul
0e6ba23800 Fix columns size in source view files list. 2024-09-28 02:27:45 +02:00
Bartosz Taudul
429de331d6 Show message in find zone window when no zones were collected. 2024-09-28 02:05:30 +02:00
Bartosz Taudul
796f09ef23 Better "no memory data" view in memory window. 2024-09-28 02:00:56 +02:00
Bartosz Taudul
219da446f4 Improve "no messages" view. 2024-09-28 01:56:40 +02:00
Bartosz Taudul
7cb82b9894 Better "load second trace" view in compare window. 2024-09-28 01:53:37 +02:00
Bartosz Taudul
293c76625c Add centered button function. 2024-09-28 01:53:26 +02:00
Bartosz Taudul
05d00388ed Better "please wait" view in compare window. 2024-09-28 01:45:08 +02:00
Bartosz Taudul
39ee307409 Improve "please wait" view in find zone window. 2024-09-28 01:42:33 +02:00
Bartosz Taudul
d734aaa357 Improve "no data" screens in statistics window. 2024-09-28 01:39:49 +02:00
Bartosz Taudul
a34b058701 Improve alignment of background tasks circle animation. 2024-09-28 01:30:18 +02:00
Bartosz Taudul
52e0cf38b7 Display message when there's no data for flame graph. 2024-09-28 01:24:59 +02:00
Bartosz Taudul
dfcc5ae37e Draw time measure in flame graph. 2024-09-28 01:14:46 +02:00
Bartosz Taudul
8740ea710a Symbol might be unavailable. 2024-09-28 01:09:49 +02:00
Bartosz Taudul
616e7c2eec Retrieve ImGui with CPM.
ImGui OpenGL loader is patched, and not regenerated, because the gl3w
script requires network connectivity to download the header files from
Khronos at build time.
2024-09-27 15:55:22 +02:00
Bartosz Taudul
0e47224578 Universally use add_compile_options(). 2024-09-27 14:10:30 +02:00
Bartosz Taudul
bc60621d61 Use svg favicon. 2024-09-26 16:21:16 +02:00
Bartosz Taudul
1c1faeff2d Replace parallel STL with PPQSort.
PPQSort is supposedly quite fast: https://github.com/GabTux/PPQSort

More importantly, it does not depend on TBB fuckery, so there's no longer
a need to link with an external library that people may or may not have.

The NO_PARALLEL_STL option is out, as it was provided solely to deal with
TBB being not available. Sequential sorting is still used on emscripten.
2024-09-26 14:41:59 +02:00
Bartosz Taudul
d400183483 Replace stray std::sort() with pdqsort_branchless(). 2024-09-26 14:36:56 +02:00
Bartosz Taudul
684c34dc21 Handle focus in/out on emscripten to fix mouse button stickiness. 2024-09-25 00:36:55 +02:00
Bartosz Taudul
315864e434 Mark self function in inlines list if top inline is enabled. 2024-09-24 19:47:41 +02:00
Bartosz Taudul
b676406878 Assert on parent name being null. 2024-09-24 19:44:36 +02:00
Bartosz Taudul
aca0f3cad7 Workaround failing assert.
The aggregate inlines code branch can fail when the top inlines option
is enabled, on an assert. This was present in the code before, it's just
that enabling top inlines is equivalent to expanding all the collapsed
symbols, which is not something practical to do.

Workaround by adding a condition instead of the assert. Finding a repro
case would be better to figure out what's exactly happening there, but
we are where we are.
2024-09-24 19:42:35 +02:00
Bartosz Taudul
2d6bcff3a6 Add option to display top cost inlines in symbol statistics list. 2024-09-24 19:42:35 +02:00
Bartosz Taudul
ae2a7c60b8 Calculate inline symbols list earlier. 2024-09-24 19:42:34 +02:00
Bartosz Taudul
9b9a883d07 Fix crash introduced in 605cdcb5. 2024-09-24 17:15:43 +02:00
Bartosz Taudul
86270dac6d Set unique ID for frame list invisible buttons. 2024-09-22 13:00:30 +02:00
Bartosz Taudul
8b9da2efba Add support for setting mouse cursor on emscripten. 2024-09-20 23:30:21 +02:00
Bartosz Taudul
c3cf13fc64 Allow passing custom git revision to CMake. 2024-09-20 22:08:03 +02:00
Bartosz Taudul
39497ab77b Disable scroll-by-page. 2024-09-20 19:50:30 +02:00
Bartosz Taudul
fc303d9594 Don't sort flame graph by default. 2024-09-20 01:29:47 +02:00
Bartosz Taudul
e793f927fc Add feels-good scaling factor to wheel scroll values. 2024-09-19 21:02:58 +02:00