examples/video: reduce video FPS

This commit is contained in:
Hajime Hoshi 2024-04-11 22:06:20 +09:00
parent d3befbf89b
commit 6f3f58cb32
2 changed files with 9 additions and 3 deletions

View File

@ -31,9 +31,17 @@ var shibuya_mpg []byte
type Game struct {
player *mpegPlayer
counter int
}
func (g *Game) Update() error {
// Update the video player once per two ticks.
// This indicates to play the video in 30 FPS.
if g.counter % 2 == 0 {
g.player.Update()
}
g.counter++
return nil
}

View File

@ -85,8 +85,7 @@ func newMPEGPlayer(src io.Reader) (*mpegPlayer, error) {
return p, nil
}
// updateFrame upadtes the current video frame.
func (p *mpegPlayer) updateFrame() {
func (p *mpegPlayer) Update() {
p.m.Lock()
defer p.m.Unlock()
@ -119,7 +118,6 @@ func (p *mpegPlayer) updateFrame() {
// Draw draws the current frame onto the given screen.
func (p *mpegPlayer) Draw(screen *ebiten.Image) {
p.updateFrame()
frame := p.currentFrame
sw, sh := screen.Bounds().Dx(), screen.Bounds().Dy()
fw, fh := frame.Bounds().Dx(), frame.Bounds().Dy()