退くべきかどうか、それが問題だ

さて、ぱずぷれv3のIEでの描画をこれ以上高速化できないかと考えていると、
こないだアンテナに追加したuupaaさんが作成していらっしゃる
uupaa-excanvas.jsを使う方向に行くわけなのです。
 
これは、excanvasと同じものを使って描画できるのですが
Silverlightプラグインというものが入っているとより高速化して描画ができるのです。
どうもWebブラウザ上でいろいろできるみたいで、Flashあたりの対抗技術とされているらしい。
Officeとかどう作るねん、とか書いたけどこれ使うつもりなのでしょうね。。
 
さて、これを使うとどれだけ高速化するかと言いますと、24×14のへやわけで測ってみたらこんな感じ。
         通常の再描画 ウィンドウサイズ変更時
 excanvas(従来)   442ms  1521ms
 uupaa(VMLモード) 431ms  1161ms
 uupaa(Silverlight)  214ms   220ms
 
・・・!これは、だいぶ速くなっている!他ブラウザとの比較でもそれなりにマシになりますね
SilverlightってWindows2000以降しか入れられないですけど、
別にそれ入らなくても今までと同じでいけるみたいだし。
 
しかし、現時点でSilverlightを使っている時に問題点が2点ほどあります。
1つは、サイズを小さくしたら、描画領域が大きくなったまま小さくならないという点です。
ただ、これはそもそもなんとなく、自分のコードの仕様検討不足っぽく見えるという点や、
盤面サイズの拡大・縮小や変更動作がレアと言うことも考えると、まだ制限事項でも良さそう。
 
しかし困ったことはもう一つの問題点で、Silverlight使用時に描画領域をクリックしたら
キーボード操作が効かなくなってしまうと言うところです。
これはキーボードのイベントハンドリング対象がブラウザではなくSilverlightプラグイン
いってしまうという点にあるようで、Silverlightのキー入力処理をいじらないとダメっぽいですね。。
なので取り敢えずこの改良版の投入は様子見中です。。
 
ちなみにuupaa-excanvas使ったサンプルアプリがuupaaさんのところにあるのでリンクしてみる。
canvas + layer + ついったー - latest blog