perf timing
This commit is contained in:
parent
607c4fe06d
commit
bf841f6ba0
@ -27,7 +27,7 @@ func getKey(pos coords.MapBlockCoords) string {
|
||||
}
|
||||
|
||||
func NewMapBlockAccessor(accessor db.DBAccessor) *MapBlockAccessor {
|
||||
c := cache.New(100*time.Millisecond, 200*time.Millisecond)
|
||||
c := cache.New(500*time.Millisecond, 1000*time.Millisecond)
|
||||
|
||||
return &MapBlockAccessor{accessor: accessor, c: c}
|
||||
}
|
||||
@ -60,6 +60,7 @@ func (a *MapBlockAccessor) FindLegacyMapBlocks(lastpos coords.MapBlockCoords, li
|
||||
for _, l := range layerfilter {
|
||||
if (block.Pos.Y*16) >= l.From && (block.Pos.Y*16) <= l.To {
|
||||
inLayer = true
|
||||
break
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -41,11 +41,11 @@ func (mb *MapBlock) GetNodeName(x, y, z int) string {
|
||||
return mb.BlockMapping[id]
|
||||
}
|
||||
|
||||
func NewMapblock() MapBlock {
|
||||
func NewMapblock() *MapBlock {
|
||||
mb := MapBlock{}
|
||||
mb.Metadata = NewMetadata()
|
||||
mb.BlockMapping = make(map[int]string)
|
||||
return mb
|
||||
return &mb
|
||||
}
|
||||
|
||||
func NewMetadata() *Metadata {
|
||||
|
@ -40,14 +40,14 @@ func Parse(data []byte, mtime int64, pos coords.MapBlockCoords) (*MapBlock, erro
|
||||
offset = 6
|
||||
|
||||
//metadata
|
||||
count, err := parseMapdata(&mapblock, data[offset:])
|
||||
count, err := parseMapdata(mapblock, data[offset:])
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
offset += count
|
||||
|
||||
count, err = parseMetadata(&mapblock, data[offset:])
|
||||
count, err = parseMetadata(mapblock, data[offset:])
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@ -86,5 +86,5 @@ func Parse(data []byte, mtime int64, pos coords.MapBlockCoords) (*MapBlock, erro
|
||||
mapblock.BlockMapping[nodeId] = blockName
|
||||
}
|
||||
|
||||
return &mapblock, nil
|
||||
return mapblock, nil
|
||||
}
|
||||
|
@ -156,30 +156,32 @@ func (tr *TileRenderer) RenderImage(tc *coords.TileCoords, recursionDepth int) (
|
||||
}
|
||||
log.WithFields(fields).Debug("Quad image stats")
|
||||
|
||||
start := time.Now()
|
||||
|
||||
upperLeft, _, err := tr.RenderImage(quads.UpperLeft, recursionDepth-1)
|
||||
if err != nil {
|
||||
panic(err)
|
||||
//return nil, err
|
||||
return nil, nil, err
|
||||
}
|
||||
|
||||
upperRight, _, err := tr.RenderImage(quads.UpperRight, recursionDepth-1)
|
||||
if err != nil {
|
||||
panic(err)
|
||||
//return nil, err
|
||||
return nil, nil, err
|
||||
}
|
||||
|
||||
lowerLeft, _, err := tr.RenderImage(quads.LowerLeft, recursionDepth-1)
|
||||
if err != nil {
|
||||
panic(err)
|
||||
//return nil, err
|
||||
return nil, nil, err
|
||||
}
|
||||
|
||||
lowerRight, _, err := tr.RenderImage(quads.LowerRight, recursionDepth-1)
|
||||
if err != nil {
|
||||
panic(err)
|
||||
//return nil, err
|
||||
return nil, nil, err
|
||||
}
|
||||
|
||||
t := time.Now()
|
||||
quadrender := t.Sub(start)
|
||||
start = t
|
||||
|
||||
img := image.NewNRGBA(
|
||||
image.Rectangle{
|
||||
image.Point{0, 0},
|
||||
@ -211,11 +213,34 @@ func (tr *TileRenderer) RenderImage(tc *coords.TileCoords, recursionDepth int) (
|
||||
draw.Draw(img, rect, resizedImg, image.ZP, draw.Src)
|
||||
}
|
||||
|
||||
t = time.Now()
|
||||
quadresize := t.Sub(start)
|
||||
start = t
|
||||
|
||||
buf := new(bytes.Buffer)
|
||||
png.Encode(buf, img)
|
||||
|
||||
t = time.Now()
|
||||
encode := t.Sub(start)
|
||||
start = t
|
||||
|
||||
tile := mapobjectdb.Tile{Pos: tc, Data: buf.Bytes(), Mtime: time.Now().Unix()}
|
||||
tr.tdb.SetTile(&tile)
|
||||
|
||||
t = time.Now()
|
||||
cache := t.Sub(start)
|
||||
|
||||
fields = logrus.Fields{
|
||||
"X": tc.X,
|
||||
"Y": tc.Y,
|
||||
"Zoom": tc.Zoom,
|
||||
"LayerId": tc.LayerId,
|
||||
"quadrender": quadrender,
|
||||
"quadresize": quadresize,
|
||||
"encode": encode,
|
||||
"cache": cache,
|
||||
}
|
||||
log.WithFields(fields).Debug("Cross stitch")
|
||||
|
||||
return img, buf.Bytes(), nil
|
||||
}
|
||||
|
@ -95,5 +95,4 @@ func TestTileRender(t *testing.T) {
|
||||
f, _ = os.Create("../output/0_0_13.png")
|
||||
bytes.NewReader(data).WriteTo(f)
|
||||
|
||||
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user