Redraw screen when one second has elapsed since last draw
When the application does not re-draw the screen for a long time, on some platforms the screen will flicker between a previously drawn frame and the current frame. This issue persists until the screen is redrawn.
This commit is contained in:
parent
9dcd0e9a83
commit
8e9a09d4fc
4 changed files with 22 additions and 9 deletions
|
@ -1,3 +1,7 @@
|
|||
1.3.6:
|
||||
- Support viewing replays of incomplete games
|
||||
- Fix crash on Android when device is rotated
|
||||
|
||||
1.3.5:
|
||||
- Use internal on-screen keyboard
|
||||
|
||||
|
|
15
game/game.go
15
game/game.go
|
@ -41,7 +41,7 @@ import (
|
|||
)
|
||||
|
||||
const (
|
||||
version = "v1.3.5p2"
|
||||
version = "v1.3.6"
|
||||
baseButtonHeight = 54
|
||||
MaxDebug = 2
|
||||
DefaultServerAddress = "wss://ws.bgammon.org"
|
||||
|
@ -520,6 +520,7 @@ type Game struct {
|
|||
screenW, screenH int
|
||||
|
||||
drawBuffer bytes.Buffer
|
||||
drawTick int
|
||||
|
||||
spinnerIndex int
|
||||
|
||||
|
@ -2506,6 +2507,8 @@ func (g *Game) Update() error {
|
|||
return nil
|
||||
}
|
||||
|
||||
g.drawTick++
|
||||
|
||||
g.Lock()
|
||||
defer g.Unlock()
|
||||
|
||||
|
@ -2634,8 +2637,12 @@ func (g *Game) Draw(screen *ebiten.Image) {
|
|||
|
||||
gameUpdateLock.Lock()
|
||||
if drawScreen <= 0 {
|
||||
gameUpdateLock.Unlock()
|
||||
return
|
||||
if g.drawTick < targetFPS {
|
||||
gameUpdateLock.Unlock()
|
||||
return
|
||||
}
|
||||
updatedGame = false
|
||||
drawScreen = 1
|
||||
}
|
||||
now := time.Now()
|
||||
diff := 1000000000*time.Nanosecond/targetFPS - now.Sub(lastDraw)
|
||||
|
@ -2648,6 +2655,8 @@ func (g *Game) Draw(screen *ebiten.Image) {
|
|||
}
|
||||
gameUpdateLock.Unlock()
|
||||
|
||||
g.drawTick = 0
|
||||
|
||||
if !viewBoard {
|
||||
screen.Fill(frameColor)
|
||||
} else {
|
||||
|
|
4
go.mod
4
go.mod
|
@ -3,11 +3,11 @@ module code.rocket9labs.com/tslocum/boxcars
|
|||
go 1.19
|
||||
|
||||
require (
|
||||
code.rocket9labs.com/tslocum/bgammon v0.0.0-20240703055426-fa229d8ae6cc
|
||||
code.rocket9labs.com/tslocum/bgammon v0.0.0-20240708184921-58d71da294f2
|
||||
code.rocket9labs.com/tslocum/bgammon-bei-bot v0.0.0-20240422204629-93fba875ad23
|
||||
code.rocket9labs.com/tslocum/etk v0.0.0-20240625183029-399fae94ad9c
|
||||
code.rocket9labs.com/tslocum/tabula v0.0.0-20240703054156-ce0b448f0999
|
||||
github.com/hajimehoshi/ebiten/v2 v2.7.6
|
||||
github.com/hajimehoshi/ebiten/v2 v2.7.7
|
||||
github.com/leonelquinteros/gotext v1.6.1
|
||||
github.com/llgcode/draw2d v0.0.0-20240627062922-0ed1ff131195
|
||||
github.com/nfnt/resize v0.0.0-20180221191011-83c6a9932646
|
||||
|
|
8
go.sum
8
go.sum
|
@ -1,7 +1,7 @@
|
|||
code.rocket9labs.com/tslocum/bei v0.0.0-20240108012722-6db380cc190b h1:Y0a14Kf/hSYepSmp4ZfDeE4CZZGBGBS97CNjCbKJm0c=
|
||||
code.rocket9labs.com/tslocum/bei v0.0.0-20240108012722-6db380cc190b/go.mod h1:tS60/VNAJphKvDBkSLQhKALa15msIAuWWfEKNc4oFZc=
|
||||
code.rocket9labs.com/tslocum/bgammon v0.0.0-20240703055426-fa229d8ae6cc h1:fZczcNlgIVl1PXwvTr5JE5uC5IZARHzm+IJ+j7wSbYc=
|
||||
code.rocket9labs.com/tslocum/bgammon v0.0.0-20240703055426-fa229d8ae6cc/go.mod h1:7aaf6KWauGxJgLGTAddwCC1dwx460ygIzDhD1/xd1nk=
|
||||
code.rocket9labs.com/tslocum/bgammon v0.0.0-20240708184921-58d71da294f2 h1:QR/JlsBf8KCK3QrYzpSMexzC7DzFibe11bk1CLLqdTU=
|
||||
code.rocket9labs.com/tslocum/bgammon v0.0.0-20240708184921-58d71da294f2/go.mod h1:gPHFUucb+tWul3bHh+3Z1Jq6GE0EVbXIi5b1kTciP1w=
|
||||
code.rocket9labs.com/tslocum/bgammon-bei-bot v0.0.0-20240422204629-93fba875ad23 h1:Gv98n8QExq/cqWIIeSoGCvvcC/SzT6Gg5UrpiUvxFf0=
|
||||
code.rocket9labs.com/tslocum/bgammon-bei-bot v0.0.0-20240422204629-93fba875ad23/go.mod h1:fJ8Yj32Gs0v2jBKhWKHB0oWKZuMZ9gGBbjFITanMN8E=
|
||||
code.rocket9labs.com/tslocum/etk v0.0.0-20240625183029-399fae94ad9c h1:zIyk8BXf46kD6ABfwc91zrFZ8nYwNl7Pa5H7CIG955U=
|
||||
|
@ -56,8 +56,8 @@ github.com/gorilla/css v1.0.1/go.mod h1:BvnYkspnSzMmwRK+b8/xgNPLiIuNZr6vbZBTPQ2A
|
|||
github.com/gorilla/mux v1.8.1 h1:TuBL49tXwgrFYWhqrNgrUNEY92u81SPhu7sTdzQEiWY=
|
||||
github.com/gorilla/mux v1.8.1/go.mod h1:AKf9I4AEqPTmMytcMc0KkNouC66V3BtZ4qD5fmWSiMQ=
|
||||
github.com/hajimehoshi/bitmapfont/v3 v3.0.0 h1:r2+6gYK38nfztS/et50gHAswb9hXgxXECYgE8Nczmi4=
|
||||
github.com/hajimehoshi/ebiten/v2 v2.7.6 h1:dKM/BdPZP+I/I0ElcqfQ1d06W+kA0nwhUOWzEdEBIbY=
|
||||
github.com/hajimehoshi/ebiten/v2 v2.7.6/go.mod h1:Ulbq5xDmdx47P24EJ+Mb31Zps7vQq+guieG9mghQUaA=
|
||||
github.com/hajimehoshi/ebiten/v2 v2.7.7 h1:FyiuIOZqKU4aefYVws/lBDhTZu2WY2m/eWI3PtXZaHs=
|
||||
github.com/hajimehoshi/ebiten/v2 v2.7.7/go.mod h1:Ulbq5xDmdx47P24EJ+Mb31Zps7vQq+guieG9mghQUaA=
|
||||
github.com/huandu/xstrings v1.2.0/go.mod h1:DvyZB1rfVYsBIigL8HwpZgxHwXozlTgGqn63UyNX5k4=
|
||||
github.com/huandu/xstrings v1.5.0 h1:2ag3IFq9ZDANvthTwTiqSSZLjDc+BedvHPAp5tJy2TI=
|
||||
github.com/huandu/xstrings v1.5.0/go.mod h1:y5/lhBue+AyNmUVz9RLU9xbLR0o4KIIExikq4ovT0aE=
|
||||
|
|
Loading…
Reference in a new issue