Repository navigation
Conversation
…exture collapse - Ephemeral Settings window: instantiate lazily on demand; destroy immediately on close to reclaim 50-80 MB V8 and Blink DOM memory. - Collapse parked empty overlay window to 1x1 offscreen on macOS to immediately release fullscreen Metal IOSurface textures while idle. Restore full bounds synchronously on raising channels. - Lazy-load and decode audio buffers on demand, evict unused custom emote buffers, and suspend AudioContext after 15s of inactivity. - Destroy room member and vote panel windows when idle or leaving a room. - Add conservative V8 heap and renderer limits (--max-old-space-size=64, --renderer-process-limit=2).
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What and why
Reduces background idle memory on macOS from ~170–180 MB down to ~80–90 MB without breaking visual fidelity or input latency:
1x1at(-10000, -10000), immediately releasing the ~30 MB MetalIOSurfaceGPU texture. Monitor bounds are restored synchronously on raising events (wheel-open,ping,emote).AudioContextsuspends after 15s of silence.--max-old-space-size=64,--renderer-process-limit=2).How I tested it
npm run typecheck(clean)npm run test:helper(1251 tests passed)npm test(all 129 Vitest test suites, 2046 tests passed)electron-builder --mac --arm64 --dir) into/Applications/lolPing.app.psandfootprinton macOS arm64: idle dirty footprint dropped by ~50%.Ran by hand on:
Checklist
npm run typecheck,npm run test:helperandnpm testpasssrc/shared/i18n.ts, both READMEs)docs/design.mdis updated if the behaviour it describes changedAGENTS.mdin context and I read the whole diff. Tool: Antigravity