From dee8cc9848ecf7a8ac496a75c5d051e95b22732b Mon Sep 17 00:00:00 2001 From: Rose Hogenson Date: Mon, 26 Aug 2024 21:30:58 -0700 Subject: Use time.Ticker. --- pongo.go | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/pongo.go b/pongo.go index 01c6a8d..70910ee 100644 --- a/pongo.go +++ b/pongo.go @@ -155,7 +155,9 @@ func pong() error { lastFrameTime := time.Now() accumulator := time.Duration(0) - for { + renderRate := time.NewTicker(time.Second / 60) + defer renderRate.Stop() + for frameStart := range renderRate.C { for event := sdl.PollEvent(); event != nil; event = sdl.PollEvent() { switch t := event.(type) { case *sdl.QuitEvent: @@ -170,7 +172,6 @@ func pong() error { } } - frameStart := time.Now() accumulator += frameStart.Sub(lastFrameTime) lastFrameTime = frameStart @@ -271,8 +272,8 @@ func pong() error { } renderer.Present() - time.Sleep(time.Second/60 - time.Since(frameStart)) } + panic("unreachable") } func main() { -- cgit v1.3.1