Commit Graph

521 Commits

Author SHA1 Message Date
Bartosz Taudul
08101061fe Update manual. 2020-05-23 16:10:13 +02:00
Bartosz Taudul
8c1e53f65a Update manual. 2020-05-16 14:56:11 +02:00
Bartosz Taudul
ef4c690c32 Update manual. 2020-05-13 18:06:39 +02:00
Bartosz Taudul
2195e032a6 Update manual. 2020-05-11 22:11:55 +02:00
Bartosz Taudul
a30a0b852f Update manual. 2020-05-11 19:34:25 +02:00
Bartosz Taudul
94d0232ed3 Update manual. 2020-05-10 17:08:30 +02:00
Bartosz Taudul
281f13f4c3 Update manual. 2020-05-09 13:57:06 +02:00
Bartosz Taudul
b9a4446fc1 Update manual. 2020-05-09 13:38:58 +02:00
Rokas Kupstys
6727cc2da4 Add empty TRACY_API instead of using dllexport for static builds on windows. Using dllexport is not correct, because it marks APIs in static lib for export and these APIs would get exported from a DLL that links to tracy.
Make API use TRACY_EXPORTS, and replace TRACYPROFILER_EXPORTS with TRACY_EXPORTS in vcxproj projects.

Swap dllimport with dllexport. Reason for this is a common idiom in CMake: target_compile_definitions(tracy PUBLIC -DTRACY_IMPORTS PRIVATE -DTRACY_EXPORTS). This idiom adds both defines in tracy target, but targets that link to tracy only get TRACY_IMPORTS. Swapped statements ensure that tracy always dllexports it's api and consuming targets always dllimport it.
2020-05-05 13:23:46 +03:00
Bartosz Taudul
1d74c400ac Update manual. 2020-05-03 21:29:18 +02:00
Bartosz Taudul
5ad1023088 Update manual. 2020-05-03 16:01:35 +02:00
Bartosz Taudul
47ed3d01af Update manual. 2020-05-02 02:34:15 +02:00
Bartosz Taudul
a40ba8f4e9 Switch query queue icon to satellite dish. 2020-04-30 18:41:08 +02:00
Bartosz Taudul
4634c5cdd3 Update manual. 2020-04-27 19:21:32 +02:00
Bartosz Taudul
6266d482ae Be explicit about displaying machine code. 2020-04-26 14:51:58 +02:00
Bartosz Taudul
0ff87d8f40 Slight rewording, local paths. 2020-04-22 01:23:03 +02:00
David Farrell
d5cd9d0221 Updated manual's vcpkg instructions 2020-04-21 16:04:33 -07:00
David Farrell
09e8ba1208 Updated manual with instructions for install_vcpkg_dependencies.bat 2020-04-21 10:59:37 -07:00
Bartosz Taudul
94276c51ac Update manual. 2020-04-19 16:11:31 +02:00
Bartosz Taudul
0186586fd9 Update manual. 2020-04-18 14:49:14 +02:00
Bartosz Taudul
5db956f546 Update manual. 2020-04-13 21:44:45 +02:00
Bartosz Taudul
0508586108 Update manual. 2020-04-13 17:52:43 +02:00
Bartosz Taudul
c43f5e14f2 Update manual. 2020-04-13 15:09:34 +02:00
Bartosz Taudul
3ef76df0d1 Update manual. 2020-04-11 20:30:24 +02:00
Bartosz Taudul
f9cf6df3ad Core package is implicit in vcpkg. 2020-04-11 01:25:16 +02:00
Bartosz Taudul
f8231bb109 Change main repository to github. 2020-04-10 17:48:59 +02:00
Bartosz Taudul
5f4145ef0a Update manual. 2020-04-08 19:33:55 +02:00
Bartosz Taudul
dc236a27cc Warn about retrieving context address. 2020-04-08 18:00:31 +02:00
Bartosz Taudul
fe98921e4c Add UI for disabling inlines in sample statistics. 2020-04-08 15:52:53 +02:00
Bartosz Taudul
2e418f24fa Update manual. 2020-04-07 22:17:24 +02:00
Bartosz Taudul
fc11537e12 Update manual. 2020-04-07 02:12:46 +02:00
Bartosz Taudul
54870e128c Add cautionary information to the manual. 2020-04-06 11:17:24 +02:00
Bartosz Taudul
7fca642c3d Compress full-quality DXT1 on AVX2 path. 2020-04-05 17:10:43 +02:00
Bartosz Taudul
b7f32c2a4c Update DXT1 benchmark with Ryzen timings.
Measured at the most commonly reached frequency. Data for peak at max
achieved frequency:
Reference: 173.2 us
SSE: 22.2 us
AVX2: 13.4 us
2020-04-05 17:10:43 +02:00
Bartosz Taudul
29dfb151cb Add Ryzen execution times example. 2020-04-05 16:34:50 +02:00
Bartosz Taudul
b91c88cdf6 Remove misleading example. 2020-04-05 16:02:22 +02:00
Bartosz Taudul
eba427cc5b Update manual. 2020-04-04 14:50:34 +02:00
Bartosz Taudul
27c125f23b Update manual. 2020-04-03 02:00:20 +02:00
Bartosz Taudul
5dd70c4306 Update manual. 2020-04-02 01:54:59 +02:00
Bartosz Taudul
b7e56d3030 Update manual. 2020-03-31 01:10:39 +02:00
Bartosz Taudul
02cf838ceb Update manual. 2020-03-29 14:12:59 +02:00
Bartosz Taudul
c23f4b2390 Update manual. 2020-03-28 14:42:47 +01:00
Bartosz Taudul
9837e06816 Implement cross-symbol jumping. 2020-03-28 14:27:29 +01:00
Bartosz Taudul
078109eca2 Update manual. 2020-03-28 01:36:51 +01:00
Bartosz Taudul
4b78559228 Update manual. 2020-03-27 18:02:05 +01:00
Bartosz Taudul
27be025805 Update manual. 2020-03-27 02:07:54 +01:00
Bartosz Taudul
2a54f2df5d Reverse the fileselector compile option. 2020-03-26 23:11:26 +01:00
Bartosz Taudul
d495431f24 Reverse the root window compile option. 2020-03-26 23:08:29 +01:00
Bartosz Taudul
58bb5d40c5 Remove support for non-extended font builds. 2020-03-26 23:04:44 +01:00
Bartosz Taudul
5ec1bd0f5e Update manual. 2020-03-26 22:49:46 +01:00
Bartosz Taudul
ef96ecd9b8 Use shorter descriptions. 2020-03-26 22:09:56 +01:00
Bartosz Taudul
6d5bccdd51 Update manual. 2020-03-26 00:18:38 +01:00
Bartosz Taudul
5a3dedea97 Update manual. 2020-03-25 20:59:59 +01:00
Bartosz Taudul
954c43912d Update manual. 2020-03-25 02:18:17 +01:00
Bartosz Taudul
1c23d7e67a Update manual. 2020-03-23 02:31:06 +01:00
Bartosz Taudul
9672dba765 Replace source file viewer with one that actually works.
This is much simpler, custom implementation of a text file viewer. It is
able to perform these two tasks as intended:
- center source view on the selected line,
- highlight that line.
2020-03-22 20:53:59 +01:00
Bartosz Taudul
57e14c9e5c Update NEWS. 2020-03-22 18:57:43 +01:00
Bartosz Taudul
59e859e59a Remove benaphore, use std::mutex on cygwin. 2020-03-19 02:06:54 +01:00
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