[PERF] Host Debug Overlay Isolation

This commit is contained in:
bQUARKz 2026-04-10 19:19:08 +01:00
parent 4cdfaefda7
commit 5436c54e6d
Signed by: bquarkz
SSH Key Fingerprint: SHA256:Z7dgqoglWwoK6j6u4QC87OveEq74WOhFN+gitsxtkf8

View File

@ -4,10 +4,11 @@ use prometeu_firmware::Firmware;
const PANEL_X: usize = 6;
const PANEL_Y: usize = 10;
const PANEL_WIDTH: usize = 170;
const PANEL_PADDING: usize = 8;
const PANEL_PADDING_X: usize = 8;
const PANEL_PADDING_Y: usize = 3;
const LINE_HEIGHT: usize = 12;
const CHAR_SCALE: usize = 1;
const BAR_WIDTH: usize = PANEL_WIDTH - (PANEL_PADDING * 2);
const BAR_WIDTH: usize = PANEL_WIDTH - (PANEL_PADDING_X * 2);
const BAR_HEIGHT: usize = 6;
const BG: [u8; 4] = [10, 18, 32, 208];
@ -180,7 +181,7 @@ pub(crate) fn draw_overlay(
fill_rect_alpha(&mut canvas, panel_rect, BG);
stroke_rect(&mut canvas, panel_rect, BORDER);
let mut y = PANEL_Y + PANEL_PADDING;
let mut y = PANEL_Y + PANEL_PADDING_Y;
for (left, right) in &snapshot.rows {
draw_metric_pair(canvas.frame, canvas.width, canvas.height, y, left, right);
y += LINE_HEIGHT;
@ -192,7 +193,7 @@ pub(crate) fn draw_overlay(
canvas.frame,
canvas.width,
canvas.height,
PANEL_X + PANEL_PADDING,
PANEL_X + PANEL_PADDING_X,
y,
bar.label,
DIM,
@ -200,7 +201,7 @@ pub(crate) fn draw_overlay(
draw_text(canvas.frame, canvas.width, canvas.height, PANEL_X + 48, y, &bar.value, color);
y += LINE_HEIGHT - 2;
let bar_x = PANEL_X + PANEL_PADDING;
let bar_x = PANEL_X + PANEL_PADDING_X;
let bar_rect = Rect { x: bar_x, y, width: BAR_WIDTH, height: BAR_HEIGHT };
fill_rect(&mut canvas, bar_rect, BAR_BG);
let fill_width = ((BAR_WIDTH as f32) * bar.ratio.clamp(0.0, 1.0)).round() as usize;
@ -219,7 +220,7 @@ pub(crate) fn draw_overlay(
canvas.frame,
canvas.width,
canvas.height,
PANEL_X + PANEL_PADDING,
PANEL_X + PANEL_PADDING_X,
y,
line.label,
DIM,
@ -237,7 +238,7 @@ fn draw_metric_pair(
left: &OverlayMetric,
right: &OverlayMetric,
) {
let left_x = PANEL_X + PANEL_PADDING;
let left_x = PANEL_X + PANEL_PADDING_X;
let right_x = PANEL_X + 86;
draw_metric(frame, frame_width, frame_height, left_x, y, left);