diff --git a/internal/driver/glfw/loop.go b/internal/driver/glfw/loop.go index e9fdc28b50..92d9bb5768 100644 --- a/internal/driver/glfw/loop.go +++ b/internal/driver/glfw/loop.go @@ -117,7 +117,12 @@ func (d *gLDriver) runGL() { if f := fyne.CurrentApp().Lifecycle().(*app.Lifecycle).OnStarted(); f != nil { go f() // don't block main, we don't have window event queue } - eventTick := time.NewTicker(time.Second / 60) + + // reduce background CPU by polling less frequently + // will only affect animation smoothness on ARM Mac (drawOnMainThread) + eventTick := time.NewTicker(time.Second / 30) + //eventTick := time.NewTicker(time.Second / 60) + for { select { case <-d.done: