grom and Claude Opus 5
0c698b8797
Hovering a sign re-derived the whole layout graph, every frame
...
grom reports a frame drop on hovering signs, and asked for that one first.
A signpost is the only GameObject whose plate follows the cursor —
GO_TYPE_GENERIC with floating_tooltip, the `cursor_seated` leg of
drive_mouseover_tooltip — so every frame the hand on the mouse moves,
GameTooltip is re-anchored. That re-anchor called the whole-graph
Model::touch_layout for a write that moves two offsets and nothing else.
Measured on his own interface, not guessed at: a new bench window prices a
held plate against a drifting one against no plate at all. A drifting pointer
cost +8.6 ms a frame over the baseline; a held one cost +0.0, so the plate is
not the cost, the re-anchor is. It is now +0.2 ms.
tooltip_unit::seat_on_cursor is the shared seat for both arms (the raise in
world_tooltip_gameobject and the follow in world_tooltip_move). An offset-only
move names the frame — touch_layout_frame, exactly as SetPoint's own
write_anchor does for a dragged window — and only a roster or target change
gives up naming.
The bench asserts the ratio rather than the absolute, so a loaded machine
scales every window together, and reads GetLeft at the end: a "fix" that
stopped the plate moving would price identically, and this test would
otherwise applaud it.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01SgstFWtn1RxEJ5kVrpgYwn
2026-10-29 08:06:48 -06:00
..
2026-10-29 08:06:48 -06:00
2026-09-25 19:06:42 +07:00
2026-10-15 15:01:14 -06:00
2026-10-27 09:35:02 -06:00
2026-10-15 15:01:14 -06:00
2026-10-15 15:01:14 -06:00
2026-10-15 15:01:14 -06:00
2026-10-15 15:01:14 -06:00
2026-10-25 23:20:10 -06:00
2026-09-26 08:57:47 +07:00
2026-10-15 15:01:14 -06:00
2026-10-28 20:26:05 -06:00
2026-10-15 15:01:14 -06:00
2026-10-28 20:26:05 -06:00
2026-10-24 17:33:26 -06:00
2026-10-25 12:58:31 -06:00
2026-10-25 23:20:10 -06:00
2026-10-19 08:53:12 -06:00
2026-10-28 06:40:48 -06:00
2026-10-27 16:56:54 -06:00
2026-10-18 15:18:10 -06:00
2026-10-27 16:56:54 -06:00
2026-10-25 23:01:49 -06:00
2026-10-15 15:01:14 -06:00
2026-10-27 18:48:00 -06:00
2026-10-25 23:29:25 -06:00
2026-10-25 09:46:50 -06:00
2026-10-25 14:17:51 -06:00
2026-10-28 20:26:05 -06:00
2026-10-25 23:20:10 -06:00
2026-10-15 15:01:14 -06:00
2026-10-18 12:05:47 -06:00
2026-10-25 23:26:12 -06:00
2026-10-18 12:05:47 -06:00
2026-10-15 15:01:14 -06:00
2026-10-25 00:03:10 -06:00
2026-10-15 15:01:14 -06:00
2026-10-15 15:01:14 -06:00
2026-10-15 15:01:14 -06:00
2026-10-15 15:01:14 -06:00
2026-10-15 15:01:14 -06:00
2026-10-24 17:19:35 -06:00
2026-10-15 15:01:14 -06:00
2026-10-15 15:01:14 -06:00
2026-10-24 10:21:31 -06:00
2026-10-28 22:57:42 -06:00
2026-09-25 14:54:23 +07:00
2026-09-25 14:54:23 +07:00
2026-10-22 07:42:22 -06:00
2026-10-18 11:46:02 -06:00
2026-10-28 17:38:03 -06:00
2026-10-15 15:01:14 -06:00
2026-10-25 23:24:56 -06:00
2026-09-26 00:27:56 +07:00
2026-09-26 00:27:56 +07:00
2026-09-26 00:27:56 +07:00
2026-09-26 00:27:56 +07:00
2026-10-23 04:22:49 -06:00
2026-09-26 00:27:56 +07:00
2026-09-26 01:06:28 +07:00
2026-10-24 17:33:26 -06:00
2026-10-15 15:01:14 -06:00
2026-10-01 21:40:02 +01:00
2026-09-26 00:27:56 +07:00
2026-09-26 00:27:56 +07:00
2026-10-15 15:01:14 -06:00
2026-10-18 15:18:10 -06:00
2026-10-25 16:11:54 -06:00
2026-09-26 00:27:56 +07:00
2026-10-15 15:01:14 -06:00
2026-10-15 15:01:14 -06:00
2026-10-25 23:31:46 -06:00
2026-10-17 09:04:37 -06:00
2026-10-24 11:30:49 -06:00
2026-10-15 15:01:14 -06:00
2026-10-28 08:58:08 -06:00
2026-10-15 15:01:14 -06:00
2026-09-26 00:27:56 +07:00
2026-10-09 19:06:59 +01:00
2026-10-17 18:14:17 -06:00
2026-09-26 00:27:56 +07:00
2026-09-26 00:27:56 +07:00
2026-10-28 06:40:48 -06:00
2026-10-28 06:40:48 -06:00
2026-10-28 20:26:05 -06:00
2026-09-26 00:27:56 +07:00
2026-09-26 00:27:56 +07:00
2026-09-26 06:15:14 +07:00
2026-10-19 07:59:45 -06:00
2026-10-15 15:01:14 -06:00
2026-10-20 18:17:01 -06:00
2026-10-15 15:01:14 -06:00
2026-10-15 15:01:14 -06:00
2026-10-28 06:40:48 -06:00
2026-10-15 15:01:14 -06:00
2026-10-24 11:30:49 -06:00
2026-10-01 21:40:02 +01:00
2026-09-26 01:06:28 +07:00
2026-10-15 15:01:14 -06:00
2026-09-26 08:57:47 +07:00
2026-10-25 00:03:10 -06:00
2026-10-25 23:03:53 -06:00
2026-09-26 00:27:56 +07:00
2026-09-26 00:27:56 +07:00
2026-09-26 01:06:28 +07:00
2026-10-27 16:56:54 -06:00
2026-09-26 00:27:56 +07:00
2026-09-26 01:06:28 +07:00
2026-09-26 01:06:28 +07:00
2026-09-26 08:57:47 +07:00
2026-09-26 00:27:56 +07:00
2026-09-26 00:27:56 +07:00
2026-10-15 15:01:14 -06:00
2026-10-15 15:01:14 -06:00
2026-09-26 00:27:56 +07:00
2026-09-26 00:27:56 +07:00
2026-10-03 17:14:49 +01:00
2026-10-18 15:18:10 -06:00
2026-10-15 15:01:14 -06:00
2026-10-01 21:40:02 +01:00
2026-10-15 15:01:14 -06:00
2026-10-27 18:48:00 -06:00
2026-09-26 00:27:56 +07:00
2026-09-26 14:41:33 +07:00
2026-09-26 00:27:56 +07:00
2026-09-26 00:27:56 +07:00
2026-10-18 15:18:10 -06:00
2026-09-26 00:27:56 +07:00
2026-09-26 00:27:56 +07:00
2026-10-28 21:56:30 -06:00
2026-09-25 14:54:23 +07:00
2026-10-02 17:56:00 +01:00
2026-10-15 15:01:14 -06:00
2026-09-25 14:54:23 +07:00
2026-09-25 14:54:23 +07:00
2026-10-24 08:00:19 -06:00
2026-09-25 14:54:23 +07:00
2026-10-25 13:13:38 -06:00
2026-10-15 15:01:14 -06:00
2026-10-18 15:18:10 -06:00
2026-10-15 15:01:14 -06:00
2026-10-15 15:01:14 -06:00
2026-10-15 15:01:14 -06:00
2026-10-15 15:01:14 -06:00
2026-09-25 14:54:23 +07:00
2026-09-25 14:54:23 +07:00
2026-09-25 14:54:23 +07:00
2026-09-26 01:06:28 +07:00
2026-10-15 15:01:14 -06:00
2026-10-15 15:01:14 -06:00
2026-10-18 15:18:10 -06:00
2026-09-26 01:06:28 +07:00
2026-10-19 07:59:45 -06:00
2026-10-15 15:01:14 -06:00
2026-10-15 15:01:14 -06:00
2026-10-25 23:02:28 -06:00
2026-09-25 14:54:23 +07:00
2026-09-25 14:54:23 +07:00
2026-10-24 16:53:28 -06:00
2026-10-25 16:11:54 -06:00
2026-10-24 09:00:17 -06:00
2026-10-15 15:01:14 -06:00
2026-09-26 06:15:14 +07:00
2026-10-15 15:01:14 -06:00
2026-09-25 14:54:23 +07:00
2026-10-15 15:01:14 -06:00
2026-10-18 14:59:22 -06:00
2026-10-24 23:46:42 -06:00
2026-10-18 12:05:47 -06:00
2026-10-15 15:01:14 -06:00
2026-10-25 13:53:40 -06:00
2026-09-26 07:23:28 +07:00
2026-10-18 12:05:47 -06:00
2026-09-25 14:54:23 +07:00
2026-09-25 14:54:23 +07:00
2026-10-21 14:47:57 -06:00
2026-10-25 17:03:30 -06:00
2026-10-25 18:33:44 -06:00
2026-10-28 08:58:08 -06:00
2026-10-28 06:40:48 -06:00
2026-10-28 06:40:48 -06:00
2026-09-29 17:31:51 +01:00
2026-10-25 17:03:30 -06:00
2026-09-26 00:27:56 +07:00
2026-09-26 00:27:56 +07:00
2026-10-26 15:44:27 -06:00
2026-09-26 01:06:28 +07:00
2026-09-26 00:27:56 +07:00
2026-09-26 00:42:27 +01:00