frame pacing fix

This commit is contained in:
Dmitry Sergeev
2026-09-02 00:39:30 +03:00
parent da5ff8ea4a
commit b8cb750fb4
5 changed files with 118 additions and 1 deletions
+29
View File
@@ -0,0 +1,29 @@
package main
import (
"testing"
"time"
)
func TestRemainingFrameTime(t *testing.T) {
start := time.Date(2026, time.September, 2, 0, 0, 0, 0, time.UTC)
interval := 16 * time.Millisecond
tests := []struct {
name string
elapsed time.Duration
want time.Duration
}{
{name: "no work", want: interval},
{name: "partial budget", elapsed: 5 * time.Millisecond, want: 11 * time.Millisecond},
{name: "exact budget", elapsed: interval},
{name: "over budget", elapsed: 20 * time.Millisecond},
}
for _, test := range tests {
t.Run(test.name, func(t *testing.T) {
got := remainingFrameTime(start, start.Add(test.elapsed), interval)
if got != test.want {
t.Fatalf("remainingFrameTime() = %v, want %v", got, test.want)
}
})
}
}