diff --git a/public/css/style.css b/public/css/style.css index 3952dab..32a7cd8 100644 --- a/public/css/style.css +++ b/public/css/style.css @@ -150,29 +150,29 @@ body { .bg-glow { position: fixed; border-radius: 50%; - filter: blur(120px); - opacity: 0.4; + filter: blur(60px); /* Reduced from 120px to save GPU fill rate */ + opacity: 0.3; z-index: 0; pointer-events: none; - animation: glowFloat 20s ease-in-out infinite; - will-change: transform, opacity; + animation: glowFloat 30s ease-in-out infinite; /* Slower = lighter */ + will-change: transform; } .bg-glow-1 { - width: 600px; - height: 600px; - background: radial-gradient(circle, rgba(99, 102, 241, 0.15), transparent 70%); - top: -200px; - left: -100px; + width: 400px; + height: 400px; + background: radial-gradient(circle, rgba(99, 102, 241, 0.1), transparent 70%); + top: -100px; + left: -50px; animation-delay: 0s; } .bg-glow-2 { - width: 500px; - height: 500px; - background: radial-gradient(circle, rgba(6, 182, 212, 0.12), transparent 70%); - bottom: -150px; - right: -100px; + width: 300px; + height: 300px; + background: radial-gradient(circle, rgba(6, 182, 212, 0.08), transparent 70%); + bottom: -100px; + right: -50px; animation-delay: -7s; } @@ -211,9 +211,9 @@ body { align-items: center; justify-content: space-between; padding: 0 28px; - background: rgba(10, 14, 26, 0.85); - backdrop-filter: blur(20px) saturate(180%); - -webkit-backdrop-filter: blur(20px) saturate(180%); + background: rgba(10, 14, 26, 0.95); + backdrop-filter: blur(8px); /* Reduced from 20px */ + -webkit-backdrop-filter: blur(8px); border-bottom: 1px solid var(--border-color); } @@ -445,8 +445,8 @@ input:checked+.slider:before { background: var(--bg-card); border: 1px solid var(--border-color); border-radius: var(--radius-lg); - backdrop-filter: blur(12px); - -webkit-backdrop-filter: blur(12px); + backdrop-filter: blur(4px); + -webkit-backdrop-filter: blur(4px); transition: all 0.3s ease; overflow: hidden; } @@ -613,8 +613,8 @@ input:checked+.slider:before { background: var(--bg-card); border: 1px solid var(--border-color); border-radius: var(--radius-lg); - backdrop-filter: blur(12px); - -webkit-backdrop-filter: blur(12px); + backdrop-filter: blur(4px); + -webkit-backdrop-filter: blur(4px); overflow: hidden; transition: border-color 0.3s ease, background 0.3s ease, box-shadow 0.3s ease; } diff --git a/public/js/app.js b/public/js/app.js index 65e78fe..08d9e4e 100644 --- a/public/js/app.js +++ b/public/js/app.js @@ -1034,6 +1034,9 @@ const period = 3 + ((routeHash + i) % 5); const styleKey = `${finalCurve.toFixed(2)}_${period}`; + // Performance Optimization: Limit maximum animated effects to 25 to prevent iGPU saturation + const effectVisible = styleGroupedSeries.size < 25; + if (!styleGroupedSeries.has(styleKey)) { styleGroupedSeries.set(styleKey, { id: 'latency-group-' + styleKey, @@ -1041,7 +1044,7 @@ coordinateSystem: 'geo', zlevel: 2, effect: { - show: true, + show: effectVisible, period: period, trailLength: 0.05, // Shorter trail = less GPU pixels to process color: 'rgba(99, 102, 241, 0.6)',