Reduce terminal progress fps to 10

This commit is contained in:
Michael Eischer
2025-10-04 17:34:40 +02:00
parent a2a49cf784
commit 4759e58994
2 changed files with 10 additions and 1 deletions

View File

@@ -0,0 +1,9 @@
Enhancement: Reduce progress bar refresh rates to reduce energy usage
Progress bars were updated with 60fps which can cause high CPU or GPU usage
for some terminal emulators. Reduce it to 10fps to conserve energy.
In addition, this lower frequency seem to be necessary to allow selecting
anything in the terminal with certain terminal emulators.
https://github.com/restic/restic/issues/5383
https://github.com/restic/restic/pull/5551

View File

@@ -13,7 +13,7 @@ import (
// or if unset returns an interval for 60fps on interactive terminals and 0 (=disabled)
// for non-interactive terminals or when run using the --quiet flag
func CalculateProgressInterval(show bool, json bool, canUpdateStatus bool) time.Duration {
interval := time.Second / 60
interval := time.Second / 10
fps, err := strconv.ParseFloat(os.Getenv("RESTIC_PROGRESS_FPS"), 64)
if err == nil && fps > 0 {
if fps > 60 {