Description
The GPU module exposes display FPS on Apple Silicon, but the value is currently limited to the popup, portal, and preview. This proposal makes the metric available both as an optional menu bar widget and as an optional floating overlay.
Proposed behavior
- Disabled by default
- Add an FPS Mini widget that can be used next to the existing GPU utilization widget and automatically participates in Combined modules
- Add a small transparent, non-activating HUD visible across Spaces and full-screen apps
- Reuse the existing GPU IOReport bridge and DCP source logic; the HUD owns its sampling lifecycle so it remains independent of the GPU module update interval
- Drag the HUD to reposition it and persist the position
- Application settings for HUD visibility, text color, and font size
- HUD context menu actions to reset position, toggle launch at login, or close the HUD
- No ScreenCaptureKit usage and no screen recording permission
- Apple Silicon only; unavailable readings display
-- FPS
FPS source correctness
The current reader merges DCP and every DCPEXT group and sums their counters. On multi-display systems this can report combined values such as 120/180 FPS. The shared counter should select one source: prefer DCP while an active built-in display exists, otherwise use the first available DCPEXT.
Compatibility
Description
The GPU module exposes display FPS on Apple Silicon, but the value is currently limited to the popup, portal, and preview. This proposal makes the metric available both as an optional menu bar widget and as an optional floating overlay.
Proposed behavior
-- FPSFPS source correctness
The current reader merges
DCPand everyDCPEXTgroup and sums their counters. On multi-display systems this can report combined values such as 120/180 FPS. The shared counter should select one source: preferDCPwhile an active built-in display exists, otherwise use the first availableDCPEXT.Compatibility