feat(M5): FR-A5 性能优先+GPU探测——main 进程 getGPUInfo 探测软渲染(SwiftShader/llvmpipe)+gpu:info IPC; settings 加 perfMode 开关+gpuStatus+loadGpu; 软渲染自动开启 perfMode; App 背景图 blur 受 perfMode 控制; EffectLayer perfMode 时关闭特效; SettingsPanel 其他页加开关+GPU 信息显示; perf-mode E2E 1 项

This commit is contained in:
hunter-dev
2026-08-26 14:34:34 +08:00
parent 56b0c25443
commit fcd822b9f4
7 changed files with 108 additions and 6 deletions
+12
View File
@@ -59,6 +59,18 @@ app.whenReady().then(async () => {
const oldDataDir = nodePath.join(app.getPath('userData'), 'legacy-data');
const r = await migrator.migrate(oldDataDir, vault.fileService?.getRoot() ?? '').catch(() => null);
if (r?.migrated) console.log('[MIGRATION] migrated', r.count, 'items');
// FR-A5:GPU 探测——软渲染时自动禁用实时模糊
let gpuStatus = { softwareRendering: false, vendor: '', renderer: '' };
try {
const gi = await (app as any).getGPUInfo('full');
gpuStatus = {
softwareRendering: gi.softwareRendering === true || /SwiftShader|llvmpipe|Software/.test(gi.gpuDevice?.[0]?.renderer ?? ''),
vendor: gi.gpuDevice?.[0]?.vendorString ?? '',
renderer: gi.gpuDevice?.[0]?.renderer ?? '',
};
} catch { /* getGPUInfo 在某些环境不可用 */ }
ipcMain.handle(IPC.gpuInfo, () => gpuStatus);
registerIpc(vault);
createWindow();
app.on('activate', () => { if (BrowserWindow.getAllWindows().length === 0) createWindow(); });