タスクシステム総合スレ part2at GAMEDEV
タスクシステム総合スレ part2 - 暇つぶし2ch154:名前は開発中のものです。
08/05/25 23:59:22 vQVRM4Hf
俺の考えなしな書き込みのせいで、
タスクとコルーチンが対立項として扱われてる感じで、なんかゴメン
今までの流れから自分がどっちに行きたいのか整理してみると、こんな感じ

・タスク(あるいはオブジェクト指向による代替タスク)は有用だ。それはもちろん
・ただし、イベントドリブン主体であることには欠点もある。>>130のような負担ね
・コルーチンを併用すればそれを補えるかも知れない

例えばもし次のような実装が手元にあって、簡単にイベントドリブンとコルーチンを
使い分けられるなら、早く仕事がこなせる方をケースバイケースで選びたいよね

class Task {
public:
  //サブクラスでonFrameTimer()をインプリメントすると毎フレームコールバック処理が行えます
  virtual void onFrameTimer() {}

  //サブクラスでcoroMain()をインプリメントすると関数がコルーチンとして起動されます
  //yield()でメインルーチンへ処理が戻り、次フレームで再開(resume)、を繰り返します
  virtual void coroMain() {}
}

実際にこんなC++実装が手元にあれば、みんな使う?

>>151氏あたりは既に使ってそうだけど、俺は使わない、もしくは迷うと思う。
実行コンテキスト切り替えコードは大抵アセンブリで速いけど移植性がないし、
他人に引き継ぎしずらいし(普及してないから)、ノウハウが無ければケアレスミスで簡単にスタックあふれるし。
だけどオールドスタイルのタスクもとてもストレスがたまるんだ

じゃあどうしたい、どうしたらいい、って話を、俺と同じように
現状のタスクに(意識的、または無意識的に)ストレス感じてる人に聞いてみたかったんだ


次ページ
続きを表示
1を表示
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch