最近のマイブーム:曲率さくら高速化

最近のマイブーム、「曲率さくら」の高速化。

大本のコード

曲率さくら - jsdo.it - share JavaScript, HTML5 and CSS

toteteroさんの大本のコード。遅いのがもったいない!と思ったので大分前に小手先の高速化をはかったものが以下。

フォークその1

forked: 曲率さくら - jsdo.it - share JavaScript, HTML5 and CSS

まあ、あれです。あれ。
最近JSXで書き直したのが以下。

フォークその2

曲率さくら.jsx forked: 曲率さくら - jsdo.it - share JavaScript, HTML5 and CSS

特別速くなった感じはしない?まあ、JSXは「絶対に遅くならない」ってものらしいし、まだリリースされたばかりだしねえ。これからの最適化には興味津々です。
で、今日またJavaScriptで書き直したのが以下。

フォークその3

forked: 曲率さくら - jsdo.it - share JavaScript, HTML5 and CSS

縦横を固定にするなどイカサマをした……
Firefoxだとずっと滑らかなんだけど、Chromeだと遅くなるなあ……なんでだろう?


uupaa先生のhttp://code.google.com/p/mofmof-js/source/browse/trunk/test/showcase/particle/30000.jsを真似てみたところも多いです。真似られてないところも多いけど。
30000.jsは大変勉強になるのでもっと読んで意味を理解せんといかんのです。


てかその前にちゃんとプロファイリングとかして、闇雲にコード書くのが一番悪いような気が。
あと定量的でないのでFPSとか表示するのが一番なんだろうけど。


書いていて思ったのが、やっぱり高速化したいと思うと読みにくいコードになっていくというか。アセンブリっぽくなっていくというか。でもZ80アセンブリの経験は生かされないw


ちなみに高速化はしたが中身のコードに関しては何をやっているのか未だにわからない……