mirror of
https://github.com/CosmicStar98/bedrocktool.git
synced 2024-06-16 13:59:45 +00:00
54 lines
1.1 KiB
Go
54 lines
1.1 KiB
Go
package worlds_test
|
|
|
|
import (
|
|
"image/png"
|
|
"os"
|
|
"runtime/pprof"
|
|
"testing"
|
|
|
|
"github.com/bedrock-tool/bedrocktool/utils"
|
|
"github.com/df-mc/dragonfly/server/block/cube"
|
|
"github.com/df-mc/dragonfly/server/world/chunk"
|
|
)
|
|
|
|
func Test(t *testing.T) {
|
|
data, _ := os.ReadFile("chunk.bin")
|
|
ch, _, _ := chunk.NetworkDecode(33, data, 6, cube.Range{0, 255}, true, false)
|
|
i := utils.Chunk2Img(ch)
|
|
f, _ := os.Create("chunk.png")
|
|
png.Encode(f, i)
|
|
f.Close()
|
|
}
|
|
|
|
func Benchmark_chunk_decode(b *testing.B) {
|
|
data, _ := os.ReadFile("chunk.bin")
|
|
|
|
cf, _ := os.Create("cpu.pprof")
|
|
err := pprof.StartCPUProfile(cf)
|
|
if err != nil {
|
|
b.Error(err)
|
|
}
|
|
for i := 0; i < b.N; i++ {
|
|
_, _, err := chunk.NetworkDecode(33, data, 6, cube.Range{0, 255}, true, false)
|
|
if err != nil {
|
|
b.Error(err)
|
|
}
|
|
}
|
|
pprof.StopCPUProfile()
|
|
}
|
|
|
|
func Benchmark_render_chunk(b *testing.B) {
|
|
data, _ := os.ReadFile("chunk.bin")
|
|
ch, _, _ := chunk.NetworkDecode(33, data, 6, cube.Range{0, 255}, true, false)
|
|
|
|
cf, _ := os.Create("cpu.pprof")
|
|
err := pprof.StartCPUProfile(cf)
|
|
if err != nil {
|
|
b.Error(err)
|
|
}
|
|
for i := 0; i < b.N; i++ {
|
|
utils.Chunk2Img(ch)
|
|
}
|
|
pprof.StopCPUProfile()
|
|
}
|