Bartosz Taudul
2988dda68f
Fix for missing unended zones.
2017-10-28 22:20:39 +02:00
Bartosz Taudul
39ac41bc19
Store source location on 32 bits, not 64.
2017-10-28 22:14:01 +02:00
Bartosz Taudul
fb6c91b552
Simplify switch.
2017-10-28 22:11:24 +02:00
Bartosz Taudul
db16aecf64
Try to display only frame time, if no space for full text.
2017-10-28 21:55:01 +02:00
Bartosz Taudul
2a6ccf8ee9
Fix some warnings.
2017-10-28 21:50:06 +02:00
Bartosz Taudul
5ebbf83eb3
Time variables should be signed.
2017-10-28 21:36:47 +02:00
Bartosz Taudul
adeb9b74f9
Make while condition explicit.
2017-10-28 21:35:38 +02:00
Bartosz Taudul
6aea2a0348
Enforce minimum size for zones and locks.
2017-10-28 16:14:52 +02:00
Bartosz Taudul
b6244d1180
Reorder checks.
2017-10-28 15:48:05 +02:00
Bartosz Taudul
f89713b7c6
Proper tooltip for condensed lock events.
2017-10-28 15:33:34 +02:00
Bartosz Taudul
32fc88de7b
Disable rounding on proper rectangle.
2017-10-28 15:30:20 +02:00
Bartosz Taudul
6832a4ae57
Better lock merging.
2017-10-28 15:29:25 +02:00
Bartosz Taudul
958e472751
Better lock combining.
2017-10-28 15:24:25 +02:00
Bartosz Taudul
3e0b1f0ad5
Lock drawing optimization.
2017-10-28 15:15:07 +02:00
Bartosz Taudul
fcc76412fe
Move common variables out of loop.
2017-10-28 14:25:35 +02:00
Bartosz Taudul
591da109a8
Outer loop check is no longer needed.
2017-10-28 14:15:18 +02:00
Bartosz Taudul
25e9ae4b68
Simplify code.
2017-10-28 14:14:26 +02:00
Bartosz Taudul
d1789f1e3a
Stay in fast loop until there's something to draw.
2017-10-28 14:08:10 +02:00
Bartosz Taudul
257f9818ed
Fast iteration until state != Nothing.
2017-10-28 13:56:35 +02:00
Bartosz Taudul
433a80c2df
Move lock state progression to a separate function.
2017-10-28 13:44:46 +02:00
Bartosz Taudul
09c9502061
Condense code.
2017-10-28 13:19:32 +02:00
Bartosz Taudul
a2a314678b
Helper function for determining if other threads are waiting.
2017-10-28 12:48:05 +02:00
Bartosz Taudul
71504c4e53
Document lock state colors.
2017-10-28 12:40:25 +02:00
Bartosz Taudul
e5865cb23e
Optimize drawing messages.
2017-10-28 12:37:34 +02:00
Bartosz Taudul
3163563a27
Fix crash on unended lock highlight.
2017-10-26 02:06:30 +02:00
Bartosz Taudul
db48cd6c1f
Display threads that have acquired a lock.
2017-10-26 00:42:16 +02:00
Bartosz Taudul
f3bac060a6
Same thing for contended locks.
2017-10-25 23:45:53 +02:00
Bartosz Taudul
016048a761
Properly detect and show recursive lock release.
2017-10-25 23:39:56 +02:00
Bartosz Taudul
f013dfe706
Properly label recursive lock wait sections.
2017-10-25 23:37:10 +02:00
Bartosz Taudul
01b2e64985
Properly show recursive lock wait sections.
2017-10-25 23:36:08 +02:00
Bartosz Taudul
e16f784617
Proper handling of recursive mutices.
2017-10-25 23:30:51 +02:00
Bartosz Taudul
742e4e2893
Use proper type.
2017-10-25 22:56:02 +02:00
Bartosz Taudul
011253ac47
Display lock and wait counts.
2017-10-25 22:35:12 +02:00
Bartosz Taudul
339c177ee8
Sort lock map.
...
It is displayed in UI, so order is important.
2017-10-24 22:30:43 +02:00
Bartosz Taudul
8f814b2537
Optimize drawing zone frames.
2017-10-22 17:48:01 +02:00
Bartosz Taudul
73d23320ee
Move string helper functions out of tracy::View.
2017-10-22 17:47:40 +02:00
Bartosz Taudul
262dfa53e9
Display lock number on lock list in options.
2017-10-22 17:30:02 +02:00
Bartosz Taudul
1967ce871a
Fix getting parent of not ended zone.
2017-10-22 17:09:33 +02:00
Bartosz Taudul
cc8683a399
Store TextData pointer as an index in array.
...
This further reduces ZoneEvent size by 4 bytes.
2017-10-22 16:40:15 +02:00
Bartosz Taudul
2e6350877d
Remove parent pointer from ZoneEvent.
2017-10-22 16:15:27 +02:00
Bartosz Taudul
b72d4b05de
Remove dead code.
2017-10-22 15:40:56 +02:00
Bartosz Taudul
7345ca5aa6
Rename Event to ZoneEvent.
2017-10-22 15:37:24 +02:00
Bartosz Taudul
97b3cccb1a
64MB slab size.
2017-10-22 15:36:22 +02:00
Bartosz Taudul
eff6015aad
Fix combo list.
2017-10-22 15:27:07 +02:00
Bartosz Taudul
5b20f0008f
Optional namespace shortening.
2017-10-22 13:56:05 +02:00
Bartosz Taudul
caec31731f
Add ability to hide uncontended locks.
2017-10-22 13:32:27 +02:00
Bartosz Taudul
92a38a43d5
Add ability to hide individual locks.
2017-10-22 13:26:11 +02:00
Bartosz Taudul
ba5312f429
Ability to completely hide plots.
2017-10-22 13:17:34 +02:00
Bartosz Taudul
133db4c68e
Ability to completely hide threads.
2017-10-22 13:13:26 +02:00
Bartosz Taudul
bd8d423d16
Use small temporary buffer instead of growing one.
2017-10-21 14:27:38 +02:00
Bartosz Taudul
31dec96d0c
Don't calculate min-max range of a large point quantity.
2017-10-21 14:27:38 +02:00
Bartosz Taudul
5f7dad1889
Don't do unnecessary hover checks.
2017-10-21 14:27:38 +02:00
Bartosz Taudul
c28b3a420f
Delay insertion of postponed plot items.
...
This further reduces number of memmoves that need to be performed on a
vector, which results in net increased throughput.
2017-10-21 13:32:51 +02:00
Bartosz Taudul
75e3dd175a
One function for adding threads.
2017-10-21 13:14:20 +02:00
Bartosz Taudul
fa985940f7
Check thread name when adding messages.
2017-10-21 13:05:37 +02:00
Bartosz Taudul
807d3c42be
Use slab allocator for server allocations.
2017-10-21 13:01:57 +02:00
Bartosz Taudul
07cb693cbb
Separate slab init/noinit allocation functions.
2017-10-21 12:54:12 +02:00
Bartosz Taudul
ad338a7cfd
Fix message literals.
2017-10-21 12:39:26 +02:00
Bartosz Taudul
b7800be627
Perform bulk insertion of plot points.
2017-10-19 23:26:21 +02:00
Bartosz Taudul
cc1715ae98
Implement Vector::insert( it, begin, end ).
2017-10-19 23:26:02 +02:00
Bartosz Taudul
82476a310c
Implement Vector::clear().
2017-10-19 23:25:49 +02:00
Bartosz Taudul
cf94b1d2e8
Add missing locks.
2017-10-19 23:10:47 +02:00
Bartosz Taudul
476597f5ed
Adaptive display compression range.
2017-10-19 21:05:59 +02:00
Bartosz Taudul
44cc0827d4
Store pointers to PlotItems.
2017-10-19 21:04:11 +02:00
Bartosz Taudul
7329eb6e99
Display plot points count with separators.
2017-10-19 20:34:48 +02:00
Bartosz Taudul
026a27aa05
Implement front() in custom vector.
2017-10-19 20:34:07 +02:00
Bartosz Taudul
6e4343c043
Use custom vector to store plot items.
2017-10-19 20:14:31 +02:00
Bartosz Taudul
0519df4dfc
Reduce accuracy to decrease memory load.
2017-10-19 19:56:13 +02:00
Bartosz Taudul
5278bb29e6
Don't sort all values in a compressed range.
2017-10-19 19:43:27 +02:00
Bartosz Taudul
fd22fed773
Manually manage temporary plot buffer.
2017-10-19 19:09:40 +02:00
Bartosz Taudul
6e5ccf8391
Store values, not pointers to PlotItems.
2017-10-19 18:28:11 +02:00
Bartosz Taudul
8958780b18
Time must be signed.
2017-10-18 23:36:50 +02:00
Bartosz Taudul
c5eef172f1
Adapt "recording" circle size to font size.
2017-10-18 23:25:35 +02:00
Bartosz Taudul
4f3a64be9d
Optimize drawing plots.
2017-10-18 22:29:59 +02:00
Bartosz Taudul
58ef271356
Add separator to zone count.
2017-10-18 20:35:01 +02:00
Bartosz Taudul
ac71622c0c
Add separators to printed values.
2017-10-18 20:33:49 +02:00
Bartosz Taudul
cdde2ea2a3
Cut off trailing zeros when printing floating point values.
2017-10-18 20:18:33 +02:00
Bartosz Taudul
7c47edc64f
Terminate connection handshake.
2017-10-18 18:48:51 +02:00
Bartosz Taudul
6d48404934
4KB is too small for some messages. Use 64KB buffer.
...
OpenGL extensions list bites in the ass again.
2017-10-17 01:21:00 +02:00
Bartosz Taudul
c0e5dd0369
Visual differentiation of tracy init from other frames.
2017-10-17 01:17:55 +02:00
Bartosz Taudul
1e3476cf36
Transfer profiler initialization time.
2017-10-17 01:10:38 +02:00
Bartosz Taudul
acc1d9d834
Measurement of time period by LMB dragging.
2017-10-15 16:42:56 +02:00
Bartosz Taudul
84abfadc72
Horizontal zone view dragging with RMB.
2017-10-15 16:20:45 +02:00
Bartosz Taudul
5b9fcddfb3
String literal message transfer.
2017-10-15 13:06:49 +02:00
Bartosz Taudul
eb95d65622
Fix types in std::max.
2017-10-14 18:48:44 +02:00
Bartosz Taudul
ad95813ba0
Message highlighting.
2017-10-14 15:47:06 +02:00
Bartosz Taudul
bf8f369e33
Increase plot point active hover area.
2017-10-14 15:29:04 +02:00
Bartosz Taudul
503ef8bcbc
Save message data.
2017-10-14 15:26:02 +02:00
Bartosz Taudul
bd7f8111a6
Lock id size changed in data dump.
2017-10-14 15:21:15 +02:00
Bartosz Taudul
30fd899a90
Display messages in threads.
2017-10-14 15:03:28 +02:00
Bartosz Taudul
317b23c7c3
Assign messages to threads.
2017-10-14 14:46:03 +02:00
Bartosz Taudul
3ba349565a
Message list window.
2017-10-14 14:36:30 +02:00
Bartosz Taudul
fa8030009f
Store messages.
2017-10-14 14:28:04 +02:00
Bartosz Taudul
1aaab3c5e4
Use 32 bits to store lock id.
...
This makes queue item size 32 bytes. Queue operations can now be faster,
because multiplication by 33 is replaced by shift by 5.
2017-10-13 20:05:38 +02:00
Bartosz Taudul
ec789d60e8
Store source location color in 24 bits.
2017-10-13 19:59:18 +02:00
Bartosz Taudul
ed55fbfacb
Save/load plot data.
2017-10-13 16:04:20 +02:00
Bartosz Taudul
348661c9df
Display number of plot points per second.
2017-10-13 15:55:09 +02:00
Bartosz Taudul
e3abc8b52a
Fix min, max value setting.
2017-10-13 15:46:00 +02:00
Bartosz Taudul
4066b9ae30
Add plot information tooltip.
2017-10-13 15:44:24 +02:00
Bartosz Taudul
40d7a26b37
Allow hiding plots.
2017-10-13 15:41:20 +02:00
Bartosz Taudul
4ed905ca88
Plot can't be empty.
2017-10-13 15:36:16 +02:00
Bartosz Taudul
591fbdf75a
Store min, max values in plot.
2017-10-13 15:32:59 +02:00
Bartosz Taudul
5deb1c51dd
Can't modify both variables.
2017-10-13 15:31:38 +02:00
Bartosz Taudul
d1c43ef917
Draw vertical line on mouse position in zone view.
2017-10-13 15:26:18 +02:00
Bartosz Taudul
b217e6ab30
Add lousy plot values tooltip.
2017-10-13 15:15:57 +02:00
Bartosz Taudul
f32114cb35
Draw plot points in a separate function.
2017-10-13 15:09:01 +02:00
Bartosz Taudul
d05827135d
Draw plots.
2017-10-13 14:54:32 +02:00
Bartosz Taudul
ee60fc6885
Allow disabling zone/lock drawing.
2017-10-13 13:32:23 +02:00
Bartosz Taudul
fe0366c792
Receive plot data.
2017-10-13 03:36:59 +02:00
Bartosz Taudul
d9feeb3486
Disable scroll bar on profiler window.
2017-10-12 23:44:35 +02:00
Bartosz Taudul
97360c0c4c
Always save dumps with .tracy extension.
2017-10-12 22:38:11 +02:00
Bartosz Taudul
1b4a9379cc
Vertical scrolling of zone area.
2017-10-12 22:27:17 +02:00
Bartosz Taudul
737671adbf
Remove lock announce message.
...
This removes problem with static initialization order of mutices vs
tracy.
Lock source location is now transferred in lock wait message.
2017-10-12 20:14:17 +02:00
Bartosz Taudul
8634c48c9f
Check for thread existence when adding a lock.
2017-10-12 19:52:18 +02:00
Bartosz Taudul
3df0abd164
Only check thread string when adding a new thread.
2017-10-12 19:52:06 +02:00
Bartosz Taudul
6fc0bc881c
Allow hiding threads.
2017-10-12 19:47:56 +02:00
Bartosz Taudul
c1090a3116
Fix zone depth calculation.
2017-10-12 19:14:03 +02:00
Bartosz Taudul
cc8b357f09
Avoid excessive stack operations for cpu query.
2017-10-10 23:21:30 +02:00
Bartosz Taudul
75457c1465
Remove +x flag from files.
2017-10-10 21:56:15 +02:00
Bartosz Taudul
a6c5993401
Fix locks with more than two threads.
2017-10-08 23:03:38 +02:00
Bartosz Taudul
45cb4b144f
Add bit counter.
2017-10-08 21:02:09 +02:00
Bartosz Taudul
fbe7e59319
Allow zooming to zones without end.
2017-10-08 11:38:03 +02:00
Bartosz Taudul
42595014a1
Fix issue with missing lock display.
...
This was caused by a logic error concerning a lock state when thread t1
was waiting for a lock, thread t2 released the lock and thread t1 didn't
yet acquire a lock. High zoom level was needed.
(Threads are performing Wait, Obtain, Release operations on locks.)
t1 W |O R
t2 WO R|
--------------+----> t
↑
Problem
In the region marked by the problem line the lock count was 0, which
didn't trigger the appropriate code branch.
2017-10-06 18:58:54 +02:00
Bartosz Taudul
34030bf3d4
Prevent crash when no locks to display.
2017-10-06 18:52:52 +02:00
Bartosz Taudul
02edbf54ff
Return signed value from GetLastTime().
2017-10-06 18:32:25 +02:00
Bartosz Taudul
9bc80941c7
Draw timer uncertainties on locks.
2017-10-06 18:25:30 +02:00
Bartosz Taudul
6488ba6e0f
Display lock event location (if available).
2017-10-06 18:12:13 +02:00
Bartosz Taudul
71e16d069e
Store lock mark locations.
2017-10-06 18:04:17 +02:00
Bartosz Taudul
cbf5ddece1
Don't wait for lock to be announced before processing events.
2017-10-06 17:09:15 +02:00
Bartosz Taudul
695b0426bf
Lock mark processing skeleton.
2017-10-06 17:05:31 +02:00
Bartosz Taudul
21c1533d8b
Highlight threads contending for a lock.
2017-10-06 02:19:25 +02:00
Bartosz Taudul
21bebc1695
Display lock subzone time.
2017-10-05 23:57:27 +02:00
Bartosz Taudul
b965a1c936
Show which threads are blocking/blocked.
2017-10-05 23:47:51 +02:00
Bartosz Taudul
182f6533f3
Fix detection of blocking lock before viewport start.
2017-10-05 23:40:08 +02:00
Bartosz Taudul
e572c655c1
Add tooltips for locks.
2017-10-05 23:35:21 +02:00
Bartosz Taudul
efb7f0a31c
Show blocking locks.
...
A blocking lock is when a thread has lock, but other thread is waiting
for that lock.
2017-10-05 23:25:25 +02:00
Bartosz Taudul
9689d8014f
Proper lock visualization.
2017-10-05 23:18:24 +02:00
Bartosz Taudul
78067eb35e
Calculate lock wait counts.
2017-10-05 14:02:08 +02:00
Bartosz Taudul
2582f04977
Remove code leftovers.
2017-10-05 12:52:57 +02:00
Bartosz Taudul
4accd9ae8f
There can be many locks with the same name, print id.
2017-10-05 02:46:35 +02:00
Bartosz Taudul
956bcb9b17
Save lock source location.
2017-10-04 21:38:25 +02:00
Bartosz Taudul
d93c4bc271
Very crude drawing of lock events.
2017-10-04 21:27:06 +02:00
Bartosz Taudul
486f0999a7
Save/load lock events.
2017-10-04 20:10:54 +02:00
Bartosz Taudul
87ae5eccde
No need for id in LockMap.
2017-10-04 20:10:54 +02:00
Bartosz Taudul
a99fc01707
Store which threads access any given lock.
2017-10-04 19:57:06 +02:00
Bartosz Taudul
4c8e9f7d5d
Track number of held locks.
2017-10-04 19:42:44 +02:00
Bartosz Taudul
39bb9a3ad1
Insert lock events into timeline.
2017-10-04 19:24:24 +02:00
Bartosz Taudul
9904ebb4b6
Lock time correction.
2017-10-04 19:24:06 +02:00
Bartosz Taudul
54735bacea
Lock events dispatch.
2017-10-04 18:51:50 +02:00
Bartosz Taudul
110e5971d1
Store pending lock events, if lock was not yet announced.
2017-10-04 18:32:53 +02:00