dskinner / material

material design for gomobile [DISCONTINUED]
BSD 2-Clause "Simplified" License
88 stars 7 forks source link

Profiling #4

Closed joeblew99 closed 8 years ago

joeblew99 commented 8 years ago

Cool project. I am interested in hotspot profiling this to see if we can get its fps higher.

Any ideas ? Pprof runs on mobile ?

dskinner commented 8 years ago

There are some places to start looking

As I write this out, most everything really needs a look over. Changes need to consider how it plays into material design specification.

I produced this pprof svg on desktop but it mostly read like cgo overhead so it may be that a need is to focus on reducing overall calls, but my initial impression of that is its not making that many calls.

(click download in top bar and then open downloaded file, google drive doesn't render svg well) https://drive.google.com/a/dasa.cc/file/d/0B6hxg-gC2Uz_YkNtZ3FOYTQ3bEk/view

Bear in mind the example app in pkg snd has some real time synthesis going on as well, but in general, this hasn't been a problem and it doesn't skip a beat due to graphics.

Sorry for the vague starting point but that's about all I have to go off at the moment as well. The first two places I'd start are my first two bullet points as those should probably happen regardless.

joeblew99 commented 8 years ago

ok. Might be worth thinking about it at a higher level. Have you tried out shiny instead of gomobile ? https://godoc.org/golang.org/x/exp/shiny

gomobile is dead code, and the go core team have stated that shiny is the "one true way".

dskinner commented 8 years ago

Have you tried out shiny instead of gomobile ?

shiny doesn't work on mobile but is still a goal for this package

gomobile is dead code

It's actually pretty active. x86 support on android was seen recently including the tooling in gomobile to build such, for but one example.

and the go core team have stated that shiny is the "one true way"

I don't know what you're quoting here. In the future, gomobile will likely be using shiny for running on desktop. shiny is already using gomobile pkgs for things like events. There's overlap.

joeblew99 commented 8 years ago

I saw that model yao has started setting up for shiny and Material design to work together.

I am using vanadium ( Google golang ) project for a work project. Vanadium team currently uses flutter / dart for the GUI, but it looks like golang is slowly getting to the point of being able to build UI.

You should have a chat to the vanadium guys..