Skip to content

Commit 1dc45a2

Browse files
smittixclaude
andcommitted
perf(css): fix rendering slowdown on low-power hardware (Pi5)
- Remove backdrop-filter: blur(5px) from .card and .panel — on ARM/Linux Chromium this is software-rendered, causing severe CPU overhead at 42+ instances. The opaque surface gradient makes blur imperceptible anyway. - Remove inset vignette box-shadow from .panel added in 51c1014 - Rewrite panel-pulse keyframes to animate opacity only (was box-shadow, which triggers CPU repaint every frame; opacity is compositor-only) - Gate body::before and .visuals-container::after scanline pseudo-elements under [data-animations="off"] — the toggle was blind to both - Gate panel-indicator pulse under [data-animations="off"] for consistency Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
1 parent c70c93c commit 1dc45a2

2 files changed

Lines changed: 12 additions & 11 deletions

File tree

static/css/core/components.css

Lines changed: 7 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -140,7 +140,6 @@
140140
border-radius: var(--radius-lg);
141141
overflow: hidden;
142142
box-shadow: var(--shadow-sm), inset 0 1px 0 rgba(255, 255, 255, 0.04);
143-
backdrop-filter: blur(5px);
144143
}
145144

146145
.card-header {
@@ -177,8 +176,7 @@
177176
border: 1px solid rgba(74, 163, 255, 0.24);
178177
border-radius: var(--radius-lg);
179178
overflow: hidden;
180-
box-shadow: var(--shadow-sm), inset 0 0 40px rgba(0, 0, 0, 0.25), inset 0 1px 0 rgba(255, 255, 255, 0.04);
181-
backdrop-filter: blur(5px);
179+
box-shadow: var(--shadow-sm), inset 0 1px 0 rgba(255, 255, 255, 0.04);
182180
}
183181

184182
@supports (clip-path: polygon(0 0)) {
@@ -234,14 +232,8 @@
234232
}
235233

236234
@keyframes panel-pulse {
237-
0%, 100% {
238-
box-shadow: 0 0 4px var(--status-online), 0 0 8px rgba(56, 193, 128, 0.4);
239-
opacity: 1;
240-
}
241-
50% {
242-
box-shadow: 0 0 8px var(--status-online), 0 0 16px rgba(56, 193, 128, 0.6);
243-
opacity: 0.85;
244-
}
235+
0%, 100% { opacity: 1; }
236+
50% { opacity: 0.7; }
245237
}
246238

247239
.panel-indicator.active {
@@ -256,6 +248,10 @@
256248
}
257249
}
258250

251+
[data-animations="off"] .panel-indicator.active {
252+
animation: none;
253+
}
254+
259255
.panel-content {
260256
padding: var(--space-3);
261257
}

static/css/index.css

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7345,6 +7345,11 @@ body::before {
73457345
animation: none !important;
73467346
}
73477347

7348+
[data-animations="off"] body::before,
7349+
[data-animations="off"] .visuals-container::after {
7350+
display: none;
7351+
}
7352+
73487353
/* ============================================
73497354
VISUAL REFRESH OVERRIDES
73507355
============================================ */

0 commit comments

Comments
 (0)