/** 发热治理配置(与 MemoryProfile tier 对齐) */ export type ThermalTierId = 'tier0' | 'tier1' | 'tier3'; export interface ThermalTierConfig { /** 大厅 / 预载相位目标帧率(enablePhaseFrameRate 时生效) */ hallFrameRate: number; /** 战斗相位目标帧率(与 DeviceCapability 低/中/高 → tier0/1/3 对齐) */ battleFrameRate: number; /** 内存告警或自适应回落时的战斗帧率;与 battleFrameRate 同值则战斗内帧率固定 */ battleSustainFrameRate: number; /** Boot 相位目标帧率 */ bootFrameRate: number; /** 大厅 silent/background 队列预算倍率 (0~1);仅影响后台 IO */ hallLoadBudgetScale: number; /** 是否按 ResourcePhase 分相位设帧率(大厅保持流畅,战斗用上限/稳定档) */ enablePhaseFrameRate: boolean; /** 战斗内按实测帧时在上限与稳定档之间切换(带滞回,避免来回跳) */ enableAdaptiveBattleFrameRate: boolean; /** 内存告警 D2 时是否允许把战斗钉在稳定档、大厅用 stressHallFrameRate */ enableStressFrameRate: boolean; /** enableStressFrameRate 时非战斗相位帧率 */ stressHallFrameRate: number; /** 内存告警 D1/D2 时 silent/background 预算倍率 */ stressLoadBudgetScale: number; } export const THERMAL_PROFILE = { defaultTier: 'tier0' as ThermalTierId, tiers: { tier0: { hallFrameRate: 60, battleFrameRate: 30, battleSustainFrameRate: 30, bootFrameRate: 60, hallLoadBudgetScale: 0.65, enablePhaseFrameRate: true, enableAdaptiveBattleFrameRate: false, enableStressFrameRate: true, stressHallFrameRate: 60, stressLoadBudgetScale: 0.25, }, tier1: { hallFrameRate: 60, battleFrameRate: 40, battleSustainFrameRate: 40, bootFrameRate: 60, hallLoadBudgetScale: 0.8, enablePhaseFrameRate: true, enableAdaptiveBattleFrameRate: false, enableStressFrameRate: true, stressHallFrameRate: 60, stressLoadBudgetScale: 0.35, }, tier3: { hallFrameRate: 60, battleFrameRate: 50, battleSustainFrameRate: 50, bootFrameRate: 60, hallLoadBudgetScale: 1, enablePhaseFrameRate: true, enableAdaptiveBattleFrameRate: false, enableStressFrameRate: true, stressHallFrameRate: 60, stressLoadBudgetScale: 0.5, }, } satisfies Record, };