From efefb3614bf1dad2972e37ef2070484fc18f9512 Mon Sep 17 00:00:00 2001 From: iegod Date: Mon, 20 Nov 2023 00:28:59 -0500 Subject: [PATCH] Moved font loading external to Draw call. Should improve performance. --- geometry/grid.go | 1 - tools/scoreManager.go | 13 +++++++++++-- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/geometry/grid.go b/geometry/grid.go index ce92cb7..b218a67 100644 --- a/geometry/grid.go +++ b/geometry/grid.go @@ -96,7 +96,6 @@ func BuildGrid(numRows int, numColumns int) { //assign random colours to a subset of all squares squaresToColour := min(numColumns, numRows) - usedPositions := make([]Pair, squaresToColour) coloredSoFar := 0 for i := 0; i < squaresToColour; i++ { diff --git a/tools/scoreManager.go b/tools/scoreManager.go index f5a566f..2a3b80a 100644 --- a/tools/scoreManager.go +++ b/tools/scoreManager.go @@ -26,7 +26,7 @@ func (sm *ScoreManager) Draw(screen *ebiten.Image) { //highScoreStr := fmt.Sprintf("High Score: %v", highScore) levelStr := fmt.Sprintf("Level: %v", geom.CurrentLevel) - face := assets.LoadFontFace("fonts/robot.otf", 12) + face := FaceA //assets.LoadFontFace("fonts/robot.otf", 12) //draw high score (i.e. best level) //stringWidth := font.MeasureString(face, highScoreStr).Ceil() @@ -38,8 +38,17 @@ func (sm *ScoreManager) Draw(screen *ebiten.Image) { //draw energy at the top energyStr := fmt.Sprintf("Energy: %v", geom.CurrentEnergy) - face = assets.LoadFontFace("fonts/robot.otf", 20) + face = FaceB // assets.LoadFontFace("fonts/robot.otf", 20) stringWidth := font.MeasureString(face, energyStr).Ceil() text.Draw(screen, energyStr, face, w/2-stringWidth/2, geom.ScoreOffset, color.White) } + +var ( + FaceA, FaceB font.Face +) + +func init() { + FaceA = assets.LoadFontFace("fonts/robot.otf", 12) + FaceB = assets.LoadFontFace("fonts/robot.otf", 20) +}