Commit Graph

413 Commits

Author SHA1 Message Date
Bartosz Taudul
fe32385a12 Update manual. 2020-03-19 02:06:54 +01:00
Bartosz Taudul
8e1333468d Add missing images. 2020-03-14 21:13:08 +01:00
Bartosz Taudul
e785a57c65 Add high-quality frame image capture description. 2020-03-14 21:10:33 +01:00
Bartosz Taudul
42ccf332b9 Update manual. 2020-03-14 02:13:03 +01:00
Bartosz Taudul
5046664b8b Use "self time" consistently in the UI. 2020-03-14 01:38:46 +01:00
Bartosz Taudul
52132b9a29 Update manual. 2020-03-08 16:20:08 +01:00
Bartosz Taudul
2671245d41 Update manual. 2020-03-08 15:29:45 +01:00
Bartosz Taudul
6c95ab4d1e Update manual. 2020-03-08 14:05:57 +01:00
Bartosz Taudul
8f9ba5d54a Rearrange UI. 2020-03-01 01:32:31 +01:00
Bartosz Taudul
452d571e79 Update manual. 2020-02-29 19:19:12 +01:00
Bartosz Taudul
aed91a4d09 Update manual. 2020-02-29 14:55:14 +01:00
Bartosz Taudul
7e4088ed61 Update manual. 2020-02-29 00:58:59 +01:00
Bartosz Taudul
71a11554cb Update manual. 2020-02-27 23:11:52 +01:00
Bartosz Taudul
a35795f793 Use more appropriate name. 2020-02-26 23:02:34 +01:00
Bartosz Taudul
d04e8ab1d0 Update manual. 2020-02-26 22:48:18 +01:00
Bartosz Taudul
4f052a6b9c Update manual. 2020-02-26 19:16:27 +01:00
Bartosz Taudul
74aa3f861e Update manual. 2020-02-26 01:29:14 +01:00
Bartosz Taudul
d60641cac4 Update manual. 2020-02-24 01:43:15 +01:00
Bartosz Taudul
462cfe2fc1 Update manual. 2020-02-23 16:10:24 +01:00
Bartosz Taudul
a650717c1d Update manual. 2020-02-22 23:17:40 +01:00
Bartosz Taudul
100afe304e Fix typo. 2020-02-20 23:11:13 +01:00
Bartosz Taudul
3bd5da9896 Update manual. 2020-02-19 23:51:01 +01:00
Bartosz Taudul
9b1fe23b03 Update manual. 2020-02-15 13:50:05 +01:00
Bartosz Taudul
e524f4a050 Update manual. 2020-02-08 19:24:16 +01:00
Bartosz Taudul
aaa163a140 Update manual. 2020-02-08 13:45:02 +01:00
Bartosz Taudul
8b0da6f508 Update manual. 2020-02-02 15:47:17 +01:00
Bartosz Taudul
212b497f1f Update manual. 2020-01-28 21:52:54 +01:00
Bartosz Taudul
3ffbb56fa0 Update manual. 2020-01-25 17:16:08 +01:00
Bartosz Taudul
ae5c446652 Update manual. 2020-01-25 16:36:58 +01:00
Bartosz Taudul
cf07e2564d Update manual. 2020-01-23 22:09:18 +01:00
Bartosz Taudul
f3d2ca29dd Update manual. 2019-12-30 12:57:44 +01:00
Bartosz Taudul
086c9ce4c8 Update manual. 2019-12-28 17:43:20 +01:00
Bartosz Taudul
02e3f45ed2 Update manual. 2019-12-18 13:39:12 +01:00
Bartosz Taudul
30dbf48fda Update manual. 2019-12-16 21:55:14 +01:00
Bartosz Taudul
c5ce93136f Update manual. 2019-12-16 19:24:02 +01:00
Bartosz Taudul
bb69b5fae2 Update manual. 2019-12-08 16:17:34 +01:00
Bartosz Taudul
9236f0eb8c Update manual. 2019-12-06 01:04:12 +01:00
Bartosz Taudul
208d155b96 Update manual. 2019-11-30 01:25:43 +01:00
Bartosz Taudul
28a9800eb7 Update manual. 2019-11-26 00:57:25 +01:00
Bartosz Taudul
d1fb639b78 BSD needs libexecinfo for callstack capture. 2019-11-21 02:37:11 +01:00
Bartosz Taudul
8fd019b474 Update manual. 2019-11-15 01:37:19 +01:00
Bartosz Taudul
ce997cf6b0 Update manual. 2019-11-11 22:11:26 +01:00
Bartosz Taudul
85ae52b725 Update manual. 2019-11-10 23:30:49 +01:00
Bartosz Taudul
4b0654afe5 Update manual. 2019-11-07 23:59:12 +01:00
Bartosz Taudul
77a449a8f0 Update manual. 2019-11-07 22:37:11 +01:00
Bartosz Taudul
25c39a3311 Update manual. 2019-11-05 18:16:58 +01:00
Bartosz Taudul
1b33bfd522 Update manual. 2019-11-03 16:29:45 +01:00
Bartosz Taudul
a9738deae7 Update manual. 2019-11-01 20:49:02 +01:00
Bartosz Taudul
5ff40b05b3 Update manual. 2019-11-01 20:29:02 +01:00
Bartosz Taudul
2d46b50dd0 Update manual. 2019-11-01 02:13:02 +01:00
Bartosz Taudul
6a6009dbdf Update manual. 2019-10-31 15:00:35 +01:00
Bartosz Taudul
94da3b8467 Update manual. 2019-10-29 23:11:08 +01:00
Bartosz Taudul
706e031046 Update manual. 2019-10-28 23:43:44 +01:00
Bartosz Taudul
fb71800557 Update manual. 2019-10-28 22:15:12 +01:00
Bartosz Taudul
312b7190f8 Mention that only release builds should be profiled. 2019-10-26 16:59:54 +02:00
Bartosz Taudul
f024a05a01 Document another funny optimization. 2019-10-26 16:49:52 +02:00
Bartosz Taudul
dfe99c2604 Update capture utility in the manual. 2019-10-26 16:33:40 +02:00
Bartosz Taudul
dda192985a General updates to the manual. 2019-10-26 16:05:43 +02:00
Bartosz Taudul
492b7f9134 Update connection speed in the manual. 2019-10-26 14:37:45 +02:00
Bartosz Taudul
6aab54cfc4 Improve frame time graph in the manual. 2019-10-26 14:10:47 +02:00
Bartosz Taudul
f7155d7a77 Update context switches in the manual. 2019-10-26 14:00:32 +02:00
Bartosz Taudul
cccabe9b64 Update connection popup in the manual. 2019-10-26 13:54:57 +02:00
Bartosz Taudul
699ff43f1e Update timings. 2019-10-20 22:18:20 +02:00
Bartosz Taudul
411e4d42ac Move disassembly from FAQ to manual. 2019-10-20 21:23:16 +02:00
Bartosz Taudul
c774534b47 Use rdtsc instead of rdtscp.
But rdtscp is serializing!

No, it's not. Quoting the Intel Instruction Set Reference:

"The RDTSCP instruction is not a serializing instruction, but it does
wait until all previous instructions have executed and all previous
loads are globally visible. But it does not wait for previous stores to
be globally visible, and subsequent instructions may begin execution
before the read operation is performed.",

"The RDTSC instruction is not a serializing instruction. It does not
necessarily wait until all previous instructions have been executed
before reading the counter. Similarly, subsequent instructions may begin
execution before the read operation is performed."

So, the difference is in waiting for prior instructions to finish
executing. Notice that even in the rdtscp case, execution of the
following instructions may commence before time measurement is finished
and data stores may be still pending.

But, you may say, Intel in its "How to Benchmark Code Execution Times"
document shows that using rdtscp is superior to rdstc. Well, not
exactly. What they do show is that when a *single function* is
considered, there are ways to measure its execution time with little to
no error.

This is not what Tracy is doing.

In our case there is no way to determine absolute "this is before" and
"this is after" points of a zone, as we probably already are inside
another zone.  Stopping the CPU execution, so that a deeply nested zone
may be measured with great precision, will skew the measurements of all
parent zones.

And this is not what we want to measure, anyway. We are not interested
in how a *single function* behaves, but how a *whole program* behaves.
The out-of-order CPU behavior may influence the measurements? Good! We
are interested in that. We want to see *how* the code is really
executed. How is *stopping* the CPU to make a timer read an appropriate
thing to do, when we want to see how a program is performing?

At least that's the theory.

And besides all that, the profiling overhead is now reduced.
2019-10-20 20:52:33 +02:00
Bartosz Taudul
14292f9e35 Update manual. 2019-10-15 21:57:49 +02:00
Bartosz Taudul
dffe65f8e2 Update manual. 2019-10-14 20:52:18 +02:00
Bartosz Taudul
1ad246b4ca Update manual. 2019-10-14 20:17:28 +02:00
Bartosz Taudul
98ab83c69b Update manual. 2019-10-13 17:00:07 +02:00
Bartosz Taudul
4ba885ac95 Update manual. 2019-10-04 21:47:30 +02:00
Bartosz Taudul
871e1f1c37 Describe workaround for exiting from within a zone. 2019-10-04 20:43:08 +02:00
Bartosz Taudul
4e7e9ee3b1 Update manual. 2019-10-04 18:53:06 +02:00
Bartosz Taudul
ffdb6d8a3b Update manual. 2019-09-30 23:43:07 +02:00
Bartosz Taudul
e758e98ca4 Update manual. 2019-09-29 21:16:44 +02:00
Bartosz Taudul
2356069eac Update manual. 2019-09-27 18:15:32 +02:00
Bartosz Taudul
891e7711e9 Update manual. 2019-09-24 00:20:41 +02:00
Bartosz Taudul
49abad2dec Update manual. 2019-09-23 17:30:00 +02:00
Bartosz Taudul
a5fecc350b Update manual. 2019-09-21 15:47:37 +02:00
Bartosz Taudul
fb63dd89bc Update manual. 2019-09-21 15:21:29 +02:00
Bartosz Taudul
dfb9ae1a90 Update manual. 2019-09-21 15:03:09 +02:00
Bartosz Taudul
6fbfd12d1f Update manual. 2019-09-16 22:02:47 +02:00
Bartosz Taudul
e0105451f6 Update manual. 2019-09-12 20:14:54 +02:00
Bartosz Taudul
c1731f864b Update manual. 2019-09-11 19:05:53 +02:00
Bartosz Taudul
9cd359f0b9 Update manual. 2019-09-08 14:38:40 +02:00
Bartosz Taudul
3a9ff94580 Update manual. 2019-09-08 13:38:19 +02:00
Bartosz Taudul
6ef282dd1a Notify user that the data might not be correct. 2019-09-07 18:20:26 +02:00
Bartosz Taudul
70ae2f763d Update manual. 2019-09-07 17:20:51 +02:00
Bartosz Taudul
0837463f05 Describe how wonderful linux interfaces are. 2019-09-03 21:45:19 +02:00
Bartosz Taudul
be36e7a19c Update manual. 2019-08-31 01:08:03 +02:00
Bartosz Taudul
fc0593a840 Update manual. 2019-08-28 21:38:51 +02:00
Bartosz Taudul
ee14ff6d6e Update manual. 2019-08-28 20:39:29 +02:00
Bartosz Taudul
5b0ccef373 Change some icons. 2019-08-28 20:17:38 +02:00
Bartosz Taudul
2d50d07438 Allow completely disabling system tracing. 2019-08-21 01:16:25 +02:00
Bartosz Taudul
5c8937eba2 Update manual. 2019-08-20 23:59:47 +02:00
Bartosz Taudul
580944af65 Update manual. 2019-08-17 17:11:12 +02:00
Bartosz Taudul
26e93b35c6 Update manual. 2019-08-16 20:31:16 +02:00
Bartosz Taudul
2e31c26ae5 Update manual. 2019-08-15 20:21:09 +02:00
Bartosz Taudul
3e06daef31 Update manual. 2019-08-15 20:17:36 +02:00
Bartosz Taudul
bccb845908 Update manual. 2019-08-14 22:19:11 +02:00
Bartosz Taudul
29819321b9 Update manual. 2019-08-14 21:45:34 +02:00
Bartosz Taudul
cf4e04440e Update manual. 2019-08-14 18:42:04 +02:00
Bartosz Taudul
e5c40b74ee Update manual. 2019-08-13 21:18:52 +02:00
Bartosz Taudul
8aa0be39d5 Drop support for CPU id queries. 2019-08-12 23:05:34 +02:00
Bartosz Taudul
0b944c88bb Add a note about condition variables. 2019-08-12 17:01:01 +02:00
Bartosz Taudul
760357d6ea Explain why there are two methods for filling serial queue. 2019-08-12 13:19:10 +02:00
Bartosz Taudul
6fca188603 Update tech docs. 2019-08-08 19:25:35 +02:00
Bartosz Taudul
177b79a528 Update manual. 2019-08-04 16:19:51 +02:00
Bartosz Taudul
8953a2652e Update manual. 2019-08-04 00:48:29 +02:00
Bartosz Taudul
51bdbdb71f Update manual. 2019-08-03 15:09:19 +02:00
Bartosz Taudul
b3a1f932c3 Update tech docs. 2019-08-02 20:46:20 +02:00
Bartosz Taudul
138743f880 Update manual. 2019-08-01 23:24:51 +02:00
Bartosz Taudul
28220a5fbf Update manual. 2019-07-30 01:15:14 +02:00
Bartosz Taudul
e289f2b8c0 Update tech docs. 2019-07-30 01:15:14 +02:00
Bartosz Taudul
89928fde7b Queue must be always able to alloc. 2019-07-29 22:13:16 +02:00
Bartosz Taudul
705a2fa3f4 Update manual. 2019-07-27 01:09:39 +02:00
Bartosz Taudul
b19d633d68 Update tech docs. 2019-07-24 23:15:45 +02:00
Bartosz Taudul
a7e0b1614a Update manual. 2019-07-24 23:14:53 +02:00
Bartosz Taudul
d908e148ec Update DXT1 AVX timings. 2019-07-22 20:01:16 +02:00
Bartosz Taudul
cdbaec38eb Update tech docs. 2019-07-20 16:46:54 +02:00
Bartosz Taudul
db80673b9e Update DXT1 AVX timings. 2019-07-20 14:54:52 +02:00
Bartosz Taudul
396c28011e Update DXT1 compression timings. 2019-07-19 22:16:33 +02:00
Bartosz Taudul
06296283b7 Fix texture completeness. 2019-07-19 00:53:34 +02:00
Bartosz Taudul
9ec6c1e12d Basic technical documentation. 2019-07-15 21:00:12 +02:00
Bartosz Taudul
b99315ffbe Add some notes on how to get the most accurate results. 2019-07-13 20:49:56 +02:00
Bartosz Taudul
74a40c230f MinGW is also supported. 2019-07-13 20:49:50 +02:00
Bartosz Taudul
0ce93f714b Cosmetics. 2019-07-13 20:49:36 +02:00
Bartosz Taudul
ff9637e884 Update DXT1 timings table.
Clang is able to get much better times on ARM (around 430 us for both
ARM32 and ARM64 NEON). The reference implementation is 1.13 ms on clang.
2019-07-13 20:24:58 +02:00
Bartosz Taudul
5633dc5a87 Add ARM64 NEON timings for DXT1 compression. 2019-07-13 15:32:07 +02:00
Bartosz Taudul
4c93952ffb Update manual. 2019-07-13 02:03:26 +02:00
Bartosz Taudul
5a4c7518ed Update manual. 2019-07-12 19:03:05 +02:00
Bartosz Taudul
cd018e88a4 Update manual. 2019-07-11 20:32:39 +02:00
Bartosz Taudul
05dd9a5e59 Update DXT1 timings. 2019-07-08 00:16:06 +02:00
Bartosz Taudul
a33205e3bd Update DXT1 timings. 2019-07-08 00:01:57 +02:00
Bartosz Taudul
bde9045af5 Update DXT1 timings.
SSE takes a hit due to unfavourable codegen.
2019-07-06 00:51:19 +02:00
Bartosz Taudul
e9676ea1d5 Update DXT1 timings. 2019-07-05 18:38:52 +02:00
Bartosz Taudul
d664b93ae0 Describe why there's no CPU usage graph in android traces. 2019-07-03 00:08:30 +02:00
Bartosz Taudul
080ec6e836 Expand manual wrt manual zone scope management. 2019-07-01 18:29:24 +02:00
Bartosz Taudul
3c45476012 Update timings again. 2019-06-30 12:16:22 +02:00
Bartosz Taudul
43042a2aa8 Update DXT1 timings table. 2019-06-30 03:39:37 +02:00
Bartosz Taudul
ddd89dcce5 Add DXT1 AVX2 timings. 2019-06-30 03:23:20 +02:00
Bartosz Taudul
a1e3d9765f Update DXT1 SSE timings. 2019-06-29 12:23:29 +02:00
Bartosz Taudul
370fead4b2 Update DXT1 timings table. 2019-06-29 02:10:35 +02:00
Bartosz Taudul
50ac219e97 Update NEON timings in DXT1 table. 2019-06-28 22:40:04 +02:00
Bartosz Taudul
4ee45259f2 Update SSE timings in DXT1 table. 2019-06-28 22:00:59 +02:00
Bartosz Taudul
3208d6c803 Add ARM NEON DXT1 compression timings to manual. 2019-06-28 14:26:00 +02:00
Bartosz Taudul
33486fa3cf Update ARM timings. 2019-06-27 22:47:26 +02:00
Bartosz Taudul
3c066f1527 Simplify code. 2019-06-27 22:40:03 +02:00
Bartosz Taudul
77c6acbc48 Update manual. 2019-06-27 22:30:05 +02:00
Bartosz Taudul
aa4ce30dff Update manual. 2019-06-27 13:32:57 +02:00
Bartosz Taudul
3bf23e15bb Update manual. 2019-06-26 21:07:12 +02:00