From 32485c8ea76275a9a06c0c8b744f5f187018c751 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=BB=9D=E5=B0=98?= <237809796@qq.com> Date: Mon, 8 Jun 2026 13:35:41 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96:=20=E7=A9=BA=E9=97=B2=20CPU?= =?UTF-8?q?=20=E5=BD=92=E9=9B=B6=EF=BC=8C=E4=BA=8B=E4=BB=B6=E9=A9=B1?= =?UTF-8?q?=E5=8A=A8=E6=B8=B2=E6=9F=93+=E8=BE=93=E5=85=A5=E7=AD=89?= =?UTF-8?q?=E5=BE=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 1 + internal/app.go | 4 ++++ main.go | 2 +- 3 files changed, 6 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index 71a84e4..0e593dd 100644 --- a/.gitignore +++ b/.gitignore @@ -23,3 +23,4 @@ Thumbs.db *.exe *.exe.old *~ +u-tabs.prof diff --git a/internal/app.go b/internal/app.go index 2812734..dce11ed 100644 --- a/internal/app.go +++ b/internal/app.go @@ -108,6 +108,10 @@ func (m *Model) Update(msg tea.Msg) (tea.Model, tea.Cmd) { m.update.Checking = false case cacheFlushMsg: m.flushCache() + // 只在仍有脏数据时继续调度,避免空转 + if m.cacheDirty { + return m, cacheFlushTick() + } return m, nil case tea.QuitMsg: m.flushCache() diff --git a/main.go b/main.go index 4ea9714..1d3ce91 100644 --- a/main.go +++ b/main.go @@ -13,7 +13,7 @@ import ( func main() { internal.InitData() m := internal.NewModel() - p := tea.NewProgram(m, tea.WithFPS(5)) + p := tea.NewProgram(m, tea.WithFPS(0)) if _, err := p.Run(); err != nil { fmt.Fprintf(os.Stderr, "启动失败: %v\n", err) os.Exit(1)