package hrend import ( "time" ) // Sum up and average frame times at desired intervals. Average and sum // should be seconds type FrameTimer struct { Sum time.Duration TotalTime time.Duration Count int TotalCount int LastAverage time.Duration } func (ft *FrameTimer) Add(t time.Duration, avgcount int) { ft.Sum += t ft.TotalTime += t ft.Count += 1 ft.TotalCount += 1 if ft.Count%avgcount == 0 { ft.LastAverage = ft.Sum / time.Duration(ft.Count) ft.Sum = 0 ft.Count = 0 } }