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

3797 Commits

Author SHA1 Message Date
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 4b0654afe5 Update manual. 2019-11-07 23:59:12 +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 77a449a8f0 Update manual. 2019-11-07 22:37:11 +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 655864eb7c Enable crash handler on cygwin.
Crash is properly recorded, but the profiler hangs while waiting for
shutdown finish.
2019-11-07 19:20:13 +01:00
Bartosz Taudul 3fd74a92f9 Native threads are used on mingw. 2019-11-07 19:02:54 +01:00
Bartosz Taudul 0f6101b19a Fix mingw/cygwin thread name setter/getter. 2019-11-07 18:58:08 +01:00
Bartosz Taudul bb2d44ae08 All time deltas must be processed. 2019-11-07 16:14:23 +01:00
Bartosz Taudul 351e220d30 Don't calculate queue delay if delayed init is used.
Queue calibration requires queue access during profiler construction. This
in turn requires construction of profiler data block, *which at this point
is underway*, because the profiler is being constructed.
2019-06-19 17:29:04 +02:00
Bartosz Taudul c98f1f0b6b Make sure profiler is initialized only once in delayed init scenario. 2019-06-19 17:28:18 +02:00
Bartosz Taudul 9702461b09 Display elapsed time in capture utility. 2019-11-07 01:51:45 +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
Bartosz Taudul 46d33f45bf Frame image packer doesn't care about width and height. 2019-11-06 22:53:01 +01:00
Bartosz Taudul 10a3516099 Delete uncompressed frame image data. 2019-11-06 22:38:19 +01:00
Bartosz Taudul d741fb0af9 Plot can be empty if it was only configured. 2019-11-06 12:08:20 +01:00
Bartosz Taudul d4f58ddaf3 Use native windows threads on cygwin, mingw. 2019-11-06 01:42:14 +01:00
Bartosz Taudul df0e28a61f Remove more unneeded includes. 2019-11-06 01:37:58 +01:00