Bartosz Taudul
fd7ad586af
Make display of zone time in frames toggleable.
...
And disable it by default, as it can be heavy on resources.
2019-11-10 23:27:37 +01:00
Bartosz Taudul
fa53c2e683
Don't care about memory usage tracking data races.
2019-11-10 19:21:24 +01:00
Bartosz Taudul
9504d6c68f
Don't try to delete empty Vectors.
2019-11-10 17:54:50 +01:00
Bartosz Taudul
f2801491bf
Don't copy back pointer.
2019-11-10 17:48:54 +01:00
Bartosz Taudul
44f1d3dc1c
Use proper memory ordering.
2019-11-10 17:30:38 +01:00
Bartosz Taudul
d4a1168491
Messages are inserted for current thread context.
2019-11-10 17:23:04 +01:00
Bartosz Taudul
003bed573c
Use ThreadData cache in zone validation.
2019-11-10 17:20:55 +01:00
Bartosz Taudul
b1c88cd1f2
Cache ThreadData pointer for current thread context.
2019-11-10 17:17:07 +01:00
Bartosz Taudul
ded49edf4c
Fix magic vectors in single-threaded Vulkan tooltip.
2019-11-10 16:50:19 +01:00
Bartosz Taudul
672093cf0e
Adapt WriteTimeline() to magic vectors.
2019-11-10 16:34:38 +01:00
Bartosz Taudul
4eb8acc973
Magic vectors in automatic GPU drift detection.
2019-11-10 02:27:46 +01:00
Bartosz Taudul
1b6c79fa7b
More magic vector fixes.
2019-11-10 02:10:21 +01:00
Bartosz Taudul
226a7b7cfb
Magic vectors in GPU children list.
2019-11-10 02:03:31 +01:00
Bartosz Taudul
c65d524725
Magic vectors in GPU zone info window.
2019-11-10 01:59:20 +01:00
Bartosz Taudul
d32e3cb867
Adapt GPU zone utility functions to magic vectors.
2019-11-10 01:56:28 +01:00
Bartosz Taudul
9b52152e77
Adapt GetZoneEnd() for magic vectors.
2019-11-10 01:43:28 +01:00
Bartosz Taudul
7c277234e7
Load GPU zones into magic vectors.
2019-11-10 01:36:13 +01:00
Bartosz Taudul
4ed4e1005c
Magic vectors in GPU drawing setup.
2019-11-10 01:35:57 +01:00
Bartosz Taudul
675e6a8d1a
Support magic vectors for GPU zones.
2019-11-10 01:30:10 +01:00
Bartosz Taudul
06ad948abc
Adapt zone children to magic vectors.
2019-11-10 01:23:44 +01:00
Bartosz Taudul
50efa8f672
Adapt time distribution calculation to magic vectors.
2019-11-10 01:08:15 +01:00
Bartosz Taudul
0c1f3ac16d
Adapt zone getters to magic vectors.
2019-11-10 00:57:44 +01:00
Bartosz Taudul
f8edd3a37b
Zone statistics reconstructions has to use magic vectors.
2019-11-10 00:00:40 +01:00
Bartosz Taudul
065ba4ce5a
Load zones into magic vectors.
2019-11-10 00:00:40 +01:00
Bartosz Taudul
8ab2cf09b7
Handle magic vectors during dispatch.
2019-11-10 00:00:40 +01:00
Bartosz Taudul
60c2b53d47
Add magic field to Vector.
2019-11-10 00:00:40 +01:00
Bartosz Taudul
7be19193d9
Use adapters during zone level iteration.
2019-11-10 00:00:40 +01:00
Bartosz Taudul
85e7125fee
Add Vector iterator adapters.
2019-11-10 00:00:40 +01:00
Bartosz Taudul
40e9c8807d
Remove unused lambda capture.
2019-11-10 00:00:15 +01:00
Bartosz Taudul
3a317c81c6
Fix logic error.
2019-11-09 23:57:08 +01:00
Bartosz Taudul
b3698ebb0f
Merge read calls.
2019-11-09 00:48:20 +01:00
Bartosz Taudul
3e65532eaa
Add Read3(), Read4() helpers.
2019-11-09 00:27:49 +01:00
Bartosz Taudul
2131eed4e7
Support multiple types in Read2().
2019-11-09 00:25:12 +01:00
Bartosz Taudul
e80a19234e
Don't store and read compressed thread.
2019-11-09 00:23:09 +01:00
Bartosz Taudul
467d675262
Zone reads can be merged.
2019-11-09 00:08:26 +01:00
Bartosz Taudul
23c59a6fc9
Use query cache.
2019-11-08 23:59:20 +01:00
Bartosz Taudul
ec895372b7
Thread is not needed in ReadTimeline().
2019-11-08 23:56:11 +01:00
Bartosz Taudul
6ec734c264
Split ReadTimelineUpdateStatistics().
2019-11-08 23:53:43 +01:00
Bartosz Taudul
c20da5ea70
Move unimportant fields to back of FileRead class.
2019-11-08 23:31:17 +01:00
Bartosz Taudul
31e2bc1141
Free Vector's memory during move assignment.
2019-11-08 22:52:23 +01:00
Bartosz Taudul
a1488a74a1
Perform Vector's swap() as a bitwise move.
2019-11-08 22:50:22 +01:00
Bartosz Taudul
b6213cfbc5
Define Vector's max capacity in one place.
2019-11-08 22:48:44 +01:00
Bartosz Taudul
5df7444cbb
Replace djb hash with xxh3.
2019-11-07 23:52:52 +01:00
Bartosz Taudul
17ee1aed5f
Add xxhash.
...
https://github.com/Cyan4973/xxHash/tree/master
e2f4695899e831171ecd2e780078474712ea61d3
2019-11-07 23:52:12 +01:00
Bartosz Taudul
4a9138fc51
Reduce FrameEvent size by 4 bytes.
...
While it would be nice to store frame times on 48 bytes, it is not
currently possible, as older traces have full 64 bit frame time stamps,
which are only then offset to first frame start time.
2019-11-07 23:05:13 +01:00
Bartosz Taudul
675cbc51cc
Store memory free indices as 32 bit.
...
More than 4 billion memory events seems unlikely.
Memory savings in "mem" trace: 5747 MB -> 5427 MB.
2019-11-07 22:36:51 +01:00
Bartosz Taudul
bb2d44ae08
All time deltas must be processed.
2019-11-07 16:14:23 +01:00
Bartosz Taudul
ea2c329510
Input data *must not* be changed.
...
Not even for a short moment.
2019-11-07 01:29:11 +01:00
Bartosz Taudul
4a4fe82a1b
No need to inject string terminator.
...
Comparison in m_data.stringMap already takes string size into account,
as an charutil::StringKey optimization.
2019-11-07 01:28:29 +01:00
Bartosz Taudul
dfad9695d2
Compress frame image data right as it arrives.
...
This removes the need to store temporary uncompressed image buffers,
which involves constant memory allocation and freeing. Instead, just one
permanent buffer is used, and only because the input data cannot change
during processing.
2019-11-06 23:29:59 +01:00