タスクシステム総合スレ part4at GAMEDEVタスクシステム総合スレ part4 - 暇つぶし2ch■コピペモード□スレを通常表示□オプションモード□このスレッドのURL■項目テキスト45:名前は開発中のものです。 09/02/04 21:49:37 mLZ417D5 >39 protothreadはコンテキスト保存してないよ。 46:名前は開発中のものです。 09/02/04 23:51:04 Tig/dZbl >>32 親切心から、敢えてコメントさせてもらうと・・・ アマチュアゲームプログラマ未満だな。 まともにゲーム製作を経験した人間が書いた記事とは、到底思えない。 これ誉めちぎっている奴の狙いって何なんだろ。 一部の明らかにテンションが違う応援団は、スルーするのが基本なのか? 47:名前は開発中のものです。 09/02/04 23:58:11 iOg8fZiC ほめちぎってる応援団なんてどこにいるんだ 48:名前は開発中のものです。 09/02/05 00:10:20 e5oU/vxX >>46 是非、どこかのブログで反論頼む! 49:名前は開発中のものです。 09/02/05 00:31:46 9DTLfrVW やねう先生の近代的なタスクの話を読んでみたけど、 boost::shared_ptrとかunordered_mapとか実装が近代的というだけで、 やってることは古典的だよね(そういう趣旨だから当然だけど)。 ってことで、Mix-in好きのオレが近代的なタスクを考えてみた。 古典的タスクシステムをupdate巡回リストであると仮定すると、 タスクとはすなわちフレームをまたいだ継続的処理の抽象化だと考えることができる。 継続処理を今風に考えれば以下の3種類に分かれるはずで、 どれが良いかはケースバイケースで異なる。 //(1)毎フレーム呼ばれる古き良きタスク(負荷が小さい。排他処理不要) class PeriodicalTask { public: virtual void update() = 0; }; //(2)コルーチン動作するタスク(負荷は中程度。排他処理不要) class CooperativeTask { public: CooperativeTask(size_t stackSize); virtual int call() = 0; }; //(3)ネイティブスレッド動作するタスク(負荷が大きい。排他処理必須) class PreemptiveTask { public: PreemptiveTask(size_t stackSize); virtual int start() = 0; }; 次ページ最新レス表示レスジャンプ類似スレ一覧スレッドの検索話題のニュースおまかせリストオプションしおりを挟むスレッドに書込スレッドの一覧暇つぶし2ch