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)
|
||||
case <-state.invalidations:
|
||||
for {
|
||||
// Flush any other pending invalidations
|
||||
select {
|
||||
case <-state.invalidations:
|
||||
break
|
||||
default:
|
||||
goto done
|
||||
}
|
||||
}
|
||||
done:
|
||||
state.Content.Draw(state.ctx)
|
||||
state.screen.Show()
|
||||
default:
|
||||
|
|
Loading…
Reference in a new issue