Repo

kjana00@gmail.com

older <-

2010-09-04 01:11:46

今朝はくもり。朝ごはんはパンとソーセージとゆでたまごとサラダ。何だか午前中に一雨来そうな雲だなと思いつつ仕事場へ。その割に、あんまり涼しくないな……

プロファイリングしようとするとまたリンカスクリプトだの提供ライブラリだのいじらなきゃならなくて面倒臭そう、トレースは多分ライセンス無いか何かで使えない、となると昨日見つけておいたブレークポイントで止まったところで計測値を捕捉出来るタイマを使った実行サイクル数計測コマンドを使うしかないみたいね。そういうことで ICE 用にスクリプトを書いて、はまる。

コマンドラインだとちゃんと動くんだけどなと思いつつ何度か走らせて見てると、コンソースに "Not allowed, process is running." だか逆順だったか、そんな警告が出てるのが目に止まる。スクリプト書く時に眺めてたコマンド一覧で、次にブレークポイントなり割り込みなり GUI 上でのストップ操作なりで止まるまで制御を返さない r だの c だのあったなというのを思い出すに、まさにブレークポイントに達する前に計測コマンド発行しちゃってるんじゃないのかこれはという感じ。……ん、直った。これで安心して調べられる。そういうことで適当にログを取って、こんな感じのものが見えるけどどうでしょうと打診。

返事が返ってくる前にもうちょっと長めにログを取ってみておいて、脇で複数モジュール対応のためにデバッグ出力モジュールをいじり出す。インターリーブさせる分についてはデータ詰めるバッファの使い分けだけ実装しておいたけど送信タイミングについては手付かずのままだし、インターリーブさせない分についてはちゃんと自分が送信していいのかどうか確認してから送信するようにしないといけない。ついでにその送信していいモジュールを指定するコマンドの処理も付け加えないといけない。

コマンドの処理だのバッファの使い分けの付け足しだのはあっさり出来て、送信タイミングの変更でしばらく悩んだり。現コードをあんまりいじりたくないもんだから、switch 分の各 case で自分がそのメッセージを送っていいタイミングでなかったら break っていうのをマクロで挟むことにしたんだけど、そのマクロの中で判断してる条件がなかなか正しくならなくて。

まあ落ち着いて考えたらそんなに難しいわけでもなしっていうことで、一応出来たつもりになれるぐらいには仕上がった。その裏で、データとしてはそれでいいけど実行のシナリオはこんな感じでと実行サイクル数計測の方に注文が付いてたんで、そういうシナリオを作ってデータを取るというのも何とか出来た。実時間で一時間走らせたのが実機での 30 秒分に満たないっていうのは辛いですね。……面倒臭くてもプロファイリング出来るようにするべきだったかな……まあそれはともかく出来上がったんで結果と材料を適当にまとめて知らせておく。

それで今日はこんなもんでしょうということで帰る。代休突っ込んだから三連休。もうちょっとかかるかと思ってた作業がさくっと片付いたんでずいぶん気楽な感じ。それで一休みしてから晩ごはんに肉豆腐。水菜はほとんど火を通さなくていいっていうのは確かだけど、ちょっと生過ぎたような。別に生だと食べられないっていうわけでもないから問題無いって言えばそうなんだけど。十分おいしかったし。ともするとべたっとしかねないところにさっぱり、しゃっきりした食感が入るから。

後は WWW 見たりゲームしたり。最初にとんでもなくぼろ負けしたからそのままストレートに負けるかと思ったら何とか巻き返したとか、久しぶりに吟遊詩人でワーグを殲滅するところまで進めてみたとか。レベルがずっと上がるといきなり楽になるんだけど、そこまで持って行くのが大変だよね……

older <-

goto

hint can be:

Tags

old

2007-05 -- 2006-12

ゲーム関係の古い記録

before 2005-12