Merge pull request #262 from snargleplax/rangeTargets

Use slice for range in Drawer.Dirty(), to improve performance
This commit is contained in:
Alex R. Delp 2020-11-21 19:56:25 -08:00 committed by GitHub
commit fd754b5263
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 5 additions and 3 deletions

View File

@ -24,8 +24,9 @@ type Drawer struct {
Triangles Triangles
Picture Picture
targets map[Target]*drawerTarget
inited bool
targets map[Target]*drawerTarget
allTargets []*drawerTarget
inited bool
}
type drawerTarget struct {
@ -46,7 +47,7 @@ func (d *Drawer) lazyInit() {
func (d *Drawer) Dirty() {
d.lazyInit()
for _, t := range d.targets {
for _, t := range d.allTargets {
t.clean = false
}
}
@ -68,6 +69,7 @@ func (d *Drawer) Draw(t Target) {
pics: make(map[Picture]TargetPicture),
}
d.targets[t] = dt
d.allTargets = append(d.allTargets, dt)
}
if dt.tris == nil {