2009-04-30

for WinCE

ようやくWinCE(開発用エミュレータ上)で動いた。一番苦労したのはCPU依存が激しかった画像まわり。次にUNICODEとMBCSとの共存。次にAPIやCランタイムライブラリの差異(GetGlyphOutlineが無いのでExtTextOut、std::abs(float)が無いのでstd::fabsf、等)。

問題点。

  • 元の解像度を大分低くしないと遅くて耐えられない。
  • Windows UIの違いから生じる問題のほとんどは手つかず。タイトルバーや下部メニューバー、ウィンドウサイズに関する部分の挙動が不完全。全画面化は出来ない。
  • オーディオ機能は何かエラーが出たので面倒だから無効化した。
  • ムービー機能ははなから無効化した。
  • 高度な画像合成はアルファ合成程度でもかなり遅い。256色時代に戻ったと思えば……。
  • ウィンドウサイズに合わせた伸縮が遅いor汚い。補間すると遅いし、しないと文字がつぶれて読めないし。
  • 右クリック出来ないじゃん。
2009-04-24

Visual Studio 2008でファイルを閉じるのが遅い

とある大きめのプロジェクトで、開いているドキュメントを閉じるのが大変遅くて困っている。プロジェクト内のソースコードでも、新規で作成したテキストファイルでも、Ctrl+F4や×ボタンを押してから消えるまでに7秒くらいかかる。沢山ファイルを開いた状態で「すべてのドキュメントを閉じる」や「終了」を選んだときなどは、もう我慢できないくらい待たされる。仕方ないので終了するときはすべて保存してからプロセスを強制終了させることにした。

ソリューションエクスプローラ内のプロジェクトを一つ一つアンロード状態にしていくと、徐々に閉じる時間が短くなる。でもアンロードしたままだとビルドも出来ないじゃん。

もしやと思いノートンのAuto-Protectを無効にしてみる。すると先ほどまでの遅さがウソのように軽くなった。有効にしたときだけ遅くなるので、原因はこれのようだ。しかし無効にしているとセキュリティーリスクありの赤マークが目立つので鬱陶しい。Auto-Protectは有効にして、「スキャンの除外」設定にプロジェクトのディレクトリを指定した結果、無効にしたのと同じ結果が得られた。

今後、アンチウィルスソフトと開発環境の相性はちゃんと確認すべきかもしれない。例えば、アンチウィルスソフトの有無でコンパイルにかかる時間が変わるかどうかとかも調べてみたい。

2009-04-16

excanvas.jsのtransform

IEでcanvas要素を使えるようにするexcanvas.js。r3以降、transformメソッドが実装されているようなので最新のをtrunkから取ってきて試してみた。おお、ちゃんと倉庫番が表示された。……でもむちゃくちゃ重いよ。一マス動くのに何秒かかっているのか計りたくもない。あまりの重さにタスクマネージャを開いてみたら、仮想メモリサイズ欄が800MB!! これはダメだ……。

クロスブラウザでこういうことをやるんだったらFlash(Flex SDK)でやるべきだよなぁ。手軽さは減るけど。