@yuebai008/cli
Version:
Command line interface for rapid qg-minigame development
1 lines • 1.09 kB
JavaScript
import*as i18n from"../../core/i18n/i18n.js";import*as TraceEngine from"../../models/trace/trace.js";import{buildGroupStyle,buildTrackHeader,getFormattedTime}from"./AppenderUtils.js";const UIStrings={gpu:"GPU"},str_=i18n.i18n.registerUIStrings("panels/timeline/GPUTrackAppender.ts",UIStrings),i18nString=i18n.i18n.getLocalizedString.bind(void 0,str_);export class GPUTrackAppender{appenderName="GPU";#e;#t;constructor(e,t){this.#e=e,this.#t=t}appendTrackAtLevel(e,t){const r=this.#t.GPU.mainGPUThreadTasks;return 0===r.length?e:(this.#r(e,t),this.#e.appendEventsAtLevel(r,e,this))}#r(e,t){const r=buildGroupStyle({shareHeaderLine:!1}),i=buildTrackHeader(e,i18nString(UIStrings.gpu),r,!0,t);this.#e.registerTrackForGroup(i,this)}colorForEvent(e){if(!TraceEngine.Types.TraceEvents.isTraceEventGPUTask(e))throw new Error(`Unexpected GPU Task: The event's type is '${e.name}'`);return"hsl(109, 33%, 55%)"}titleForEvent(e){return TraceEngine.Types.TraceEvents.isTraceEventGPUTask(e)?"GPU":e.name}highlightedEntryInfo(e){return{title:this.titleForEvent(e),formattedTime:getFormattedTime(e.dur)}}}