Make repeated invalidations more efficient
This commit is contained in:
parent
8492a21a51
commit
0b37441f17
1 changed files with 10 additions and 0 deletions
10
lib/ui/ui.go
10
lib/ui/ui.go
|
@ -78,6 +78,16 @@ func (state *UI) Tick() bool {
|
||||||
}
|
}
|
||||||
state.Content.Event(event)
|
state.Content.Event(event)
|
||||||
case <-state.invalidations:
|
case <-state.invalidations:
|
||||||
|
for {
|
||||||
|
// Flush any other pending invalidations
|
||||||
|
select {
|
||||||
|
case <-state.invalidations:
|
||||||
|
break
|
||||||
|
default:
|
||||||
|
goto done
|
||||||
|
}
|
||||||
|
}
|
||||||
|
done:
|
||||||
state.Content.Draw(state.ctx)
|
state.Content.Draw(state.ctx)
|
||||||
state.screen.Show()
|
state.screen.Show()
|
||||||
default:
|
default:
|
||||||
|
|
Loading…
Reference in a new issue