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:
@@ -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(); });
|
||||
|
||||
Reference in New Issue
Block a user