mirror of
https://github.com/hajimehoshi/ebiten.git
synced 2025-01-13 04:22:05 +01:00
Add a benchmark + fix sub image allocations
This commit is contained in:
parent
30157b5dea
commit
1dd96726c4
@ -27,10 +27,11 @@ type glyphAtlas struct {
|
||||
type glyphImage struct {
|
||||
atlas *glyphAtlas
|
||||
node *packing.Node
|
||||
img *ebiten.Image
|
||||
}
|
||||
|
||||
func (i *glyphImage) Image() *ebiten.Image {
|
||||
return i.atlas.image.SubImage(i.node.Region()).(*ebiten.Image)
|
||||
return i.img
|
||||
}
|
||||
|
||||
func newGlyphAtlas() *glyphAtlas {
|
||||
@ -54,6 +55,7 @@ func (g *glyphAtlas) NewImage(w, h int) *glyphImage {
|
||||
return &glyphImage{
|
||||
atlas: g,
|
||||
node: n,
|
||||
img: g.image.SubImage(n.Region()).(*ebiten.Image),
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -15,6 +15,7 @@
|
||||
package text_test
|
||||
|
||||
import (
|
||||
"bytes"
|
||||
"image"
|
||||
"image/color"
|
||||
"regexp"
|
||||
@ -23,6 +24,7 @@ import (
|
||||
|
||||
"github.com/hajimehoshi/bitmapfont/v3"
|
||||
"golang.org/x/image/font"
|
||||
"golang.org/x/image/font/gofont/goregular"
|
||||
"golang.org/x/image/math/fixed"
|
||||
|
||||
"github.com/hajimehoshi/ebiten/v2"
|
||||
@ -371,3 +373,23 @@ func TestDrawOptionsNotModified(t *testing.T) {
|
||||
t.Errorf("got: %v, want: %v", got, want)
|
||||
}
|
||||
}
|
||||
|
||||
func BenchmarkDrawText(b *testing.B) {
|
||||
var txt string
|
||||
for i := 0; i < 32; i++ {
|
||||
txt += "The quick brown fox jumps over the lazy dog.\n"
|
||||
}
|
||||
screen := ebiten.NewImage(16, 16)
|
||||
source, err := text.NewGoTextFaceSource(bytes.NewReader(goregular.TTF))
|
||||
if err != nil {
|
||||
b.Fatal(err)
|
||||
}
|
||||
f := &text.GoTextFace{
|
||||
Source: source,
|
||||
Size: 10,
|
||||
}
|
||||
op := &text.DrawOptions{}
|
||||
for i := 0; i < b.N; i++ {
|
||||
text.Draw(screen, txt, f, op)
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user