email@example.com raised this improvement :
That I think we have a very quick win, that can help on perf. Look at Attributes.com getX and setX. you see how many methods and coercsions and eventually map lookup it does, to call get/set here? As even the actual reading of the property, is done via string name lookup. This was done before JSInterop existed, because they wanted to make serialisation work and they needed to preserve names for this (GWT obfusticated). If you @JSType Attributes. you can change that getter and setter to a field, and remove all those isNumber and coercion checks. And we should get a little speed up. It's a 5 minute task If it works for X it'll work for Y. We can do it for other properties that git a lot in draw cycles. like fills and colors and strokes.
it's minor perf.... but it will also give easier to debug code too.