diff --git a/internal/buffered/image.go b/internal/buffered/image.go index 9a9e9cde6..a359722aa 100644 --- a/internal/buffered/image.go +++ b/internal/buffered/image.go @@ -127,11 +127,12 @@ func (i *Image) At(x, y int) (r, g, b, a byte, err error) { if needsToDelayCommands { panic("buffered: the command queue is not available yet at At") } + // If there are pixels that needs to be resolved, use this rather than resolving. Resolving pixels needs + // to access GPU and is expensive (#1137). if i.pixels != nil { idx := i.width*y + x return i.pixels[4*idx], i.pixels[4*idx+1], i.pixels[4*idx+2], i.pixels[4*idx+3], nil } - i.resolvePendingPixels(true) return i.img.At(x, y) }