@@ -4,13 +4,22 @@ import (
4
4
"flag"
5
5
"github.com/tdewolff/canvas"
6
6
"log"
7
+ "os"
8
+ "runtime/pprof"
7
9
8
10
"github.com/aldernero/sketchy"
9
11
"github.com/hajimehoshi/ebiten/v2"
10
12
)
11
13
14
+ func setup (s * sketchy.Sketch ) {
15
+ // Setup logic goes here
16
+ }
17
+
12
18
func update (s * sketchy.Sketch ) {
13
19
// Update logic goes here
20
+ //if s.DidControlsChange {
21
+ // setup(s)
22
+ //}
14
23
}
15
24
16
25
func draw (s * sketchy.Sketch , c * canvas.Context ) {
@@ -21,10 +30,19 @@ func main() {
21
30
var configFile string
22
31
var prefix string
23
32
var randomSeed int64
33
+ var cpuprofile = flag .String ("pprof" , "" , "Collect CPU profile" )
24
34
flag .StringVar (& configFile , "c" , "sketch.json" , "Sketch config file" )
25
35
flag .StringVar (& prefix , "p" , "" , "Output file prefix" )
26
36
flag .Int64Var (& randomSeed , "s" , 0 , "Random number generator seed" )
27
37
flag .Parse ()
38
+ if * cpuprofile != "" {
39
+ f , err := os .Create (* cpuprofile )
40
+ if err != nil {
41
+ log .Fatal (err )
42
+ }
43
+ pprof .StartCPUProfile (f )
44
+ defer pprof .StopCPUProfile ()
45
+ }
28
46
s , err := sketchy .NewSketchFromFile (configFile )
29
47
if err != nil {
30
48
log .Fatal (err )
@@ -36,6 +54,7 @@ func main() {
36
54
s .Updater = update
37
55
s .Drawer = draw
38
56
s .Init ()
57
+ setup (s )
39
58
ebiten .SetWindowSize (int (s .ControlWidth + s .SketchWidth ), int (s .SketchHeight ))
40
59
ebiten .SetWindowTitle ("Sketchy - " + s .Title )
41
60
ebiten .SetWindowResizingMode (ebiten .WindowResizingModeDisabled )
0 commit comments