正直日記



2007/02/24

_ またタスクシステムかよ
結局、タスクシステムを作り直してた。

これまで一つのリストに全てのタスクを並べていたのに対し、種別ごとにリストを用意
することにした。そうすることで、当たり判定の対象をいちいちリストからサーチする
手間が無くなり、VCOUNTで計測するところの4ライン分くらいは軽くなったかなあ。

種別  判定チェック対象
-----------------------------
自機  →敵・敵弾
ボム  →敵・敵弾
自弾  →敵
アイテム→自機・敵
地上敵 →自弾
敵   →自機・自弾
敵弾  →自機

この7種類があればまあ事足りるよね。あとシステムとかエフェクト用に1つ用意して、
計8つのリストがあればいいんじゃね?という結論に達した。

実行状態にあるタスクへのTCBアドレスの通知方法として、スタックに積むのとグロー
バルなポインタに記しておくのと二通りあると思うのだけど、実測してみたらやっぱり
スタックに積む方が速かった。 TOPPERS/JSPのソースを見てみたらグローバルポインタ
に書いてたけど、ディスパッチャが動作中のタスクを弄る必要があるので、これでいい
んだろう。ゲームに真面目なタスク管理は要らないからスタック処理でいいか。

最新
2010 | 01 04
2009 | 01 02 03 04 05 06 07 09 10 11 12
2008 | 01 02 03 04 05 06 07 08 09 10 11 12
2007 | 02 03 04 05 06 07 08 10 11 12
2006 | 01 02 03 04 05 06 07 08 09 10 11 12
2005 | 01 02 03 04 05 06 07 08 09 10 11 12