結局、タスクシステムを作り直してた。 これまで一つのリストに全てのタスクを並べていたのに対し、種別ごとにリストを用意 することにした。そうすることで、当たり判定の対象をいちいちリストからサーチする 手間が無くなり、VCOUNTで計測するところの4ライン分くらいは軽くなったかなあ。 種別 判定チェック対象 ----------------------------- 自機 →敵・敵弾 ボム →敵・敵弾 自弾 →敵 アイテム→自機・敵 地上敵 →自弾 敵 →自機・自弾 敵弾 →自機 この7種類があればまあ事足りるよね。あとシステムとかエフェクト用に1つ用意して、 計8つのリストがあればいいんじゃね?という結論に達した。 実行状態にあるタスクへのTCBアドレスの通知方法として、スタックに積むのとグロー バルなポインタに記しておくのと二通りあると思うのだけど、実測してみたらやっぱり スタックに積む方が速かった。 TOPPERS/JSPのソースを見てみたらグローバルポインタ に書いてたけど、ディスパッチャが動作中のタスクを弄る必要があるので、これでいい んだろう。ゲームに真面目なタスク管理は要らないからスタック処理でいいか。