Skip to content

Commit

Permalink
perf - wait for dom ready when waiting for services
Browse files Browse the repository at this point in the history
  • Loading branch information
bpasero committed Apr 8, 2021
1 parent 61dacc2 commit c14109e
Show file tree
Hide file tree
Showing 3 changed files with 8 additions and 8 deletions.
5 changes: 2 additions & 3 deletions src/vs/workbench/browser/web.main.ts
Original file line number Diff line number Diff line change
Expand Up @@ -79,10 +79,9 @@ class BrowserMain extends Disposable {
}

async open(): Promise<IWorkbench> {
const services = await this.initServices();

await domContentLoaded();
mark('code/willStartWorkbench');
// Init services and wait for DOM to be ready in parallel
const [services] = await Promise.all([this.initServices(), domContentLoaded()]);

// Create Workbench
const workbench = new Workbench(this.domElement, services.serviceCollection, services.logService);
Expand Down
5 changes: 4 additions & 1 deletion src/vs/workbench/browser/workbench.ts
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,9 @@ export class Workbench extends Layout {
) {
super(parent);

// Perf: measure workbench startup time
mark('code/willStartWorkbench');

this.registerErrorHandler(logService);
}

Expand Down Expand Up @@ -424,7 +427,7 @@ export class Workbench extends Layout {
this._register(runWhenIdle(() => lifecycleService.phase = LifecyclePhase.Eventually, 2500));
}, 2500);

// Telemetry: startup metrics
// Perf: signal workbench started
mark('code/didStartWorkbench');

// Perf reporting (devtools)
Expand Down
6 changes: 2 additions & 4 deletions src/vs/workbench/electron-sandbox/shared.desktop.main.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@
*--------------------------------------------------------------------------------------------*/

import { zoomLevelToZoomFactor } from 'vs/platform/windows/common/windows';
import { mark } from 'vs/base/common/performance';
import { Workbench } from 'vs/workbench/browser/workbench';
import { NativeWindow } from 'vs/workbench/electron-sandbox/window';
import { setZoomLevel, setZoomFactor, setFullscreen } from 'vs/base/browser/browser';
Expand Down Expand Up @@ -99,10 +98,9 @@ export abstract class SharedDesktopMain extends Disposable {
}

async open(): Promise<void> {
const services = await this.initServices();

await domContentLoaded();
mark('code/willStartWorkbench');
// Init services and wait for DOM to be ready in parallel
const [services] = await Promise.all([this.initServices(), domContentLoaded()]);

// Create Workbench
const workbench = new Workbench(document.body, services.serviceCollection, services.logService);
Expand Down

0 comments on commit c14109e

Please sign in to comment.