diff options
author | Nigel Tao <nigeltao@golang.org> | 2010-05-11 13:35:16 +1000 |
---|---|---|
committer | Nigel Tao <nigeltao@golang.org> | 2010-05-11 13:35:16 +1000 |
commit | 1f0448201001bc774bc4ce7f6870ffde4818717c (patch) | |
tree | 38709eb704f206e41198b93bf91e9ea9b1e85e37 | |
parent | 03339a24bc08840777d0c72888c9779661fa83bb (diff) | |
download | golang-1f0448201001bc774bc4ce7f6870ffde4818717c.tar.gz |
drawGlyphOver optimization.
Timings (as for change 1122043) go from 49ms to 48ms ish. It's
mostly lost in the noise, but it probably doesn't hurt.
R=r
CC=golang-dev
http://codereview.appspot.com/1179041
-rw-r--r-- | src/pkg/exp/draw/draw.go | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/src/pkg/exp/draw/draw.go b/src/pkg/exp/draw/draw.go index 0589dde5e..dcafc8934 100644 --- a/src/pkg/exp/draw/draw.go +++ b/src/pkg/exp/draw/draw.go @@ -167,10 +167,11 @@ func drawGlyphOver(dst *image.RGBA, r Rectangle, src image.ColorImage, mask *ima continue } ma |= ma << 8 - dr := uint32(dst.Pixel[y][x].R) - dg := uint32(dst.Pixel[y][x].G) - db := uint32(dst.Pixel[y][x].B) - da := uint32(dst.Pixel[y][x].A) + rgba := dst.Pixel[y][x] + dr := uint32(rgba.R) + dg := uint32(rgba.G) + db := uint32(rgba.B) + da := uint32(rgba.A) // dr, dg, db and da are all 8-bit color at the moment, ranging in [0,255]. // We work in 16-bit color, and so would normally do: // dr |= dr << 8 |