From f32648b1440adc4068222f4584983ea39510ed8a Mon Sep 17 00:00:00 2001 From: Hajime Hoshi Date: Sun, 8 Sep 2024 17:48:59 +0900 Subject: [PATCH] internal/restorable: skip adding stale regions when the image doesn't need to be restored --- internal/restorable/image.go | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/internal/restorable/image.go b/internal/restorable/image.go index 85e5a0a7a..d30ef3cb8 100644 --- a/internal/restorable/image.go +++ b/internal/restorable/image.go @@ -233,6 +233,10 @@ func (i *Image) makeStale(rect image.Rectangle) { return } + if !i.needsRestoration() { + return + } + origSize := len(i.staleRegions) i.staleRegions = i.appendRegionsForDrawTriangles(i.staleRegions) if !rect.Empty() { @@ -465,7 +469,7 @@ func (i *Image) readPixelsFromGPUIfNeeded(graphicsDriver graphicsdriver.Graphics } func (i *Image) ReadPixels(graphicsDriver graphicsdriver.Graphics, pixels []byte, region image.Rectangle) error { - if AlwaysReadPixelsFromGPU() { + if AlwaysReadPixelsFromGPU() || !i.needsRestoration() { if err := i.image.ReadPixels(graphicsDriver, []graphicsdriver.PixelsArgs{ { Pixels: pixels,