Commit Graph

4161 Commits

Author SHA1 Message Date
Bartosz Taudul
96800a2753 Do not merge small groups of plot points (up to three). 2023-04-24 23:28:29 +02:00
Bartosz Taudul
616992a6d5 Do not include DPI scaling when grouping plot points. 2023-04-24 23:28:29 +02:00
Bartosz Taudul
102bb9f8a8 Include before-start plot item, so that the plot doesn't begin abruptly. 2023-04-24 23:28:28 +02:00
Bartosz Taudul
8eb2cc83b3 Push plot draw list to DrawPlot(). 2023-04-24 23:28:28 +02:00
Bartosz Taudul
8f5022c3c8 Calculate draw lists for plots. 2023-04-24 23:28:28 +02:00
Bartosz Taudul
0217c06377 Cosmetics. 2023-04-24 23:28:28 +02:00
Bartosz Taudul
ac29cffd3a Fix assert condition. 2023-04-20 21:41:15 +02:00
Bartosz Taudul
7797557e8c Don't pass memname parameter to functions handling allocation changes. 2023-04-16 18:12:14 +02:00
Bartosz Taudul
38b7aab4ef Remove unused parameters from various payload handling functions. 2023-04-16 18:08:48 +02:00
Bartosz Taudul
3b00e55235 Rename IsThreadStringRetrieved -> IsFailureThreadStringRetrieved.
IsThreadStringRetrieved() interface suggested that it can be used for
checking any thread state, as it had an uint64_t id parameter.

The implementation ignored this parameter and checked the status of
failure thread only. This was never an issue because the code using
this function was only checking for the failure thread state.

Fixed by renaming the function to explicitly state what it does and
removing the thread id parameter.
2023-04-16 17:49:21 +02:00
Bartosz Taudul
b64bab197a No need for GetZoneName() with GpuEvent + srcloc parameters. 2023-04-16 17:46:15 +02:00
Bartosz Taudul
08e6248299 CalcZoneTimeDataImpl() doesn't need zone parameter. 2023-04-16 17:40:16 +02:00
Bartosz Taudul
8d565e46d6 HandleTimelineMouse() doesn't need pxns parameter. 2023-04-16 17:36:04 +02:00
Bartosz Taudul
dec4713854 ListMemData() doesn't use id parameter. 2023-04-16 17:30:53 +02:00
Bartosz Taudul
adb2f9a664 GetFrameTreeItemNoGroup() doesn't need worker paramater. 2023-04-16 17:23:19 +02:00
Bartosz Taudul
31b3fcd1fe View::InitTextEditor() doesn't need font parameter. 2023-04-16 17:21:03 +02:00
Bartosz Taudul
1c13c1ee8f ThreadCompress::Load() doesn't need fileVer. 2023-04-16 17:17:07 +02:00
Bartosz Taudul
f60e51c91b Fix std::move() usage. 2023-04-16 16:47:47 +02:00
Bartosz Taudul
a0221c8660 Pass function objects through const references. 2023-04-16 16:44:18 +02:00
Bartosz Taudul
5aaa4fcaf7 Use draw list data to draw locks. 2023-04-15 22:56:44 +02:00
Bartosz Taudul
788d9b77fc Use proper start time to determine if break combining locks.
Without this correction the code would combine all lock regions according
to the minimum visibility range rules, and assign the combined area the
highest lock state within all items. This could produce quote long combined
lock regions, where apparently lock contention happened.

Combined lock regions should instead be split to show exactly where the
lock contention is present. Combining is still performed here, but only
within the minimum visibility range.

This new behavior was also present previously, but was mistakenly omitted
during code refactor.
2023-04-15 22:56:44 +02:00
Bartosz Taudul
e68214a88a Change LockState to bitmask. 2023-04-15 22:56:44 +02:00
Bartosz Taudul
f7a8998663 Push locks draw lists to DrawThread(). 2023-04-15 22:56:44 +02:00
Bartosz Taudul
7f301dfec0 Precalculate draw lists for locks. 2023-04-15 22:56:44 +02:00
Bartosz Taudul
9b270c8e11 Another fix for determining if there's CPU usage data to draw. 2023-04-15 22:56:44 +02:00
Bartosz Taudul
f0acb73d09 Add accessor for active lock info window lock id. 2023-04-15 22:56:43 +02:00
Bartosz Taudul
d737b911e9 Make View::Vis() public. 2023-04-15 22:56:43 +02:00
Bartosz Taudul
6e815d13a0 Move common lock helper functions to a separate header. 2023-04-15 22:56:43 +02:00
Bartosz Taudul
4c0e6fe3ca Merge pull request #544 from simplyWiri/timeline-scrolling-tweak
Clamp scrolling to the difference between the deepest zone near the m…
2023-04-13 11:35:08 +02:00
Bartosz Taudul
f17b44c212 Take DPI scaling into account when drawing thread migration lines. 2023-04-07 22:37:23 +02:00
Bartosz Taudul
492e6611b9 No need to perform domain conversion.
Pixel values will be needed anyways later on. It doesn't make sense to
perform comparison in time domain here.
2023-04-07 22:37:23 +02:00
Bartosz Taudul
d0ffca56bf Fix logic determining if there's CPU core usage data to draw. 2023-04-07 22:37:22 +02:00
Bartosz Taudul
1b824797a9 Do not project running regions end time to last time.
Just display known running regions, keeping the unended ones infinitely
collapsed. This makes the CPU core usage graph possibly display wrong
data at the end of capture. Note that this behavior was also present in
previous releases.
2023-04-07 22:37:22 +02:00
Bartosz Taudul
1ff9e0012b Add a note why context switches only have coarse visibility check. 2023-04-05 19:39:39 +02:00
Bartosz Taudul
51f832c031 Don't recalculate sty. 2023-04-05 19:24:58 +02:00
Bartosz Taudul
f48415315a Build samples draw list only if visible. 2023-04-05 19:03:40 +02:00
Bartosz Taudul
a9ee4c499e Build messages draw list only if visible. 2023-04-05 18:55:23 +02:00
Bartosz Taudul
4b8ac41345 Calculate CPU data draw lists only if visible. 2023-04-05 18:45:00 +02:00
Bartosz Taudul
bb9219384f Do not recalculate sty. 2023-04-05 18:44:36 +02:00
Bartosz Taudul
f2a2669ca8 Decouple CPU graph availability from having the draw data. 2023-04-05 18:21:12 +02:00
Bartosz Taudul
9500add83b Push yPos to TimelineItem::Preprocess(). 2023-04-05 18:07:09 +02:00
Bartosz Taudul
2b7b79352b Parallelize calculation of per-CPU context switches. 2023-04-02 22:10:22 +02:00
simplyWiri
a8b42488ad Clamp scrolling to the difference between the deepest zone near the mouse, and the height of the window.
This prevents from unncessary scrolling when the trace does not exceed the size of the screen
2023-04-02 19:01:58 +10:00
Bartosz Taudul
33a640f848 Name worker threads. 2023-03-25 22:14:34 +01:00
Bartosz Taudul
5eebc5d7cf Preprocess CPU usage.
Things of note: Worker::GetCpuUsage() functionality was moved to
TimelineItemCpuData::PreprocessCpuUsage().
2023-03-25 17:55:15 +01:00
Bartosz Taudul
dcf27f4989 Provide small font height in TimelineContext. 2023-03-25 17:25:10 +01:00
Bartosz Taudul
c0136dbdcc Don't do unnecessary work if items are not visible. 2023-03-25 16:54:38 +01:00
Bartosz Taudul
13b31db561 Cosmetics. 2023-03-25 16:54:38 +01:00
Bartosz Taudul
e3ec455aba Decouple check for existence from building draw lists.
We need to know if samples, context switches and messages are present to be
able to correctly calculate thread height. However, if the thread is not
visible, it is not necessary to provide a list of items to draw.
2023-03-25 16:52:27 +01:00
Bartosz Taudul
96d60ce626 Change GetNextFrameHeight() to GetHeight().
The GetNextFrameHeight() name correctness was very situational. It was
often used in the meaning of "get current frame height".
2023-03-25 15:12:33 +01:00