#53860: perf: push preload paths to Node.js renderers instead of a sync IPC at startup
Merged
Created: Sep 12, 2026, 10:55:54 AM
Merged: Sep 14, 2026, 1:12:15 PM
4 comments
Target: main
Description of Change
Renderers with sandbox: false still fetched their preload list from browser-process JS with a synchronous BROWSER_NONSANDBOX_LOAD IPC during renderer init. The browser now pushes RendererStartupData to those frames as it already does for sandboxed ones (paths only, no file contents or environment), at frame creation and ahead of each committed navigation, and the sync IPC and its handler are removed.
Release build, Linux x64, median over 3 runs of 14 windows each:
sandbox: false window, first navigation, preload start |
before | after |
|---|---|---|
| idle main process | 66.9 ms | 65.2 ms |
| main process busy (20 ms of every 25 ms) | 82.3 ms | 63.9 ms |
| sync IPCs during renderer init | 1 | 0 |
Checklist
- I have built and tested this change
- I have filled out the PR description
- I have reviewed and verified the changes
-
npm testpasses - tests are changed or added
- PR release notes describe the change in a way relevant to app developers, and are capitalized, punctuated, and past tense.
Release Notes
Notes: none
Backports
43-x-y
In-flight44-x-y
In-flight45-x-y
MergedPR Number
#53916Merged At
Sep 14, 2026, 2:23:35 PM
Released In
v45.0.0-alpha.7Release Date
Sep 14, 2026, 3:00:17 PM
Semver Impact
Major
Breaking changes
Minor
New features
Patch
Bug fixes
None
Docs, tests, etc.
Semantic Versioning helps users understand the impact of updates:
- Major (X.y.z): Breaking changes that may require code modifications
- Minor (x.Y.z): New features that maintain backward compatibility
- Patch (x.y.Z): Bug fixes that don't change the API
- None: Changes that don't affect using facing parts of Electron