DATE : 2007/03/11 (Sun)
今回開発している BREW アプレットでは、ファイルからのデータ読み込みが重要な役目を担います。ところが、開発初期の頃はとてもファイル読み込みが遅くて使い物になりませんでした。
(;^ω^)1件データを読み込んで処理するのに2、3秒かかっていました。
ところが、少しコードをいじるだけで劇的に速くなりました。
( ^ω^)というわけで、その少しいじった部分をメモしておきます。
ファイルアクセスを速くするには、以下の2つの方法が簡単で効果的です。
- ファイルを開いたら、処理が一段落するまで閉じないようにする。
- ファイルキャッシュサイズを設定する。
ファイルを開いたら、処理が一段落するまで閉じないようにする
ファイルアクセスが遅かった時のコードでは、データを1件処理するごとに、律儀にファイルのオープン、クローズを繰り返していました。そのため、オープン、クローズ処理のオーバヘッドが処理時間に影響していました。
そこで、ファイルのオープン、クローズはデータ単位ではなく、処理単位で行うようにします。リソースに余裕がある場合は、アプレットの終了まで確保し続けても良いかと思います。
(;^ω^)あまりオープン、クローズを繰り返すと、メモリ領域の断片化を誘発しそうですしね。
ファイルキャッシュサイズを設定する
IFILE_SetCacheSize 関数を使用すると、ファイルキャッシュサイズを設定できます。キャッシュサイズの分だけファイルの内容がメモリ上に保持されるので、データへのアクセスが高速になります。
ただし、設定できるキャッシュサイズは選択制(標準・最小・最大・中間)になっていて、最終的にどの程度確保されるかは機種依存です。
参考文献
DATE : 2007/03/05 (Mon)
今日はものすごく強い風で大変な1日でした。
(;^ω^)電車も5時間は遅れてくれましたしね……。
私の背には窓があるのですが、PC を触っていると突如後ろから風が吹き込んできました。
(;゚Д゚)窓が壊れたか!
と思って振り向くと、なぜか扇風機が回っています。そして、その脇には不思議そうに扇風機を見上げる猫の姿が……。
(;´Д`)猫が扇風機のスイッチを入れてしまったようです。
(;^ω^)冬を越えて初めて、扇風機のプラグがコンセントに差しっぱなしだったことに気付きました。
DATE : 2007/03/04 (Sun)
実機で動かすと妙に遅くなる問題ですが、原因が分かりました。
(;^ω^)GPS からの位置情報取得がものすごく遅かったです。
ログを出力して確かめてみたところ、検索処理は1ミリ秒程度で済んでいるのに対して、位置情報取得が10秒ほどかかっています orz
(;´Д`)遅いわけです
(;^ω^)まあ、テスト用に使用している携帯電話は、位置情報の取得を繰り返して要求する場合に合った設定ができないので、時間がかかってしまうのは仕方がないのかもしれません。
DATE : 2007/03/03 (Sat)
昼食にカップラーメンを食べようと、シーフードヌードルを買ってきました。
( ´∀`)シーフードヌードルは、カップラーメンの中でも傑作中の傑作ですね。あの濃い味ながらのどごしの良いスープが最高です。
熱湯を注いで3分。ふたを開けて割り箸をカップに突っ込みます。
割り箸が何かに刺さりました。麺が全然ふやけていません。
(;゚Д゚)お湯じゃなくて、これは水じゃないか……。
沸騰したのを確認せずにポットからお湯を注いだのが間違いでした orz
とりあえず、固形状の麺を割ろうと割り箸を何度も突き立てますが、らちが明きません。しかし、麺をひっくり返してみると、裏側はわずかにふやけています。そこで、わずかに温度の上がったお湯を少し継ぎ足してしばらく待つことにしました。
数分後、再び割り箸を突っ込んでみると……
全体がふやけていましたヽ(゚∀゚)メ(゚∀゚)メ(゚∀゚)ノ
(;´Д`)ただ、ところどころに硬さが残っていました。また、割り箸を何度も突き立てたせいで、ベビースターラーメンのような短い麺になっていました。
(;´∀`)ちなみに味は、確かにシーフードヌードルでした。ただ、スープがとてもぬるいので、違和感しか感じられませんでした。
(;^ω^)まあ、慣れればおいしく感じられる味ではありました。
(;^ω^)慣れたくはありませんけど。
DATE : 2007/02/18 (Sun)
Wii にも対応していると言うので、「
PC で試した時には物足りないインタフェースでしたが、Wii で試すとちょうどいいインタフェースでした。
実際に Wii で PC 向けのサービスを使ってみると分かるのですが、Wii では文字入力がとても不便です。ソフトウェアキーボード上にリモコンを向けてタイプすることになるのですが、手ブレなどで少しずれると違う文字が入力されてしまいます。
(;^ω^)大きいテレビを使えという話はナシです……。
もちろん、従来のコントローラと比べると入力ははるかに楽です。ただ、相変わらず慣れが必要なインタフェースであることに変わりはありませんでした。
(;´∀`)Wii の特徴のひとつに、コントローラでは複雑になる操作を直感的にしたということが挙げられると思うのですが、文字入力に関してはまだまだ直感的ではありません。
(;^ω^)DS のペン入力の場合、タッチスクリーンにタッチする方向と重力の方向が同じなので、ソフトウェアキーボードでの入力も Wii と比べて楽です(手書き入力の場合はさらに楽です)。Wii の場合は両者が交差する形になるので、どうしても手ブレの影響が大きく出てしまいます。
また、適当に動画を流しっぱなしにできるという点も Rimo の特徴だと感じました。もともとテレビは受信者側が操作する部分が少ないメディアなので、テレビ + Wii で Rimo を使うと実に快適です。コタツに寝転がりながら動画を楽しめます。まさに、YouTube チャンネルといった具合です。
ただ、シンプルなインタフェースゆえに、「あの○○の動画を見たい」という場合には非常に不便です。目的の動画が出てくるまで延々と動画をスキップしていかなければなりません。ただ、○○が分かっているのであれば、 YouTube で検索すればいいだけの話です。
その点を考えると、目的を持って動画を見るなら YouTube、目的なしに動画を見るなら Rimo と、使い分けができそうです。