2023-03-14 09:51:44 +00:00
|
|
|
declare global {
|
|
|
|
|
interface Window {
|
|
|
|
|
panelsRendered?: number;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
2016-06-08 06:51:01 +02:00
|
|
|
export class Profiler {
|
2021-04-15 14:21:06 +02:00
|
|
|
panelsRendered = 0;
|
|
|
|
|
enabled?: boolean = undefined;
|
2016-06-08 06:51:01 +02:00
|
|
|
|
2019-05-13 09:38:19 +02:00
|
|
|
renderingCompleted() {
|
2016-06-17 08:49:11 +02:00
|
|
|
// add render counter to root scope
|
2020-04-15 22:17:41 +02:00
|
|
|
// used by image renderer to know when panel has rendered
|
2021-04-15 14:21:06 +02:00
|
|
|
this.panelsRendered += 1;
|
2018-05-24 15:26:27 +02:00
|
|
|
|
|
|
|
|
// this window variable is used by backend rendering tools to know
|
|
|
|
|
// all panels have completed rendering
|
2023-03-14 09:51:44 +00:00
|
|
|
window.panelsRendered = this.panelsRendered;
|
2016-06-08 06:51:01 +02:00
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
2018-08-29 14:26:50 +02:00
|
|
|
const profiler = new Profiler();
|
2017-12-19 16:06:54 +01:00
|
|
|
export { profiler };
|