-
Notifications
You must be signed in to change notification settings - Fork 37.4k
feat: enable gpu channel async from the runtime #241640
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
Conversation
|
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. |
|
Just a guess, but maybe its because we specifically disable GPU for the perf machines? |
|
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. |
|
Verified on my windows machine to show improvements with the exploration build similar to the numbers from #241640 (comment) There is definitely something else blocking the startup path on the perf machines that hides the wins from this change, I will capture traces from the perf bots as next step. |
ee34e99 to
3983983
Compare
3983983 to
ea9a6fc
Compare
8f964a6 to
bdc8897
Compare
9db4c21 to
e320e8b
Compare
* Add zx package * Add stub task and script * Add missing file * Remove code * Another try * Fingers crossed * Another try * Add remaining steps * Add back tasks * Fix things * Another try * More fixes * Use deemon * Fixing things * watcher - perf improvements for non-recursive watching (#245644) * Feedback: before / after selectors not rendering correctly (#245645) Fixes #244575 * Add highlights rule for character escapes (#245647) * ci: split gnu arm targets for cli stage (#245651) * Fix inline edit acceptance on click (#245649) fix clicking insertion does not accept * Feedback: variables render differently in Insiders (#245650) Fixes #244579 * !important different color (#245654) Fixes #244632 * @Property css different color (#245656) Fixes #244634 * > different color (#245658) Fixes #244631 * notifications - adopt more `NotificationPriority.OPTIONAL` (#245664) * Adds more inline completion tests * Fixes CI * feat: enable gpu channel async from the runtime (#241640) * Update WinGet configuration file location & extension (#242241) * Update WinGet configuration file location & extension * Remove prerelease: true & add securityContext * High CPU on large workspace with many TypeScript watched folders (fix #245366) (#245670) * High CPU on large workspace with many TypeScript watched folders (fix #245366) * reduce throttle delay * Moving away from `execCommand` for pasting (#239233) * adding code to invetsigate the clipboard * adding more code * adding change * adding logs * adding notes * making deubgging easier * adding code to fix paste * adding code to allow await before trigger paste * removing all logs * removing log * refactoring * removing change * adding fix after call * polishing * fixing merge conflict * polishing * Fixing property initializiation order (#245673) fixing property initializiation order * voice - fix some leaks (#245676) * update css service (#245688) * Engineering - bump deemon (#245634) * Engineering - bump deemon * Bump deemon again * Always run the Codesign post-job * Another fix * Try signing in parallel * Clean up signing script Update task name Tweak script Some more cleanup Some more cleanup More cleanup * Attempt to run signing in parallel --------- Co-authored-by: Benjamin Pasero <benjamin.pasero@microsoft.com> Co-authored-by: Alex Ross <38270282+alexr00@users.noreply.github.com> Co-authored-by: Robo <hop2deep@gmail.com> Co-authored-by: Benjamin Christopher Simmonds <44439583+benibenj@users.noreply.github.com> Co-authored-by: Henning Dieterichs <hdieterichs@microsoft.com> Co-authored-by: Muhammad Danish <mdanishkhdev@gmail.com> Co-authored-by: Aiday Marlen Kyzy <amarlenkyzy@microsoft.com> Co-authored-by: Martin Aeschlimann <martinae@microsoft.com>
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,
CrRendererMainis 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)
After:
[perf] code/willOpenNewWindow-code/willLoadWorkbenchMain: 310ms (fastest), 310ms (slowest), 310ms (median)