トップページgamedev
1001コメント469KB

タスクシステム総合スレ part9

■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。2009/12/13(日) 18:11:06ID:ESt66YNz
タスクシステムについての議論、相談、質問、雑談などのスレです

part8 http://pc11.2ch.net/test/read.cgi/gamedev/1250678891/
part7 http://pc11.2ch.net/test/read.cgi/gamedev/1241670786/
part6 http://pc11.2ch.net/test/read.cgi/gamedev/1238725539/
part5 http://pc11.2ch.net/test/read.cgi/gamedev/1234977661/
part4 http://pc11.2ch.net/test/read.cgi/gamedev/1233459490/
part3 http://pc11.2ch.net/test/read.cgi/gamedev/1226199100/
part2 http://pc11.2ch.net/test/read.cgi/gamedev/1196711513/
part1 http://pc11.2ch.net/test/read.cgi/gamedev/1173708588/


・タスクと呼ばれる実装は、非常に多岐に渡ります
 古典タスクシステムについての話題は「>>2」と明示してください
 そうでない場合はカスタム版であることを明示してください

・人を憎んで言語を憎まず
0501名前は開発中のものです。2010/02/04(木) 01:24:38ID:8Fl7u3Rw
「別にアンタ(自機)のために往くんじゃないから。勘違いしないで」 
「これで私も一人前の飛翔体だから。半人前扱いしないで」
「もう行くから。金輪際アンタと私は赤の他人だから。バイバイ」
自弾はそう言い残し敵に体当たりして名誉の戦死を遂げ
遺族への報償金は自機の銀行口座にふり込まれた



ここまで読んだ
0502ID:bErugn9a2010/02/04(木) 01:55:43ID:KMqiOHV1
>>501
いや「自機の銀行口座」ではない
自機の上位の存在、世界の創造主、調停者、神、ゲームクラスが“管理”する銀行口座だ
というのが>>489

それはつまり神が“管理”する自機の銀行口座 ということだろ、というのが俺。>>491
自機というのは別に1Pで置換しても可。銀行口座は積立口座で置換しても可。

1P・2P協力プレー可能な縦STGなら神は複数の積立口座を“管理”するんだろ。
誰の積立口座なのかを識別する情報が必ずそこにある。1Pの口座、2Pの口座。
1Pに関する情報、2Pに関する情報。
0503名前は開発中のものです。2010/02/04(木) 09:33:26ID:umXdUc81
>>500
ヒント:このスレはヲチされておりますw
0504ハry2010/02/04(木) 21:42:38ID:SJJT8x69
お前ら少なくともタスクシステムの話しろって。親子関係とかマジどうでも良すぎる。
お前ら本当は頭悪いだろ。俺もそんなに良い方じゃないのに、お前らどうするの?
俺が情報系の学科選んだのも、他学科よりも合格偏差値が低かったからだしなぁ。
おっと、自己紹介はここまで。
さっきから自己紹介の粋を出て無い会話が永遠と続いているから
俺もつい自己紹介したくなった。
0505名前は開発中のものです。2010/02/04(木) 21:47:40ID:YTrJV+xt
http://d.hatena.ne.jp/yaneurao/20090203

これ読みづらくて意味わかんない。。。
0506名前は開発中のものです。2010/02/04(木) 21:50:28ID:SJJT8x69
はたから見てて、何をもめてるのかさっぱり意味不明なんだが。
ESPの範囲外。道端の石ころにさえ気を配る俺を置いてけぼりにするとは、
なかなかやるなー。頭痛が痛いから珍しく放置に放って置く。
0507名前は開発中のものです。2010/02/04(木) 21:59:39ID:SJJT8x69
>>505
意味の無いものに意味を見出すためには、
頭を強打するか、悪い薬でもする必要がある。
0508名前は開発中のものです。2010/02/04(木) 22:01:41ID:bJyIuZOF
>>505
読み辛いか?
確かにC++の文法(特にtemplate周り)や型操作、
現代の一般的なコンピュータのアーキテクチャ(メモリの動的な確保のコスト、マルチスレッドや実行の並行性)
に関する知識がないと分からないと思うが
それらは今一般的なコンピュータ上で製作時及び実行時に効率良く動くプログラムを作る上で必須。
使えるものを最大限に利用して徒労を回避するのは当たり前の思考だし、
低レイヤーな部分を記述できるC++でそれを実装しようという試みも間違ってない。
0509名前は開発中のものです。2010/02/04(木) 22:08:28ID:wLvdZIgG
>>508
PG脳だな
相手の望むものを意図的にズラして自分の有利なように話ししてるだけじゃん
お前>>505の問題を解決するようなレスじゃねーし
>>508の内容がすべていいわけを敷き詰めて「リンク先は間違ってねぇ!」っていいはってるけど
実際読みづらいと感じた人間にそんなレス付けて君は一体どうしたいのかね?w
0510名前は開発中のものです。2010/02/04(木) 22:12:28ID:bJyIuZOF
うん、分からない言葉が出てきたらぐぐろうね。
0511名前は開発中のものです。2010/02/04(木) 22:13:47ID:SJJT8x69
>>508
本を本棚に置くために必要な時間は、何回か反復すれば、すぐに見積もれるようになる。
しかし、本棚の整理整頓術は、なかなか身につかないものなんだよ。
特に間違ったOOPやデータ構造主体で物を考えてるうちは。
プログラムの主体はあくまで制御構造であるということや、
モジュールは機能ごとに構築するのが基本だという、
そこいらへんね。理解しなきゃどつぼにはまる。
0512名前は開発中のものです。2010/02/04(木) 22:16:58ID:SJJT8x69
ホワイトノイズに音楽性を見出せといわれてもなぁ。
スピーカー(話し手)の歪を測定するのには最適だが。
0513名前は開発中のものです。2010/02/04(木) 22:24:52ID:bJyIuZOF
これがホワイトノイズだと思うのは単に理解が足りないだけだよ。
俺の書いてる事にタスクシステムに対する生産性はないからやねうらおの記事をわかるまで読んでみるといい。
古典タスクシステムでネックになっていた特定のタスクへのアクセスが
メモリに最適なリニアサーチ、実行時間に最適なハッシュによる検索、古典ではこれ以上できなかった両者のアルゴリズムよりも
有利な実装ができる。
そういう探求が記してあるだけなのに何をそんなに攻撃的になっているんだ?
0514ID:SJJT8x69 あくきん2010/02/04(木) 22:41:12ID:eaHxFLwl
>>513
そんなもんは普通の脳みそ持ってる奴だったら半年、
遅い奴でも3年ありゃ習得できんだよ。
足下ら先にもう一歩踏み出せるかが重要なんだ。
大体お前、検索が遅いなら事前にインデックス作っとくとか、そんなの当たり前すぎるだろ。
何をいまさら。
型ごとに列挙したいなら、型ごとにリストつくっときゃいいじゃん。
Type値ごとに列挙したいなら、Type値ごとにリストつくっときゃいいじゃん。
配列の空きIndexを高速に見つけたいなら、空きIndexリストつくっときゃいいじゃん。
3分で思いつくことだろー
0515名前は開発中のものです。2010/02/04(木) 23:06:50ID:wLvdZIgG
>>514
同意
まったく無駄だよね

しかもこんなくだらんことわけわからん単語使わなきゃ説明できないとか
自分を過大評価しすぎだろw
酔ってる自分をみる他人の目とかちょっと考えれば恥かしくて表でれないレベル
0516名前は開発中のものです。2010/02/04(木) 23:31:53ID:GbnLg6h5
典型的な>>3の論理でワロタw
0517名前は開発中のものです。2010/02/04(木) 23:38:59ID:H9tFotfP
boost::unordered_map<type_info*,std::list<Task*> > tasksList;

struct PseudoIterator
{
std::list<Task*> container;
std::list<Task*>::iterator iterator;

void erase() { container.erase(iterator); }
};
boost::unordered_map<Task*,PseudoIterator> taskToIterator;



んー
0518名前は開発中のものです。2010/02/04(木) 23:42:26ID:RNNw5Qiv
PCエロゲワールドの貴公子であらせられる自称高額納税者のアレは
リソース制限の緩々な微温湯プラットフォームの小山の大将なんだからさ
彼がタスクシステム云々なんて話を始めるときは眉に唾をたっぷり付けて
聞いとき
0519名前は開発中のものです。2010/02/04(木) 23:51:30ID:TO/fep7E
大手でプログラマやってるけどコンシューマ機でboostやtemplate使うチームは間違いなく大量のバグを生産してる
0520名前は開発中のものです。2010/02/04(木) 23:53:44ID:RNNw5Qiv
Codezineの記事(出た当初からSTGスレで散々に言われてた)を参考として
リンクしてる辺りであのPCエロゲ屋の理解のほどを察してやれよ

ゲームオブジェクト(エンティティ)を格納したコンテナとその操作についての
お話に終始しておきながら、これタスクの話です近代的なタスクのシステム
なんですね、などと得意げにどや顔するPCエロゲ屋の姿を想像してごらん
なかなかハートウォーミングだろう
0521名前は開発中のものです。2010/02/05(金) 00:15:39ID:R2LkfXR4
>>519
boost::spiritでも使ったのか?w
0522名前は開発中のものです。2010/02/05(金) 00:25:43ID:rcLEhboZ
wをつけてこの程度
0523名前は開発中のものです。2010/02/05(金) 00:44:56ID:E+eP97Dg
俺が泥沼にハマったのはboostとtemplateのせい。俺は悪くない



まで読んだ
0524名前は開発中のものです。2010/02/05(金) 00:47:20ID:rcLEhboZ
また文盲が来た
0525名前は開発中のものです。2010/02/05(金) 01:08:24ID:E1XcL7Rh
やねはコード書いて主張してる分だけ俺らよりはマシだけどな
粗悪なコードから学べる事だってたくさんあると考えれば
余談だが彼の叩かれっぷりを見てるとネットにソース公開
するのをいつも躊躇ってしまうw
その辺のジメジメした日本のネット事情は好かんな
0526名前は開発中のものです。2010/02/05(金) 03:31:58ID:z61zW9dx
コード書いてるぶん批判しやすいのかもしれない。

まぁ書かれてあるコードがどうあれ、
変な例え話だけよりもコード書いてあったほうがうれしいですよね。
0527名前は開発中のものです。2010/02/05(金) 19:41:46ID:1Uvqe3cJ
データベースのインデックスみたいなのってどうやって実現するのでしょうか
タスクループごとに再構築しなおすの?
0528名前は開発中のものです。2010/02/05(金) 20:15:37ID:pZFWXanD
何を想定してるのかわからない
まずはお前のタスクシステムを説明しろ
0529名前は開発中のものです。2010/02/05(金) 20:41:27ID:C7mEESsV
このタスクシステムとやらの何が凄いのかサッパリ分からん。
少なくとも、>>2に書いてあるような奴の事を言うなら、システムっていうよりは、ただのプログラム上のお作法とかセオリーの部類じゃないのか。
0530名前は開発中のものです。2010/02/05(金) 23:12:58ID:ADi/zHvo
>>528
>>2の古典なタスクシステムで、型を指定してタスクを取得したい場合
0531名前は開発中のものです。2010/02/05(金) 23:48:34ID:pZFWXanD
>>530
はじめからわけときゃいいじゃん
0532名前は開発中のものです。2010/02/05(金) 23:59:14ID:muF0CXYE
まるでセオリーがすごくないみたいな
0533名前は開発中のものです。2010/02/06(土) 00:04:05ID:E8xqra+P
一言で>>2つってもリンク先によって中身だいぶ違うけどな
0534名前は開発中のものです。2010/02/06(土) 00:51:40ID:nCDaYUMn
>>531
同期取るの大変じゃない?
0535名前は開発中のものです。2010/02/06(土) 00:52:35ID:tZakNLHk
>>534
いきなり同期とか意味不明すぎて反応できないぜw
あったま悪いからそんなレスしちゃうんだぜ
0536名前は開発中のものです。2010/02/06(土) 01:14:57ID:nCDaYUMn
>>535
ああ、ごめんなさい。頭悪いのは認めるよ。
0537名前は開発中のものです。2010/02/06(土) 01:32:17ID:ajoGIZRs
必要以上に攻撃的なのはなんなんだwww
デスマ真っ只中でイラついてるとかか?
0538ハry2010/02/06(土) 02:40:25ID:1tXKnkh3
単になれなれしいだけだろう。お互い頭悪いことは分かりきってるし。
頭悪い奴が分別のつかない奴を叩いてる、そんなスレッド。ちょっと変わった愛情表現。
0539名前は開発中のものです。2010/02/06(土) 04:06:28ID:8uFKuDe8
芸は身をタスク
0540名前は開発中のものです。2010/02/08(月) 01:02:07ID:zDF3T9r4
>>529
このタスクシステムとやらの何が凄いのかっていうと
名前だけで「もしかして凄いものかもしれない」と勘違いさせるのには
最高の撒き餌になるってことだろうな。現にお前みたいな慌てん坊さんが
ホイホイ釣られてやって来るわけだから
0541名前は開発中のものです。2010/02/08(月) 01:18:14ID:zDF3T9r4
昨夏にも張ったような気がするが

          _Y_
            r'。∧。y.
         ゝ∨ノ     バカがタスクシステムに        ,,,ィf...,,,__
          )~~(            幻惑されてる間に    _,,.∠/゙`'''t-nヾ ̄"'''=ー-.....,,,
         ,i   i,                        ,z'"    ̄ ̄ /n゙゙''''ー--...
         ,i>   <i     文明はどんどん発達し    r”^ヽ      く:::::|::|:::〔〕〔〕
         i>   <i.     ていく・・・・・・。      入_,..ノ ℃      ̄U ̄_二ニ=
`=.,,ー- ...,,,__ |,r'''"7ヽ、|  __,,,... -ー,,.='               >ーz-,,,...--,‐,‐;;:'''""~
  ~''':x.,,  ~"|{ G ゝG }|"~  ,,z:''"                     ___
      ~"'=| ゝ、.3 _ノ |=''"~      <ー<>         /  l ̄ ̄\
        .|))    ((|        / ̄ ゙̄i;:、      「 ̄ ̄ ̄ ̄| ̄| ̄ ̄ ̄\
             ))|       r'´ ̄「中] ̄`ヾv、   `-◎──────◎一'
                   ├―┤=├―┤ |li:,
                   |「 ̄ |i ̄i|「.//||「ln|:;
                   ||//__|L_」||__.||l」u|:;
                   |ニ⊃|  |⊂ニ| || ,|/
                   |_. └ー┘ ._| ||/
                   ヘ 「 ̄ ̄ ̄| /
0542名前は開発中のものです。2010/02/08(月) 02:24:25ID:v1ov3My8
なんか"タスクシステム"を"ポインタ"に置き換えても成り立ちそうだな、このスレ。
JAVAとかC#とかしか知らない若い子がCのポインタが何なのか理解できないのと同じ臭いがする。

古株にとっては「プログラマでポインタ理解できないなんてゆとり」という感覚なんだろうけど。
「ポインタなんて年寄りの戯言、何のメリットがあるのかわかりませーん」という世代とのギャップが埋められず。
0543名前は開発中のものです。2010/02/08(月) 02:34:40ID:vyr3UvLe
まったく違う
>>3をポインタに変えたら話が成立しない
0544名前は開発中のものです。2010/02/08(月) 02:45:34ID:v1ov3My8
ポインタのわからないプログラマの頭の中では
「ポインタなんて裸の王様」が成立してると思うよ
0545名前は開発中のものです。2010/02/08(月) 03:16:06ID:/rTmd7Nr
21世紀にもなって今だにポインタやタスクシステムについて熱く討論してる時点で
時代遅れというならそうかもなぁww

そんな原始的な話はみんな20年前に通り過ぎてとっくに先に行ってる、と
0546名前は開発中のものです。2010/02/08(月) 03:18:28ID:eoh1A31Y
>>545
今のトレンドは何?
0547名前は開発中のものです。2010/02/08(月) 03:25:16ID:/rTmd7Nr
マルチコアを無駄なく使いきれるフレームワークとかかねぇ
まぁこれもPS3とか360が出始めのころの各社が研究してたトレンドだったからもう古いかもねぇ
0548名前は開発中のものです。2010/02/08(月) 08:01:44ID:84SYwGYH
マルチコアを有効に使うシステムがそれこそ現代のタスクなんじゃないの?
0549名前は開発中のものです。2010/02/08(月) 13:09:52ID:aofKpcas
ゲームプログラマの求人見てみるとタスクシステムって言葉出てくるよ
使われてるんじゃないかな
0550名前は開発中のものです。2010/02/08(月) 15:21:39ID:DRPj+0ga
デザパタみたいなもんで名前があることにも意義がある
一番不思議なのは親の敵の様にタスクシステムを
否定する輩がこのスレに現れる事だ
温故知新とも言うし簡単な仕組なんだから
使わないにせよ知ってて損は無いのにね
0551名前は開発中のものです。2010/02/08(月) 15:30:32ID:KhZHHWak
ヒント:適切な単位に適切な名前
0552名前は開発中のものです。2010/02/08(月) 17:11:28ID:DRPj+0ga
>>551
おっと失礼
訂正させてもらう
×:一番不思議なのは親の敵の様にタスクシステムを
○:一番不思議なのは親の敵の様に>>2
0553ハ(ry2010/02/08(月) 22:21:47ID:VnpQvf7D
>>550
間違った(というか遅れた)考え方を知ってて特になるって・・・。
確かに自衛の意味ではやくにたつな。
無駄なことを知ってるって超重要だからな。
永久機関の開発に一生を費やしでもしたら、そりゃ悲惨だ。

>>547 >>548
マルチコアを無駄なく使う?俺はトレンドになんねぇとおもうがなぁ。
そう言うのは、forループの並列展開程度にしれっと応じておいて、
他の事に時間を割り振った方が自分のためだろうな。

でもforループの並列展開だったら、SIMDの方が相性良いかもしれん。
ということで、コアは8個程度で打ち止めにして、
今後はSIMDの拡張方面を頑張って欲しいね。

ただ、サーバー用途だとマルチコアの方が有利だし、
CPUメーカー的にはその辺の事情があるんだろうなぁ。
0554名前は開発中のものです。2010/02/08(月) 23:54:58ID:Maa0pfRP
ハァ…ため息しか出ない





静的型付け言語の型情報と
一致しない
0555名前は開発中のものです。2010/02/08(月) 23:56:57ID:Maa0pfRP
すまん途中送信してしまった

スレッドレベルではなくインストラクションレベルの並列化の強化に期待とか
かなり独自の世界観を持ってるな。。。
0556名前は開発中のものです。2010/02/09(火) 00:03:22ID:6mlob5lK
1命令でいっせーのーせどんを強化した先にベクトルプロセッサがあり
HPC分野では。。。ソフトウェアの開発がスカラー機に比べて簡単とか
聞いたこと無いな

0557名前は開発中のものです。2010/02/09(火) 00:07:32ID:6mlob5lK
あと並列化なんてループアンローリングだけで十分だろというならば
その程度の最適化はコンパイラに任せなさいで終わりだ。アホか

0558名前は開発中のものです。2010/02/09(火) 00:14:59ID:6mlob5lK
ハードウェアはソフトウェア開発者に優しくありなさいというならば
スレッドレベルの並列化(別の言い方をすればSMPな)を前提に進化した
ターゲットハードウェアのほうが格段に優しい。SIMD大強化マンセー
ベクトルプロセッサマンセーなんてNECかNVIDIAの周り者かっつーの。
糞くらえだ。現場を知らないクズは死ねばいい


と思いました。あーすっきり。ワナビー大嫌い
0559名前は開発中のものです。2010/02/09(火) 01:13:48ID:yhZ2PHKk
好き嫌いじゃなく、今のゲーム機のアーキテクチャがマルチコアなんだから
使わないわけにはいかないだろうに。

処理落ちしてる時に遊んでるコアがありゃゲームプログラマならコア駆使して
何とかするもんだ。
0560名前は開発中のものです。2010/02/09(火) 01:16:25ID:aJ0FiuET
自称ハード屋(>>553)は素人オジサンだから放っといたほうがいい
たまーにマグレでまともそうなこと言ってるように見えるが
基本的にゲーム作れないのでピントがずれてる。たぶんキチガイ
0561名前は開発中のものです。2010/02/09(火) 01:17:38ID:H1Nr8694
1フレ単位の処理でマルチコアなんて使う場所ねーじゃん
せいぜい裏で次のシーンのデータロードしておくか
超複雑なAI(将棋とか)走らせるとかぐらいじゃね?
このスレの話題としてマルチコアなんてでること自体おかしくね?
0562ハ(ry2010/02/09(火) 01:18:56ID:4uRxejvM
>>557
まさしく。並列化なんてしたくねぇ。
だからこそのSIMD。
コア増やす方法だと、キャッシュのコヒーレントの問題で、どっかでコア数の限界が来る。
コア数が少ないからforループを展開しても大して速くならない。
結果、自分でスレッド立ててシコシコする羽目になる。

その点SIMDだとそんなのかんけぇねぇから、並列度をどんどん上げれる。
64ループ分ぐらいを一発で処理できる。もっと多くしても良いだろう。
分岐を展開しなければならない弱点があるが、
そんくらい並列度が上がればペイできるだろう。
コンパイラ拡張して勝手にSIMD展開してくれるfor_parallelとかが組み込まれれば、
気軽に使えるようになる。それでいいじゃない。
0563名前は開発中のものです。2010/02/09(火) 01:26:28ID:4uRxejvM
>>561
そうなんだよ。
結局マルチコアはサーバー用途に作られたもの。
それをゲームで一生懸命使おうと頑張ってる皆さんは、仕事とはいえご苦労様。
マルチコアが使いやすいとか何の冗談だよ。
マルチコアはスレッド使うって時点で十分面倒だ。可搬性を考慮したライブラリ化がしずらい。
だんぜんSIMDの方が気軽だね。俺は気軽な方がいいや。
0564名前は開発中のものです。2010/02/09(火) 01:26:35ID:6mlob5lK
>>558 ×周り物 ○回し者

>>548
> マルチコアを有効に使うシステムがそれこそ現代のタスクなんじゃないの?

http://2chart.fc2web.com/2chart/pic/naniwo.jpg
タスク(処理単位)ってのは時代で変わるものなのか?違うだろ。
いつの時代もハード、ライブラリによって多種多様。大昔も今も
ハード、ライブラリ毎にタスクの粒度、構成要素、何もかも違う。
時代で一意に定まるタスクなんてないよ

あとマルチコア(マルチプロセッサ)がトレンドだゲンダイだとか眠たすぎる。
複数プロセッサのやりくりなら15年近く前には既に零細のソフトハウスだって
64bit級のために四苦八苦しながらやってた
0565名前は開発中のものです。2010/02/09(火) 01:35:05ID:4uRxejvM
SIMDの何が良いって、プログラムカウンタが共用なのがいいね。
プログラムは上から下にだらだら逐次実行していくものだという基本に忠実。
それでいて、並列化も行われるわけで。
スーパースカラの投機的命令実行で十分じゃねって言われればそうかもだが。
0566名前は開発中のものです。2010/02/09(火) 01:50:08ID:6mlob5lK
>>563
君の言うSIMD強化って、具体的にどんな絵を描いてるのかよくわからんのよね。
その新命令って例えば何してくれんの。それはゲームの中の何に使えるの。
ゲームプログラムに共通した、ゲームプログラムに特化した便利なインストラクションセットを
オーダーメイドで作ってもらえちゃうの?それならそれで便利だよねドラえもん
0567名前は開発中のものです。2010/02/09(火) 01:56:44ID:6mlob5lK
>>563
君はどんな処理をどんな粒度で分割しどんだけの量を並列化するお話してるの?
インストラクションレベルの並列化で十分つーてるんだから当然それは細粒度の
分割に適した多量の何かを処理するお話なのだろうとは思うけど
0568名前は開発中のものです。2010/02/09(火) 01:58:31ID:4uRxejvM
>>566
普通に64個ぐらいのデータを一つの命令で並列に処理してくれるようにしてくれりゃそれでいいよ。
マルチコアなんてせいぜい4個とか8個とかだろ。苦労してそれじゃね。
0569名前は開発中のものです。2010/02/09(火) 02:02:17ID:4uRxejvM
>>567
forループの展開って言ってんだから、そりゃ、ループカウンタの粒度での分割だ。
カウンタの0から63までを並列に処理してくれりゃいい。
0570名前は開発中のものです。2010/02/09(火) 02:05:52ID:6mlob5lK
>>569
それはゲームプログラムの中で具体的にどういう処理なの?
あなたの想定する既存CPUでワークロードの中の何パーセントを
占めてる処理なの?
0571ID:4uRxejvM あくきん2010/02/09(火) 02:10:25ID:2TaB1p6/
だから、ループを展開するって言ってるだろ。
ループしてるってことはそこの処理は必然的に重たいわけだ。
そこを重点的に展開するわけだから、それで十分だろ。
ループしてるとこ以外に重たい処理なんてあるか?無いだろ。
0572名前は開発中のものです。2010/02/09(火) 02:12:09ID:6mlob5lK
>>570は非常に重要な質問なんだけど
0573名前は開発中のものです。2010/02/09(火) 02:19:12ID:2TaB1p6/
どうせ、全体の25%しか並列化できなかったら、
最大でも処理時間は75%にしかならないよ、とか言うんだろ。
でもそんなもんはマルチコアでも一緒だ。
いちいちスレッドの面倒を見なきゃいけない分
小回りがきかないマルチコアの方が分が悪いと思うがね。
0574名前は開発中のものです。2010/02/09(火) 02:22:38ID:aJ0FiuET
ハード君…
0575名前は開発中のものです。2010/02/09(火) 03:03:32ID:2TaB1p6/
ゲームの場合、1フレーム毎に同期をとらなきゃならないという制限があるから、
大きな粒度での並列化には無駄が出来る。
かといって、マルチコアで小さな粒度の並列化をしようと思うと、
コンパイラが自動でやってくれない限りは地獄を見る。
タスクシステム的な何かを用意する必要があるからな。その時点で却下だ。

サーバー用途だとマルチコアはいいものだと思うよ。
0576名前は開発中のものです。2010/02/09(火) 08:09:14ID:/9pFkwAc
有名なところではカプのMTフレームワークも
マルチコアを考慮したタスクシステムを使っているよ。

ttp://game.watch.impress.co.jp/docs/20070131/3dlp10.htm
0577名前は開発中のものです。2010/02/09(火) 09:22:20ID:RhKkBaLk
何度も何度も何度も何度も言っているが、その記事の「タスク」は、
並列にやらせる仕事の単位をそう呼んでいるだけで、このスレの「タスクシステム」じゃない。
0578名前は開発中のものです。2010/02/09(火) 10:57:06ID:gAZSDjrV
並列更新と同期更新が同じ「タスク」単位になってるから
案外「タスクシステム」と似たような処理なのかもね
使った事ないから本当のところは分からないけど
0579名前は開発中のものです。2010/02/09(火) 11:53:50ID:YL0tD2tx
>>577
なに必死になってんの?
>>2じゃないってことでしょ
>>1くらいよんどけよ
0580名前は開発中のものです。2010/02/09(火) 21:37:56ID:xprr509T
ゲームを作ったこと無いんだが、タスクシステムってのは
リアルタイムシミュレーションゲームを作るのに便利なフレームワークってことでいいのか
0581名前は開発中のものです。2010/02/09(火) 22:07:48ID:hLju4F/g
http://d.hatena.ne.jp/kataho/20080430/p1
0582名前は開発中のものです。2010/02/09(火) 22:22:54ID:sxqDUdhn
魔法のシステムです
0583名前は開発中のものです。2010/02/09(火) 22:41:29ID:H1Nr8694
茶色の小瓶です
0584名前は開発中のものです。2010/02/09(火) 23:23:17ID:z1hzZKP1
>>581
それゲームオブジェクト(エンティティ)のお話
ユーザー側の、アプリケーションの層のお話
ゲームオブジェクト(エンティティ)は複数の関連・相互作用の図の中に参加するというお話。
そらそうだ。物理的・力学的な繋がり。制御の繋がり。通信の繋がり。組織の繋がり。色々ある。
それぞれのコンテナ(外部収納・内部収納は問わない)に格納される。自然なことだわな

ところで低層のターゲット依存部の中に、非プリエンプティブな処理単位を格納する
レディキューが一本あるとする。これは>>581のページ内で言われてるような
「一般化されたゲームオブジェクトのリストを一本持つ」というお話とは一致しないわな

ユーザー側の、アプリケーションの層の中で定義されるゲームオブジェクトの単位と
それより下層の、システム側の、ターゲット依存部の中で定義される処理の単位というのは
分割の基準・動機が違う。そうでないならそれはゲームオブジェクトをタスクいいたいだけの
Codezine状態なんだろ。1task = 1object限定とか。ネット発生型の都市伝説システムだろ
0585名前は開発中のものです。2010/02/09(火) 23:55:51ID:z1hzZKP1
>>573
> どうせ、全体の25%しか並列化できなかったら、
> 最大でも処理時間は75%にしかならないよ、とか言うんだろ。

君はすぐそうやって後頭部を強打したりESP使ったりして妄想先回りするけど
ちと被害妄想が激しすぎるんじゃないのか。そんな警戒しなくていい

> でもそんなもんはマルチコアでも一緒だ。
> いちいちスレッドの面倒を見なきゃいけない分
> 小回りがきかないマルチコアの方が分が悪いと思うがね。

SIMDに適した、細粒度の分解に適した、君に都合のよろしい処理対象を
君は一体全体どういう形でマルチコア(マルチプロセッサ)に配当してるの?
君に都合のよろしいその処理対象はその64-wideのSIMDを使ったほうが
適してるんだからそれでいいじゃない。

で、その、いっせーのーせーどん方式で処理を再構築、データを再配置
しやすい処理は一体なんなの?ゲームの中の何を処理してるの、と
聞いてるだけなの。そしてそれはあなたのゲームではワークロードの
何パーセントを占めていたの?あなたの想定する既存のCPUコアは何?
あなたの想定する既存のターゲットハードウェアは何?
0586名前は開発中のものです。2010/02/10(水) 07:32:27ID:IOwVY6cw
脱線はなるべく無しでお願いしたいものです
0587名前は開発中のものです。2010/02/10(水) 14:32:47ID:3eKhnnI4
シェーダーとメッシュ等のジオメトリって分けますか?
0588名前は開発中のものです。2010/02/10(水) 19:35:44ID:VgzFznsI
>>585
>で、その、いっせーのーせーどん方式で処理を再構築、データを再配置
>しやすい処理は一体なんなの?

ぱっと思いつくところでは、布との当たり判定とかはマルチコアよりもSIMDの方が相性良いだろう。
ゲームの中には大概人型のキャラクタが出てきて、大概が服着てるわけだから、有用そうだよね。

こまかいことほじくって屁理屈並べても仕方ないんだって。
マルチコアは、
大きな粒度の並列化向け、一方ゲームは1フレームごとに同期が基本
&キャッシュのコヒーレントでコア数増やしづらい
&スレッド使うから関数レベルでの可搬性が保ちづらい
ってんで、ゲーム用途には十分つんでるかと。
サーバー用途だと、何もしなくても恩恵にあずかれるのに、ゲームだと、
MTフレームワークにしろspursにしろ、あんなもん用意しなきゃいけない時点で、
無理やり感が漂ってる。なんていうか、小手先?
仕事の人は大変だね。素直にSIMDの要求しておけば、次々世代あたりでかなうかもよ。
0589名前は開発中のものです。2010/02/10(水) 19:59:29ID:/h0b22kQ
そもそも複数のCPUに向けたデータを用意するだけで疲れるし
ぶっちゃけやりたくないなw
コンパイラが頑張ってくれたほうがみんな幸せになれそう
0590名前は開発中のものです。2010/02/10(水) 21:56:44ID:kS9ezNOp
ゲームを作ることを目的とするのではなくて
オブジェクト指向の勉強を目的とするので
特に問題は無いです。
0591名前は開発中のものです。2010/02/10(水) 22:03:57ID:HrOb+RLe
ゲーム制作はオブジェクト指向の勉強には不向きだと思う
0592名前は開発中のものです。2010/02/10(水) 22:06:59ID:VgzFznsI
オブジェクト指向を勉強するって意味が分からない。
あれはセンスのもんで、
うまい人が作ったクラスは機能ごとにまとまってて、
下手な人が作ったクラスはデータ構造主体でまとまってる。
0593名前は開発中のものです。2010/02/10(水) 22:58:29ID:SNZd9kJP
オブジェクト指向ってゲーム向きじゃなかったのか
0594名前は開発中のものです。2010/02/11(木) 00:03:06ID:kS9ezNOp
実際のところ、ゲームゲームな感じのゲームには適切ではないと思う。
ラリーXとかプーヤンみたいなゲーム作るときにどう使えばいいのか
無理やりクラスを設計するのは楽しいけど、仕事ではそんなコードにしたくない。

敵も味方も石ころもみんな等価な物理演算っぽいゲームだとうまくハマるとは思うけど
識者の意見を聞いてみたい。
0595名前は開発中のものです。2010/02/11(木) 00:06:39ID:UroIWicT
PCや数学由来の技術はメモリ管理が組み込み向きに考えられていない。
机上の空論好きはその辺考えないからね。
0596名前は開発中のものです。2010/02/11(木) 00:12:52ID:0/qfWJRv
データ構造ありきで考えるから難しいんだって。

描画エンジンクラス
サウンドエンジンクラス
コントローラIOクラス
ゲームロジッククラス
セーブデータIOクラス
データローダークラス
リソース共有クラス

こんな風に機能ごとにクラス化していけばいいと思うよ。
モジュール化の基本はOOPでも同じ。
0597名前は開発中のものです。2010/02/11(木) 01:56:09ID:EdodrCY4
それに関する反論(機能分解やモジュール化でも駄目)が
design pattern distilledの最初の方に載ってる
勿論その議論の中でもデータ構造によるものとか名詞抽出は論外だけど
8年前のしかも入門書だから今どうかは知らんけど
0598名前は開発中のものです。2010/02/11(木) 02:05:16ID:q7qw6G8d
そろそろその「載ってる」とかそういう表現どまりのレスってやめない?

読んでない奴にとってそれによって何が主張したいのかまったくわからないし
仮に読んでみても本に書いてある意図とレスの主張が全然違うこともあるしで
照合するにもえらい時間がかかるそれを受け手に全部押し付けるってえらい傲慢もいいとこじゃないか?
もう引用とかしなくていいから

○○だから、○○である

と自分の言葉で説明しろよ
それは本のまる写しでもいいからあくまでも自分の発言としてレスにそえろよ
0599名前は開発中のものです。2010/02/11(木) 02:15:25ID:0/qfWJRv
そーそ。デザパタ本なんて糞食らえで読む気しねぇんだよ。
どうせ、おたかいんでしょ?
0600名前は開発中のものです。2010/02/11(木) 02:19:45ID:0/qfWJRv
どっちゃにしろ、ライブラリがそれが持つ機能で掻き集められる物である以上、
無理にでも機能で分割するしかねぇんだよ。答えは決まってる。
後はどう枠にはめるか。
■ このスレッドは過去ログ倉庫に格納されています