Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: enable gpu channel async from the runtime #241640

Draft
wants to merge 3 commits into
base: main
Choose a base branch
from

Conversation

deepak1556
Copy link
Collaborator

@deepak1556 deepak1556 commented Feb 23, 2025

While investigating #240767 I see that the renderer main thread is blocked around 1s in establishing the gpu channel on the perf bot. Upstream has finished evaluation of the gpu async channel and has enabled it by default since Chromium 134 https://chromium-review.googlesource.com/c/chromium/src/+/6094045. Here is the before and after with the feature enabled, CrRendererMain is the main thread of the renderer, with the feature enabled we now push the channel establishing task to a different thread and free up main thread for other tasks.

Before:

[perf] code/willOpenNewWindow-code/willLoadWorkbenchMain: 1295ms (fastest), 1295ms (slowest), 1295ms (median)

gpu-sync

After:

[perf] code/willOpenNewWindow-code/willLoadWorkbenchMain: 310ms (fastest), 310ms (slowest), 310ms (median)

gpu-async

@deepak1556
Copy link
Collaborator Author

Verified that feature is enabled from the mac exploration builds but the perf bots don't show the same wins I saw locally. Will take a look at windows tomorrow.

@bpasero
Copy link
Member

bpasero commented Feb 24, 2025

Just a guess, but maybe its because we specifically disable GPU for the perf machines?

https://github.com/microsoft/vscode-perf/blob/4a466010310f1dcd68206b6462f46eb8b6a43d17/src/perf.ts#L144-L150

@deepak1556
Copy link
Collaborator Author

The numbers from my windows machine were with the default perf bot flags, also disable gpu only disables hw acceleration the gpu process is still used for software compositing and the channel setup will happen.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants