Edit history

Earlier versions of Native background WebContentsView suspension to drastically reduce RAM, newest first.

Current version | Edited by Pierre
Changes
Proposed changeAutomatic Background Suspension: When an account or view is pushed to the background, automatically set setVisible(false) Removed: and pause JS loops with IPC.Added: and pause JS loops with IPC (Inter-Process Communication).Lightweight Core: Background instances keep only a minimal WebSocket connection open for pings
Show

Native background WebContentsView suspension to drastically reduce RAM

Current problem

Running multiple accounts or switching between instances currently keeps all WebContentsView renderers fully active in the background. Because Electron runs full Chromium instances, this causes heavy RAM and CPU consumption even when background accounts/tabs are completely idle.

Proposed change

Implement automatic background view suspension natively under the hood: Automatic Background Suspension: When an account or view is pushed to the background, automatically set setVisible(false) and pause JS loops with IPC (Inter-Process Communication). Lightweight Core: Background instances keep only a minimal WebSocket connection open for pings and real-time notifications. Instant Unfreeze: Clicking on a background account or tab instantly restores the renderer with zero delay.

Platform

macOS, Windows, Linux, Web, Self-hosting

Original by Pierre
Show

Native background WebContentsView suspension to drastically reduce RAM

Current problem

Running multiple accounts or switching between instances currently keeps all WebContentsView renderers fully active in the background. Because Electron runs full Chromium instances, this causes heavy RAM and CPU consumption even when background accounts/tabs are completely idle.

Proposed change

Implement automatic background view suspension natively under the hood: Automatic Background Suspension: When an account or view is pushed to the background, automatically set setVisible(false) and pause JS loops with IPC. Lightweight Core: Background instances keep only a minimal WebSocket connection open for pings and real-time notifications. Instant Unfreeze: Clicking on a background account or tab instantly restores the renderer with zero delay.

Platform

macOS, Windows, Linux, Web, Self-hosting