- 1 名前:名前は開発中のものです。 mailto:sage [2009/02/19(木) 02:21:01 ID:k4ODtuXP]
- タスクシステムについての議論、相談、質問、雑談などのスレです
part4 pc11.2ch.net/test/read.cgi/gamedev/1233459490/ part3 pc11.2ch.net/test/read.cgi/gamedev/1226199100/ part2 pc11.2ch.net/test/read.cgi/gamedev/1196711513/ part1 pc11.2ch.net/test/read.cgi/gamedev/1173708588/ ・タスクと呼ばれる実装は、非常に多岐に渡ります 古典タスクシステムについての話題は「>>2」と明示してください そうでない場合はカスタム版タスクであることを明示してください ・人を憎んで言語を憎まず
- 684 名前:名前は開発中のものです。 mailto:sage [2009/03/07(土) 13:19:11 ID:ZZNOCL1s]
- 用語の定義をめぐって、wikipediaと格闘するような人とは議論したくない。
- 685 名前:名前は開発中のものです。 mailto:sage [2009/03/07(土) 13:20:00 ID:ZZNOCL1s]
- お互い疲れたと見える
- 686 名前:並列さん ◆dPfetnROQg mailto:sage [2009/03/07(土) 13:24:11 ID:cewi3IDn]
- >>682
> 並行(concurrent)は、複数のコンテクストが論理的に同時に存在できることを表す。 > 並列(parallel)は、複数の計算を物理的に同時に実行できることを表す。 この定義に基づいて古典的なタスクシステムのタスクについて語ると ・古典的なタスクシステムのタスクは、「並行」。 ・実行順序に厳しい制約があるとみなすなら、「並列」化はできない。 ところが実際のゲームでは、タスク間に依存関係がない部分が結構あるので 部分的に「並列」化できる。 この「並列」化によって、コア数N×0.7ぐらいのパフォーマンスは出る。 で、この「並列」化を古典的タスクシステムを進化(?)させて書けるようにすれば いいということだな。
- 687 名前:並列さん ◆dPfetnROQg mailto:sage [2009/03/07(土) 13:24:58 ID:cewi3IDn]
- >>684
俺のことは、NGリストに入れておいてくれ。 最初に682のように書いてもらえれば、俺はすぐに理解できたのだが。
- 688 名前:名前は開発中のものです。 mailto:sage [2009/03/07(土) 14:32:04 ID:NOayWFQU]
- これにて一件落着
- 689 名前:名前は開発中のものです。 mailto:sage [2009/03/07(土) 14:39:01 ID:ZZNOCL1s]
- おれは、>>682と同じ意見ではない。
>並行(concurrent)は、複数のコンテクストが論理的に同時に存在できることを表す。 これに付け加えて、並行の条件には、複数のコンテクストが論理的に同時に実行可能であることも、 必要だと考えている。 並行性 ja.wikipedia.org/wiki/%E4%B8%A6%E8%A1%8C%E6%80%A7 だから、 1.並行でなければ並列化できない。 2.タクスの処理順位を考慮するようなタスクシステムは、すべてのタスクが互いに並行というわけではない。 3.ゆえに、タスクシステムを並列化するならば、並行なタスク同士を抽出する必要がある。 と考え、 さらに、タクスの処理順位を考慮するようなタスクシステムは「並行でない」と考える。
- 690 名前:名前は開発中のものです。 mailto:sage [2009/03/07(土) 15:29:42 ID:8u/3vapK]
- >並行(concurrent)は、複数のコンテクストが論理的に同時に存在できることを表す。
俺もこう思ってた。 んでそうハッキリ書いてある資料を探してるんだけど、見つからない。 >並行の条件には、複数のコンテクストが論理的に同時に実行可能であることも、必要 次からこっちの定義で話すわ。
- 691 名前:名前は開発中のものです。 mailto:sage [2009/03/07(土) 15:37:28 ID:92TsYx3X]
- >>689
>さらに、タクスの処理順位を考慮するようなタスクシステムは「並行でない」と考える。 MTフレームワークは処理順の依存の有無でタスク分けてマルチコアで同時に複数タスク動かしてるけど これは処理順位を考慮するシステムだから「並行でない」のかな?
- 692 名前:名前は開発中のものです。 mailto:sage [2009/03/07(土) 15:42:35 ID:ZZNOCL1s]
- だいたいちょっと考えれば分かることだが、並行の定義が、
>並行(concurrent)は、複数のコンテクストが論理的に同時に存在できることを表す。 だと、いわゆるオブジェクトと呼ばれるものは全部並行ってことになっちまうだろ。 コンテキストが同時に存在できないオブジェクトなんて、まあ無いからな。 言葉としての意味が無くなる。
- 693 名前:名前は開発中のものです。 mailto:sage [2009/03/07(土) 15:56:08 ID:ZZNOCL1s]
- >>691
もしはじめから並行なら、MTフレームワーク自体いらないでしょ。
- 694 名前:名前は開発中のものです。 mailto:sage [2009/03/07(土) 16:00:29 ID:92TsYx3X]
- >>693
>もしはじめから並行なら どこにそんな前提が?
- 695 名前:名前は開発中のものです。 [2009/03/07(土) 16:36:27 ID:E0xOAlNR]
- >>689
>これに付け加えて、並行の条件には、複数のコンテクストが論理的に同時に実行可能であることも、 ある計算の、ある時点における実行状態を表現したものを、コンテクストと呼ぶんじゃないの? >並行(concurrent)は、複数のコンテクストが論理的に同時に存在できることを表す。 と同じ事を言ってるだけのような。 >1.並行でなければ並列化できない。 は違うと思う。 並行でない命令列も、依存関係が無ければ並列化できる。 現にCPUの中でシリアルセマンティクスを満たしつつ並列実行が普通におこなわれている。 そういう命令列は本質的に並行だった?違うでしょ?スーパースカラで並列に実行される命令は、 異なるコンテクストを持ってるわけじゃないんだから。 あと細かいことだけど、順位と順序は全然意味違うんだから、 ちゃんと使い分けてくれないと読み辛いよ。
- 696 名前:名前は開発中のものです。 [2009/03/07(土) 18:22:05 ID:UcXZ5wF9]
- でも依存関係があるかないかなんて並列で実行してんのにどうやってわかんだろね
くる値によって依存関係があるかもわからんしないかもわからん ごった煮だとそういうソースになってしまうな
- 697 名前:名前は開発中のものです。 mailto:sage [2009/03/07(土) 18:30:21 ID:rbzzI5lu]
- ID:UcXZ5wF9
↑(・∀・)↑ ウンコちゃんインしたお
- 698 名前:名前は開発中のものです。 mailto:sage [2009/03/08(日) 18:34:25 ID:ryll+mdy]
- >>695
> >これに付け加えて、並行の条件には、複数のコンテクストが論理的に同時に実行可能であることも、 > ある計算の、ある時点における実行状態を表現したものを、コンテクストと呼ぶんじゃないの? > >並行(concurrent)は、複数のコンテクストが論理的に同時に存在できることを表す。 > と同じ事を言ってるだけのような。 例えば、コンテクストが共有されている場合などでは、 コンテクストは同時に存在できるが、同時に実行はできない。 具体的には、オブジェクトAがオブジェクトBの参照を内部に保持している場合など。 オブジェクトAはオブジェクトBとコンテキストを共有しているということになり、 オブジェクトAとオブジェクトBは同時に存在できるが、同時に実行は出来ない。 >並行でない命令列も、依存関係が無ければ並列化できる。 並行でない命令列の中でも、依存関係が無い並行な部分だけは並列化できる。 並列化とは、並行に処理することだから、並行な処理しか並列化できない。 自動並列化 ja.wikipedia.org/wiki/%E4%B8%A6%E5%88%97%E5%8C%96 >プロセッサで「並行」に実行されるようにする。 スーパースカラ ja.wikipedia.org/wiki/%E3%82%B9%E3%83%BC%E3%83%91%E3%83%BC%E3%82%B9%E3%82%B1%E3%83%BC%E3%83%A9 >プロセッサ内の冗長な実行ユニットを使って「並行」して処理される。
- 699 名前:名前は開発中のものです。 mailto:sage [2009/03/08(日) 18:39:37 ID:ryll+mdy]
- >>694
ヒント:背理法
- 700 名前:698 mailto:sage [2009/03/08(日) 19:26:02 ID:ryll+mdy]
- 訂正するけど、
コンテクストが共有されていても、read-onlyな場合は並列化可能だね。 書き込みするとアウトだけど。
- 701 名前:名前は開発中のものです。 mailto:sage [2009/03/08(日) 19:27:58 ID:0j+yjPij]
- >>698
なんか色々と変だよ。 >例えば、コンテクストが共有されている場合などでは、 >コンテクストは同時に存在できるが、同時に実行はできない。 共有されているのに同時に存在するってどういう意味? コンテクストはいくつあるの? >具体的には、オブジェクトAが(以下この段落略) オブジェクトとコンテクストがごっちゃになってる。 オブジェクトAがオブジェクトBへの参照を内部に保持していても、 コンテクストがいくつあるのかという問題とは関係無いよ。 オブジェクトAとBを同時に実行はできない?オブジェクトを実行するってどういう意味? この辺は、>>692の勘違いと同じ匂いがする。 てか>>692さんなのかな。
- 702 名前:名前は開発中のものです。 mailto:sage [2009/03/08(日) 19:30:14 ID:0j+yjPij]
- んが。改行多過ぎ言われた。
701の続き。 >並行でない命令列の中でも、依存関係が無い並行な部分だけは並列化できる。 「依存関係が無い部分」を「並行な部分」とは呼ばないよ。 いや呼ぶのは自由だけど、少なくとも聞いたことないよ。 いや聞いたことないだけかもしれないけど。 >並列化とは、並行に処理すること(以下略) ×。 もうちょっと詳しく言うと・・・ 「並列化とは、並行に処理すること」 という言葉それだけを見るなら、○。 でも、そこに出てくる「並行」という言葉は、並列という言葉を説明するための 「(同時)並行」という意味であって、このスレでここまで長々と議論してきた 並行(concurrent)とは意味が違うよ。 (「並列」を説明するのに「並列」と言っても仕方が無いからね) 二つ挙げてくれたwikipediaの説明に出てくる「並行」も、同じように「並列」を 説明するための「並行」であって、ここに引っ張り出してきても意味が無いよ。
- 703 名前:名前は開発中のものです。 [2009/03/09(月) 12:41:05 ID:2btSBxrR]
- 大変だ!タスク信者が息してないぞ!
- 704 名前:名前は開発中のものです。 mailto:sage [2009/03/09(月) 13:31:41 ID:+h98nuCN]
- つまらん煽りイラネ
- 705 名前:名前は開発中のものです。 mailto:sage [2009/03/09(月) 14:16:42 ID:EugqMYhT]
- 本人は面白いと思って書いてんだろ
- 706 名前:ID:EEKBitmg ◆HSP4mee/SU mailto:sage [2009/03/10(火) 01:19:32 ID:W7jNDZ1N]
- 厨は『並行処理』という言葉を使ったけど、ノートを読み返したら『並行動作』となっていた。
=『擬似並列動作』のことを云いたかったの!微妙に書き間違えてた?と書こうと思ったら >>637-以降で怖いおじちゃん達が深夜の泥沼バトルが展開されてあれよあれよと言う間に みんな深淵の彼方へ飛んでいってしまった。ニーチェの警告に耳を傾けない者はみんな 闇に飲まれちゃうんだ。恐ろしいことだ
- 707 名前:ID:EEKBitmg ◆HSP4mee/SU mailto:sage [2009/03/10(火) 01:20:59 ID:W7jNDZ1N]
- 俺は元々>>2の話をしてて、これはどこをどうひっくり返しても逐次処理・直列処理してる。
ところが>>632のタスクシステムは直列処理ではなくどっちかっつーと『並列』らしい。 たぶん>>632の云うタスクシステムは>>2とは別物か、あるいは並列ではなくて 『擬似並列動作』とか『並行動作』のことをいってるのかなーとESPした。それが>>635 >>2の『システム(笑)』部分が提供するものは ・粗末な侵入式の連結リスト ・それを周期的にナメナメしてディスパッチするショボイ仕掛け だけ。>>2はこの『システム』部分をユーザー定義の逐次処理・直列処理に使ってるけど ユーザー定義の並行動作に使うこともできるっちゃできる 例えば組み込みシステムでは、異なる割り込みハンドラからの指示でスリープ状態から 復帰するタスクとかあるからね
- 708 名前:ID:EEKBitmg ◆HSP4mee/SU mailto:sage [2009/03/10(火) 01:36:39 ID:W7jNDZ1N]
- あるいは、敵をやっつけた時の爆発エフェクト。これの破片・パーティクルの一個一個を
タスクとして登録してるとする。(そんな無駄なことしたくないけど、する奴もいるだろう) 破片・パーティクルのタスクは他のタスクとの作用なんてないとする。ならばこれらは 確実に並行動作してる 逐次処理・直列処理で並列動作してる。だが並列動作じゃない
- 709 名前:ID:EEKBitmg ◆HSP4mee/SU mailto:sage [2009/03/10(火) 01:37:17 ID:W7jNDZ1N]
- >>708
×逐次処理・直列処理で並列動作してる。だが並列動作じゃない ○逐次処理・直列処理で並行動作してる。だが並列動作じゃない
- 710 名前:ID:EEKBitmg ◆HSP4mee/SU mailto:sage [2009/03/10(火) 02:18:01 ID:W7jNDZ1N]
- >>2のシステム(笑)はなんで並列動作できないの?
一本の連結リストにみんなチャンポンにしてぶち込んでる時点で 別スレッドで同時並行的に弄繰り回されるということを考えてないだろ タスク間通信に必要な同期のメカニズムを提供していないのもそう シングルスレッドで逐次処理するという前提だからバッサリ省いてる 次に、>>2のTCB(笑)とかいう構造体のプライオリティというパラメータは priority-rankingではなくpriority-sequenceとして使われており、異様。 これは処理順序を表しており、この順序でソートして順次処理される そういう前提でタスク(ジョブ)の内容を記述してる。順序が狂ったら動かない
- 711 名前:名前は開発中のものです。 mailto:sage [2009/03/10(火) 12:53:53 ID:GPL7IZe+]
- >>707
>ユーザー定義の並行動作に使うこともできるっちゃできる できるっちゃできる、じゃなくて、ゲームオブジェクトの並行動作を記述することが そもそもタスクシステムの目的なんじゃないの? オブジェクトごとのデータとコンテクストをひとまとめにして自律的な行動を 自然(←人によって感じ方は違うだろうけど)な形で書ける(気分になれるw)ことと、 オブジェクトの生成破壊が多くてフラグメントを起こしがちなゲームにおいてデフラグを扱えること、 の2点を、素朴な形で実装したのがタスクシステムの良い点だったと思うんだけど。 >>710 >>>2のシステム(笑)はなんで並列動作できないの? 特定プライオリティがついているオブジェクト群は他との相互作用が無いと決めておいて、 それらを並列動作させることはできるんじゃないの? (そういう番号をプライオリティと呼ぶことの是非は別として) 別に誰も、全てのタスクを並列動作させることなんか最初から期待してないと思うけど。 かなり上の方に出てた自動的に並列動作させる云々の話も、そういうプライオリティの タスクに限って、プロセッサ数に合わせて並列でディスパッチするような拡張も考えられる のではないか、という話だったと理解してたんだけど。
- 712 名前:名前は開発中のものです。 mailto:sage [2009/03/10(火) 14:14:14 ID:arIRXx6m]
- pc.watch.impress.co.jp/docs/2009/0305/kaigai493.htm
> ゲームプログラム本体のコードは、OSのコードと同じように、 > 整数演算中心で小さな範囲での並列しかできず、 > 基本的には逐次実行しなければならないコードがほとんどだ。 これが古臭いタスクのことを指しているとは考えられないし 並列ネタはタスク関係無くね?
- 713 名前:名前は開発中のものです。 mailto:sage [2009/03/10(火) 17:38:59 ID:DtkxsGym]
- マルチプロセッサでマルチスレッドしたいならそう拡張すればいいんとちゃう?
シングルプロセッサが前提の時代に書かれた物に難癖つけるのも大人げないと思う ていうか俺は現在でもマルチスレッドなんてやりたくない
- 714 名前:名前は開発中のものです。 [2009/03/10(火) 18:22:37 ID:9N7ATqdV]
- 別にマルチスレッドなんて必要ならやりゃいいじゃん
裏でローディングしながらゲーム動かすなんて別に難しくもなんともねーし ただ、ゲームオブジェクトにやる意味は無さそうだけどね
- 715 名前:名前は開発中のものです。 mailto:sage [2009/03/10(火) 18:42:31 ID:+MsrlA3X]
- そういやフルにディスクアクセスしてても重たくなったりカクついたりしないのかね?
- 716 名前:名前は開発中のものです。 [2009/03/10(火) 19:16:57 ID:9N7ATqdV]
- >>715
やってみりゃいいじゃん
- 717 名前:名前は開発中のものです。 mailto:sage [2009/03/10(火) 19:47:23 ID:+MsrlA3X]
- >>716
やってみた ガックガクになった
- 718 名前:名前は開発中のものです。 [2009/03/10(火) 20:01:50 ID:9N7ATqdV]
- そうか市販のゲームは普通にできてるのに不思議だな
- 719 名前:名前は開発中のものです。 mailto:sage [2009/03/10(火) 21:27:13 ID:LXtgug0h]
- 裏でローディングなんてDMA時代からとっくにやってます。
- 720 名前:名前は開発中のものです。 mailto:sage [2009/03/10(火) 22:07:24 ID:OHC3eltB]
- >715
普通非同期アクセスするだろ。 JK
- 721 名前:名前は開発中のものです。 mailto:sage [2009/03/10(火) 22:48:52 ID:GPL7IZe+]
- >>711
>特定プライオリティがついているオブジェクト群は他との相互作用が無いと決めておいて、 は、オブジェクト群じゃなくてタスク群と書くべきだったね。 なんか混ざっちゃった。 >>715 自分も昔から気になってた。 ゲーム機で、ディスク(に限らず)からのデータ転送を非同期にやったりすると、 消費されるメモリ(あるいはバス)バンド幅の変化が計算しづらくなったりしないのかな。 それともDMAとかで消費されるバンド幅は、割と安定して予測できるもんなんだろうか。 その辺を実際にいじった経験が無いし、Web上でも情報を見た覚えが無いから分からないんだ・・・。
- 722 名前:名前は開発中のものです。 mailto:sage [2009/03/10(火) 23:19:25 ID:DFTfic3i]
- >>721
> ゲーム機で、ディスク(に限らず)からのデータ転送を非同期にやったりすると、 > 消費されるメモリ(あるいはバス)バンド幅の変化が計算しづらくなったりしないのかな。 もちろん、なる。 だから RPG のように「どうしても間に合わなかったらフレーム描画をスキップしてもおk」な ゲームでは使うが、対戦格闘とかだと避ける。
- 723 名前:名前は開発中のものです。 mailto:sage [2009/03/10(火) 23:58:04 ID:OHC3eltB]
- フルにディスクアクセス行ったところで、光学ドライブからの転送量なんてたかが知れてるからな。
- 724 名前:ID:EEKBitmg ◆HSP4mee/SU mailto:sage [2009/03/11(水) 00:28:43 ID:xmrBPpjK]
- >>711
厨はそもそものタスクシステムなんて知らないから、そもそもの目的も知らない 厨が目にすることができる資料から分かること。それは ジョブ1を分割したものをタスクT11,T12,T13,…,T1jとし、ジョブ1を逐次処理したい ジョブ2を分割したものをタスクT21,T22,T23,…,T2jとし、ジョブ2を逐次処理したい ジョブ3を分割したものをタスクT31,T32,T33,…,T3jとし、ジョブ3を逐次処理したい ・・・ ジョブi を分割したものをタスクTi1 ,Ti2 ,Ti3 ,…, Tijとし、ジョブi を逐次処理したい ──順次処理─→ WAIT_VBLANK then execute[T11,T21,T31,…,Ti1] │逐 WAIT_VBLANK then execute[T12,T22,T32,…,Ti2] │次 WAIT_VBLANK then execute[T13,T23,T33,…,Ti3] │処 … │理 WAIT_VBLANK then execute[T1j ,T2j ,T3j ,…,Tij] ↓ 以上が>>2の『システム』部分がやってくれること
- 725 名前:ID:EEKBitmg ◆HSP4mee/SU mailto:sage [2009/03/11(水) 00:38:10 ID:xmrBPpjK]
- >>724
これだけ見ると協調的に並行動作させることが「できる」仕組みと分かる でも、>>2で紹介されるこれの使い方のお手本、つまりタスクの中身を見ると 何か怪しげなことしてる。走査回数とメモリ消費をケチるためにプライオリティ というものを使ってる。以前に出てた話だけど、something(t+Δt)を求めるために 参照する外部情報が狂ってる。上図の横方向の前後関係に依存させてしまってる 本来なら並行であるはずの関係を直列の関係にしてるというか、なんていうの? 並列化してリプレイ情報を食わせたら結果が変わってしまうでしょ 並行動作というかフェイク並行動作してるんだよね
- 726 名前:ID:EEKBitmg ◆HSP4mee/SU mailto:sage [2009/03/11(水) 00:58:38 ID:xmrBPpjK]
- >>711
>オブジェクトの生成破壊が多くてフラグメントを起こしがちなゲームにおいてデフラグを扱えること これって何?GCしてるの?どういうタイミングで? それってメモリアロケータの都合じゃないの?関係ねー気がする
- 727 名前:ID:EEKBitmg ◆HSP4mee/SU mailto:sage [2009/03/11(水) 01:12:12 ID:xmrBPpjK]
- まぁ、なんだ。厨的に思うのは
> ──順次処理─→ >WAIT_VBLANK then execute[T11,T21,T31,…,Ti1] │逐 >WAIT_VBLANK then execute[T12,T22,T32,…,Ti2] │次 >WAIT_VBLANK then execute[T13,T23,T33,…,Ti3] │処 >… │理 >WAIT_VBLANK then execute[T1j ,T2j ,T3j ,…,Tij] ↓ タスクシステムとか仰々しい名前の割りに、それが提供する機能を分析すると ↑みたいな、限りなくどうでもいいことしかしてないということがわかる これがやりたいなら初めからそう書けばいい。>>2みたいなチンポコリンな実装を 21世紀にもなってタラタラ書くなバーカって思う。寝る
- 728 名前:ID:EEKBitmg ◆HSP4mee/SU mailto:sage [2009/03/11(水) 02:02:53 ID:xmrBPpjK]
- 起きた。なんか間違えた。まぁいいや。逐次処理って違うや。もういい
- 729 名前:名前は開発中のものです。 mailto:sage [2009/03/11(水) 02:51:56 ID:QLymkmBo]
- >>724
>厨はそもそものタスクシステムなんて知らないから、そもそもの目的も知らない えっとまず始めに確認したいんだけど、「厨」ってのはID:EEKBitmgさんのことでいいのかな?(違ってたらゴメン) で、「そもそものタスクシステム」の話なんてしてないよ。知ってても知らなくてもどうでもいいよ。 でも「そもそもの目的」は>>2を見れば理解できるでしょ。どれもすごく丁寧で分かりやすい記事だし。 以降、改行箇所は適宜勝手に変更する。ごめん。 >>725 >走査回数とメモリ消費をケチるためにプライオリティというものを使ってる。 いや、走査回数とメモリ消費をケチるためにプライオリティを使ってるわけじゃないと思うんだけど・・・。 >以前に出てた話だけど、something(t+Δt)を求めるために >参照する外部情報が狂ってる。上図の横方向の前後関係に依存させてしまってる これはつまり、タスクAの処理結果を見てタスクBの処理をしないといけない場合、タスクシステムだと AとBのどちらが先(>>724の図で言えば左)にくるのか分からないので困る、って意味かな?(違うかな?) でもタスクシステムには、Aを必ずBより先に実行させる方法があるよね。それは分かってるよね? で、タスクBがタスクAに依存してるのだとしたら、それはタスクBの問題(あるいは性質)であって、 タスクシステムの問題とは全く別の話だよ。 >並列化してリプレイ情報を食わせたら結果が変わってしまうでしょ なんで突然、並列化の話が出てくるの? タスクシステムの目的は並行動作だよね。 これは>>710のおかしい点でもあるんだけど、>>2では最初から並列動作なんか考えてないんだから、 同期処理とかが組み込まれてないのは当たり前だよね。 >並行動作というかフェイク並行動作してるんだよね 並行とフェイク並行の違いって何なんだろう。なんか並行と並列の違いを理解してない匂いがする。
- 730 名前:名前は開発中のものです。 mailto:sage [2009/03/11(水) 02:53:04 ID:QLymkmBo]
- 続き。
>>726 >これって何?GCしてるの?どういうタイミングで? え、ちょっと待って、>>2の話をしてるんだよね? 本当に>>2読んだ?? ID:EEKBitmgさんの言う>>2って、>>2のうちのどれのこと? >>2を読んだのかどうかって話で思い出した。>>464の、この部分。 >『型システムを否定している。コンパイラによる最適化を阻害してる。自作ジャンプテーブルで条件分岐は > 高速化されるという先人のチョイテク・豆知識を天下り式に真似ているのではないか。それは太古の簡素な > CPUアーキテクチャに依存した公式に過ぎない。定理ではない』 断言してもいいけど、ID:EEKBitmgさんとこの助教授さんは>>2をちゃんと読んでないか、あるいは 頭のネジが足りてないよ。それとも助教授ってこんなもんなのか。知り合いにいないから知らんけど。 ところで課題レポートはちゃんと提出した? >>727 >タスクシステムとか仰々しい名前の割りに、それが提供する機能を分析すると ちっとも分析できてないよ・・・。 >↑みたいな、限りなくどうでもいいことしかしてないということがわかる 全く分かってないよ・・・。
- 731 名前:名前は開発中のものです。 mailto:sage [2009/03/11(水) 04:20:03 ID:yoM2Y43z]
- HSPくんは厨房のくせになかなかどうして要点を押さえてるのう
若干正確さに欠ける点に目をつむって処理を端しょってたことに勘付いたか
- 732 名前:名前は開発中のものです。 mailto:sage [2009/03/11(水) 07:22:34 ID:nhOwJy5w]
- まぁ、学生さんが理想を追い求めるのは悪いことじゃない。
ただ、現実はそれに立ちはだかると言うことは知っておいた方がいい。
- 733 名前:名前は開発中のものです。 [2009/03/11(水) 07:26:19 ID:NK6nIuY5]
- タスクシステム完全に終わったな
- 734 名前:名前は開発中のものです。 mailto:sage [2009/03/11(水) 08:32:00 ID:74bG+9We]
- タスクシステムのプレゼン動画
ttp://www.nicovideo.jp/watch/sm2078250
- 735 名前:名前は開発中のものです。 mailto:sage [2009/03/11(水) 13:15:27 ID:wSuVQdvJ]
- ていうか細切れに順番に処理してくれるシステムなら何でもいいんじゃね?
適当にクラス作ってリストにして順番に実行 内部では各自カウンタとステート持って勝手にやる、死んだり生きたりはおかしなことにならないようにシステムでええ感じに処理してねー とまぁ簡単なものならこんなのでいいじゃろ 複雑なのはしらん
- 736 名前:名前は開発中のものです。 [2009/03/12(木) 07:22:55 ID:7byKm2pB]
- 誰もそんな話してないし
- 737 名前:名前は開発中のものです。 mailto:sage [2009/03/12(木) 11:49:54 ID:Rx7RnDpA]
- しろよ
- 738 名前:ID:EEKBitmg ◆HSP4mee/SU mailto:sage [2009/03/12(木) 23:06:36 ID:SEPBaONy]
- >>729-730
>なんで突然、並列化の話が出てくるの? それは『ボクのタスクシステムはどっちかっつーと並列!』と言っていた >>632のおじちゃんに言ってよね。CodeZineなんて初っ端で並列処理と言い切ってる。 あと生協で逆引きゲームプログラミングとかいう本をパラパラーっと立ち読みしたら 『並列動作システム』とか書いてあったし。『並列処理動作』してるんだって。ゲラゲラゲラー もうさ、ハッタリかましすぎだよね。説明してる内容と、それを一言で表現するときに どこかから引っ張ってきた用語が全く一致してないんだよね。厨房を騙くらかそうと必死でしょ 今さっき覚えてきた単語をとりあえずあててみました。みたいな。ちょっとね、おかしいとおもう その点Logician Lord、White Paper、けんもほろろのページは並列なんて一言も言ってない 上に比べたらまだマシな部類なのかなーと思える。タスクシステム解説つっても千差万別だね
- 739 名前:ID:EEKBitmg ◆HSP4mee/SU mailto:sage [2009/03/12(木) 23:11:52 ID:SEPBaONy]
- ただ、まともっつってもなんか変なんだよね。組み込みシステムか何かから引っ張ってきた
知識を広めた人がいたんだろう、というのは厨の俺でもなんとなくわかる。それがギョーカイ とかいうよく分かんない謎の秘密結社みたいな世界で伝播する過程でおかしなことになって ミュータントみたいになっちゃってるんじゃない?この人たちが言ってるTCBとかタスクとか ちょっと変わってるよね TCBって、ゲーム機よりショボい組み込み機器でもプログラムカウンタとかスタック アドレスが入ってる。リエントラントな仕組みを提供すんだよね。だから周期タスクは periodictask() { while(1){ dosomething(); rot_rdq(); } } みたいな感じで書く。タスクは並行動作できるんだ。でも>>2の『タスク』はできない。 サブルーチンの処理を全て完了しないと処理を返せない。タスク同士は完全に 逐次処理なんだ。擬似並列動作ができない
- 740 名前:ID:EEKBitmg ◆HSP4mee/SU mailto:sage [2009/03/12(木) 23:24:44 ID:SEPBaONy]
- でも>>2の言うタスクってのは、ジョブを時間領域で分割したものだから
タスクの作り方によっては、複数のジョブ同士の並行動作はできるかもね >タスクシステムの目的は並行動作だよね。 >>2の話?んなこと俺が知るかっつーカンジ 俺は>>632のどっちかっつーと並列とかいう謎のタスクシステムが 並行動作してるのかなーとESPしてみただけだしー。推測でしかないしー >>2はふたを開けてみればゲームオブジェクトのUpdateメソッドのディスパッチャー 単なるレディキューだからどうとでも使えるわけだしー このメソッドの分け方次第で並行動作もできるんだろうね。でも ゲームオブジェクト一個につきタスク一個とか言ってるページもあるから ちょっと怪しいね。Update()一個じゃあ、>>725で書いた矛盾にぶつかると思う
- 741 名前:ID:EEKBitmg ◆HSP4mee/SU mailto:sage [2009/03/12(木) 23:39:16 ID:SEPBaONy]
- >385 名前:名前は開発中のものです。 投稿日:2009/02/10(火) 01:05:40 D1ATM4io
>>384 >厳密にやるならワークをそれぞれ2つ持って、フレームごとにフリップだろ。 >面倒だったら一つ一つ更新して、n+1がnを参照してもn+1を参照しても対して問題が無い様にするさ。 >どこまで誤差を容認できるか知らんけど。 なんか臭いなぁ、と思ってたのがここ。CodeZineはこの誤差を容認するほうを選んでるよね。 具体的にはEnemyとMyShotの関係。これタスクリストとかいうものの中でごちゃ混ぜになってるでしょ 当たり判定のときに、自機弾って移動速度速いからさ、敵と当たったり当たらなかったりすると思うよ ぜったい気持ち悪い現象が起きる理不尽ゲーになると思う
- 742 名前:ID:EEKBitmg ◆HSP4mee/SU mailto:sage [2009/03/12(木) 23:53:29 ID:SEPBaONy]
- >>741
× 当たり判定のときに、自機弾って移動速度速いからさ ○ 自機弾って移動速度速いからさ この不快な現象を発生させたくないなら EnemyとMyShotの実行順序をごちゃ混ぜにしちゃ駄目でしょ ごちゃ混ぜのままならせめて当たり判定タスクと移動タスクを分けないと あとさ、必要は無いけど、外部参照されるパラメータは前フレームの状態を 保持したほうがいいよ 例えばロックオンして置き撃ちするときに、targetposition(t)を得るか targetposition(t+Δt)を得るかがpriorityとかいうものによって変わるって おかしいでしょ
- 743 名前:ID:EEKBitmg ◆HSP4mee/SU mailto:sage [2009/03/13(金) 00:03:15 ID:w7sHy3uX]
- >>742
× priorityとかいうものによって変わる ○ タスクリストの前後関係とかpriorityとかいうものによって変わる >>730 >>これって何?GCしてるの?どういうタイミングで? >え、ちょっと待って、>>2の話をしてるんだよね? 本当に>>2読んだ?? >ID:EEKBitmgさんの言う>>2って、>>2のうちのどれのこと? 俺と同い年の人が書いたと思しき記事だからボコりたくなかったけど 流れでそうなっちゃったから堰を切ったように書いてるけどさ CodeZineの記事は他と比べて相当違うんだよね メモリ割り当てなんて関係ないのにさ、糞みたいなGCかましてるし STGであんな処理をかますフレームが不定期に存在するって変でしょ 糞みたいな自前のメモリ割り当てやってるからあんなGCが必要に なるんでしょ。何のための自前アロケータなんだか分からない 厨的には、あんな糞実装は氏んじゃえって思う
- 744 名前:名前は開発中のものです。 mailto:sage [2009/03/13(金) 00:16:52 ID:kkRWD5W+]
- タスクシステム擁護派じゃないけどさ・・・
雰囲気つかむだけのサンプルにアホとか言っちゃうのはどうよ? こういうものは思想だけ頂いて自分の好きなように組んでくれって物じゃないのかね・・・ GCがどうのっていうのも処理落ちしたときにはじめて考えればいい所だし、 ただたんに自分の流儀に合わないから貶すと見えますよ。
- 745 名前:ID:EEKBitmg ◆HSP4mee/SU mailto:sage [2009/03/13(金) 00:24:04 ID:w7sHy3uX]
- >>729
>>>2では最初から並列動作なんか考えてないんだから、 >同期処理とかが組み込まれてないのは当たり前だよね。 性格悪いレスになるけど書いちゃえ! ぶっぶー。並列動作じゃないから同期処理が要らないってのは間違い >>730 CodeZineの記事のコードってさ、生存中のゲームオブジェクトのアドレスが不定期に変わっちゃうんだよね あのサンプルってさ、あるゲームオブジェクトのレーダーシステムが特定の目標をロックオンして追跡するとき どうすんの? 例えばあのサンプルの敵弾ってさ、毎回Playerをタスクリストから探してるんだよね。バカだからさ priority=1.0のPlayerはタスクリストの一番最後に入ってるのに、先頭からナメて探すの。バカだよね こんな調子で、ロックオンターゲットも、毎フレーム、タスクリストから探し出すわけ? 多目標同時対処能力を保有する機体が入り乱れたら愉快な処理量になりそうだね こんなアホなことになるのはさ、糞アロケータの都合で不定期に糞GCかますからでしょ? あんた>>711で『デフラグができること』を取り上げて これを素朴な形で実装したのがタスクシステムだとか言ってるけど、素朴って何よ? 明らかに必要ねーことしてるし。バカじゃねーのくたばれバーカバーカって言いたかったけど ずっと我慢して黙ってたんだ。でももう書いちゃった。
- 746 名前:ID:EEKBitmg ◆HSP4mee/SU mailto:sage [2009/03/13(金) 00:30:00 ID:w7sHy3uX]
- >>744
だからずっと黙ってたんじゃん。心情的にはCodeZineの記事は 放置したかったんだけど、擁護派がデフラグデフラグとかいうから 書かざるを得なくなった。HSP使いとしては同じ厨を攻撃するのは遺憾 遺憾の意です。本意じゃありません。ごめんなさい><
- 747 名前:名前は開発中のものです。 mailto:sage [2009/03/13(金) 00:40:01 ID:idYT2cwA]
- >746
> だからずっと黙ってたんじゃん。 バカには現実を突きつけてやるしかないんだよ。
- 748 名前:名前は開発中のものです。 mailto:sage [2009/03/13(金) 00:45:14 ID:9zwO86zu]
- >>747
突きつけても、見えない or 見ようとしないけどな。大抵。
- 749 名前:名前は開発中のものです。 mailto:sage [2009/03/13(金) 01:00:19 ID:bP/yrlKM]
- ID:EEKBitmgはCodeZineの記事の作者と同じにほいがする。
ID:EEKBitmgの方が筋は良さそうだが。 >>744 CodeZineの記事は昔論争になったことがあって擁護派らしき人からの批判も多かった。 批判の方が多かったような。 とにかく駄目なものを技術的な説明を沿えて駄目と言うのは良いでしょう。
- 750 名前:名前は開発中のものです。 [2009/03/13(金) 07:26:08 ID:2Nwh1Ok5]
- とりあえず並列化の話はやめろよ
この仕組みじゃどう味付けしたって並列化なんてできやしねぇから
- 751 名前:名前は開発中のものです。 mailto:sage [2009/03/13(金) 10:49:20 ID:t4cURNWA]
- なんでもタスクで一元管理
まとまってていいね! ぐらいの感覚なんじゃないの? 腕である人ならいい感じにまとめられるでしょうに ギャーギャー噛み付くほどのものかねぇ もしかして、今時のゲームにも導入されたりして被害被ってるの?
- 752 名前:名前は開発中のものです。 [2009/03/13(金) 12:37:20 ID:2Nwh1Ok5]
- 腕のある人はこんなもん使わないから(笑)
- 753 名前:並列さん ◆dPfetnROQg mailto:sage [2009/03/13(金) 16:18:33 ID:nlP2vU3h]
- >>745
> priority=1.0のPlayerはタスクリストの一番最後に入ってるのに、先頭からナメて探すの。バカだよね それは別にhash使えばO(1)で検索できるんだし、本質的な欠陥じゃないと思うが。 > これを素朴な形で実装したのがタスクシステムだとか言ってるけど、素朴って何よ? > 明らかに必要ねーことしてるし。 まあターゲット環境とゲームの規模によるけど、何らかの形でデフラグはあったほうがいいと思うよ。 working setを縮小したほうがプロセッサのcache効率が上がるのが普通だし、 タスクシステムはプライオリティ順にタスクに対してアクセスしていくのだから プライオリティ順にメモリ上に配置されて、アクセスするメモリが連続しているほうが (memory cacheの観点から見て)断然速い。 タスクシステムどうのという話はおいとくとして、ひょっとして、みんなmemoryのcompactionとか処理を書いてないの? これを無用の長物みたいに言われると、もう議論の前提が違うとしか言いようがないんだけど。
- 754 名前:名前は開発中のものです。 mailto:sage [2009/03/13(金) 21:00:36 ID:kAszbGcI]
- >>738
タスクシステムの構造を見れば、これは並行動作を目的としたものだと分かるよね?(分からない?) その文脈で「並列」という言葉が出てきても、それは並行のことを意味しているとは思わないのかな? それを書いた人が勘違いしてるのかもしれないし、意識してないのかもしれないし、並行と並行の違いを 知らないのかもしれないし、あるいは文脈上区別の必要が無いと判断したのかもしれない。 いずれにせよ、「並列って言ってるけど並列じゃないじゃん」という批判は、「並列」という言葉を 持ち出した人に対しては当たるかもしれないけど、タスクシステムへの批判としては的外れだよね。 それともID:EEKBitmgさんは、誰かがタスクシステムのことを並列だと書いただけで、タスクシステムの 目的が並列動作だと考えたのかな? それってタスクシステムのことを理解したうえで批判していると言えるのかな? あと、用語の使い方が適切でないという点に関しては、ID:EEKBitmgさんも全く人のこと言えないよ。 私自身のスタンスとしては、他人が多少変な言葉を使ったとしてもできるだけその意を汲もうとするし、 逆に自分の言葉はできるだけ分かりやすく正確になるようにしていつもり(あくまでつもりw)だけど、 ID:EEKBitmgさんは全く逆のスタンスなのだろうか? 言葉が不正確なのに、他人の言葉尻は捕らえるよね。 >>739 マルチタスクOS等におけるタスクと、タスクシステムのタスクは設計も目的も意味も違うのに、 それを混同してしまっている、のか混同させようとしているのか分からないけど、このレスはまるまる無意味。 擬似並列動作とかいう怪しげな言葉の意味も分からない。
- 755 名前:名前は開発中のものです。 mailto:sage [2009/03/13(金) 21:03:23 ID:kAszbGcI]
- >>740
>>タスクシステムの目的は並行動作だよね。 >>>2の話?んなこと俺が知るかっつーカンジ >俺は>>632のどっちかっつーと並列とかいう謎のタスクシステムが(以下略) つまり>>2を読んでも、タスクシステムの目的が理解できなかったってこと? というか、この話の流れを>>729,>>725,>>724,>>711と遡っていけばID:EEKBitmgさんが>>2の話を しているのは明らかなのに、いきなり>>632を引っ張り出してきて言い訳するのは見苦しいと思う。 それとも単に文脈を追えてないの?何の話をしているのか分かってないの? >>>725で書いた矛盾にぶつかると思う 矛盾ってどれのことだろう。最後の二行のこと? だとしたらやっぱりタスクシステムの動作を理解できてないよね・・・。
- 756 名前:名前は開発中のものです。 mailto:sage [2009/03/13(金) 21:04:17 ID:kAszbGcI]
- >>741 >>742
全体的に言えることだけど、ID:EEKBitmgさんは>>2のサンプルコード個別の事例を批判したいんだろうか。 それともタスクシステムのことを批判したいんだろうか。サンプルコードは、単なるサンプルなんだから 色々な不具合や足りない部分があって当たり前だよね。実際に使いたい人が、実際に使えるように 直せばいいだけで。それができないような構造的な欠陥であれば、タスクシステム自体が駄目だという話に なるのだろうけど。(そういう話が聞きたいんだけどなぁ・・・。) で、>>729に答えてもらえなかったから改めて聞くけど、EnemyとMyShotの実行順序をごちゃ混ぜに したくないなら、ちゃんと順序つけてごちゃ混ぜにしないようにタスクシステムを使うことはできるよね。 その仕組みがちゃんとタスクシステムにはあるよね。それは分かってる?分かってないの?どっち?
- 757 名前:名前は開発中のものです。 [2009/03/13(金) 21:10:36 ID:2Nwh1Ok5]
- なんでタスクシステムなんて使わなきゃいけないの?
メリットを説明してよ
- 758 名前:756の続き mailto:sage [2009/03/13(金) 21:35:33 ID:gk02bKgy]
- >>745
>性格悪いレスになるけど書いちゃえ! >ぶっぶー。並列動作じゃないから同期処理が要らないってのは間違い 詭弁。 「並列動作じゃないから同期処理が要らないってのは間違い」という言葉だけは一般論として正しいけど、 「並列動作じゃないから同期処理が要らない」なんて話は誰もしてないよ。並列動作を前提としていないから 並列動作のための同期処理は書かれていない。一般論としては、並列でなくとも同期処理が必要な場合も あり得るけど、>>2においてはそういう同期処理も必要無いから書かれていない。それだけの話。 詭弁と分かって書いているのなら、確かに性格が悪いね。 これで反論の体をなしているとでも思っているのなら、悪いのは性格ではなくて頭の方。
- 759 名前:名前は開発中のものです。 mailto:sage [2009/03/13(金) 21:38:57 ID:gk02bKgy]
- >こんなアホなことになるのはさ、糞アロケータの都合で不定期に糞GCかますからでしょ?
>あんた>>711で『デフラグができること』を取り上げて >これを素朴な形で実装したのがタスクシステムだとか言ってるけど、素朴って何よ? うーん確かに、CodeZineの実装は>>749さんの言うとおり、賛否両論起こるだろうことは分かる。 一応、>>2を前提にスレが進んでると思ったから、デフラグもタスクシステムの利点に入れちゃったけど、 得失もあることだし、単純にタスクシステムの利点として挙げるのは無理があったかな。 というかずっと昔に初めてタスクシステムを知ったときには、デフラグの仕組みは無かったなそういえば。 てなわけで>>711での「タスクシステムの良い点」の記述からは、デフラグの件は除くよう訂正させてください。 素朴って何よ?と言われると困るなぁ・・・。特に高度な管理や複雑な手法を使わず、メモリを直接 いじくりまわすあたりを素朴だと感じたんだけど。人によっては全然素朴だとは感じないかもね。 あと余談というか一つ忠告だけど、GCとコンパクションはきちんと区別した方がいいよ。 ここでならいいだろうけど、真面目な議論の場で混同してたらバカと言われちゃうよ。 >明らかに必要ねーことしてるし。バカじゃねーのくたばれバーカバーカって言いたかったけど 得失の「得」の部分も考えずに、明らかに必要無いとしてしまうのは、考えが足りてないからだよ。
- 760 名前:名前は開発中のものです。 mailto:sage [2009/03/13(金) 21:43:42 ID:gk02bKgy]
- うーわーもうダメだ。つっこみどころが多過ぎて収拾がつかない。
これ以降はちょっと自重します。みなさん長々と書いてごめんなさい。 あと今読み返して気付いたけど、>>754の「並行と並行の違い」は「並行と並列の違い」の書き間違いです。 恥ずかしw
- 761 名前:名前は開発中のものです。 [2009/03/13(金) 21:54:09 ID:2Nwh1Ok5]
- タスクシステムのメリットを説明してよ
- 762 名前:名前は開発中のものです。 mailto:sage [2009/03/13(金) 21:59:22 ID:idYT2cwA]
- 本人がメリットだと思わなければ、他人が何を説明したところで無駄な話だ。
- 763 名前:名前は開発中のものです。 mailto:sage [2009/03/13(金) 22:59:53 ID:IbELy54y]
- >>757,761
>427
- 764 名前:ID:EEKBitmg ◆HSP4mee/SU mailto:sage [2009/03/14(土) 01:05:18 ID:lcPBznJ3]
- >>753
ごめんなさい>< 厨房はガベージコレクションとコンパクションを混同してた。ご指摘どうもありがとう >それは別にhash使えばO(1)で検索できるんだし、 そうだろ?メモリコンパクションの重要な目的のひとつがリニアアクセスによる高速化ならば その利得を殺すようなGetTask()の実装じゃお話にならないよね。初心者用ったってありゃないよ 無い方がマシな盲腸みたいな機能付けといて初心者向けサンプルもへったくれもない サンプルってのは反面教師じゃない。サンプルってのはゴミじゃない あのサンプルはPC用。OSはページング方式で仮想アドレスに実アドレスを割り当ててる ページサイズは4KB単位?で、CPUのキャッシュはキャッシュラインサイズってのがあって これがL3だのL2だのL1だのでいろいろあるんだよね?実際、仮想アドレス上でバランバランでも うろたえるほどの速度低下はない。むしろゴマ粒みたいな小さな処理をごちゃ混ぜ連結リストに 投げ込んで、リストを走査しながら関数アドレスで処理を呼び出すっていう仕組みを捨てる ほうが高速化する
- 765 名前:ID:EEKBitmg ◆HSP4mee/SU mailto:sage [2009/03/14(土) 01:13:57 ID:lcPBznJ3]
- >>764
×むしろゴマ粒みたいな ○高速化したいなら、むしろゴマ粒みたいな
- 766 名前:ID:EEKBitmg ◆HSP4mee/SU mailto:sage [2009/03/14(土) 01:25:14 ID:lcPBznJ3]
- だいたいさ、あーいう小粒なSTG作るときに、どうしても自作アロケータ用意したいなら
固定長メモリプールでいいじゃん。boost::poolとかさ
- 767 名前:ID:EEKBitmg ◆HSP4mee/SU mailto:sage [2009/03/14(土) 01:46:18 ID:lcPBznJ3]
- >>758
つーかお前、前>>510だろ。当たってる?当たってたらなんご褒美ちょうだい チョー陰険だし、やたらどうでもいいことで噛み付いてくるし、顔真っ赤になると 言ってること滅茶苦茶になるから多分当たってるだろ。な。陰険アマチュア野郎。タスクシステム=DB君。 俺が性格悪い?まぁアンタほどじゃないよ >>730みたいな内容ゼロのハッタリゴミクズチンカスレスして悦に浸る中年には適わないね 俺が頭悪い?それ既出ジャン?>>355で既に認めてっからよく嫁カス。何今更言ってんだ >>>2では最初から並列動作なんか考えてないんだから ま、この点でアンタとの争点ないのは分かってるから。せいぜい無視したら? あんたさ、それが分かってるのに何でそこんとこで噛み付くの?俺が気に入らないだけだろ
- 768 名前:ID:EEKBitmg ◆HSP4mee/SU mailto:sage [2009/03/14(土) 02:33:21 ID:lcPBznJ3]
- >>766続き
連結リストのメモリ配置を整えましたー。速くなりましたーっていうけどさ そんなことするならいっそのこと配列にしてダブルバッファリングしたほうがいい
- 769 名前:名前は開発中のものです。 mailto:sage [2009/03/14(土) 02:33:35 ID:nYYNsR/2]
- 処理の順番追うだけでもうやる気なくなるわー。擬似タスクとか死ねばいいのに。
- 770 名前:名前は開発中のものです。 mailto:sage [2009/03/14(土) 02:44:33 ID:JpSKv17w]
- 構造が単純なのでゲーム毎の仕様にあったカスタマイズがしやすい、ってのもタスクのメリットの一つかなぁ
でもこの辺のメリットは”知る”ものじゃなくて”理解”するものだから、実際にゲーム作った経験の無い人には 分からないかもしれん。 なんかアンチタスクって独身スレにいる「結婚のメリット教えてくれ!」ってのと同じ感じ。 「絶対に幸せになる保証が無い限り結婚しない!」ってのがいたけど、あれととても似ている… タスクはゲーム作るときに使うもので、ゲーム作らないならタスクにこだわる必要ないし 実際にタスク以外の方法でゲームつくってるならそれはそれでタスクなんて気にしなくてよい。 アンチはなんでタスクシステムに粘着してるんだろう?
- 771 名前:名前は開発中のものです。 [2009/03/14(土) 03:17:55 ID:wqRDNWfr]
- >>770
プロ気取りがしたり顔で出鱈目いっちゃ駄目よん
- 772 名前:並列さん ◆dPfetnROQg mailto:sage [2009/03/14(土) 03:19:14 ID:Nif8vd+k]
- >>764
> 実際、仮想アドレス上でバランバランでもうろたえるほどの速度低下はない。 その部分に限って言えば、バランバランにメモリをアクセスするのと、 リニアにアクセスするのとでは数倍以上変わると思うけど。 全体に占める割合は…ゲームによるけど、何万パーティクルも表示するつもりなら致命的だと思うけど。 なんか同人規模のシューティングとかしか作ったことのない人が何か言っても説得力ないよ。
- 773 名前:名前は開発中のものです。 [2009/03/14(土) 03:29:59 ID:wqRDNWfr]
- 厨房のHSP大好き君は発言内容が粗削りだが目の付け所はまずまずだ
ゲームをよく作ってる感じがするのねん
- 774 名前:名前は開発中のものです。 mailto:sage [2009/03/14(土) 06:17:22 ID:QgvbbJg3]
- >>773
なんでおまえはそんな偉そうなんだよw このスレで一番あてにならないのは具体的なことは言わないくせに 妙に偉そうにしてるやつだとおも 擁護アンチ問わず
- 775 名前:名前は開発中のものです。 mailto:sage [2009/03/14(土) 13:16:45 ID:nGWrBYC8]
- >>770
タスクシステムを使って書かれたプログラムを引き継ぐ羽目になって(バグが収束せずに メインプログラマ交代)、散々苦労した。
- 776 名前:名前は開発中のものです。 mailto:sage [2009/03/14(土) 16:42:18 ID:TdAuyVy6]
- >>767
>つーかお前、前>>510だろ。当たってる?当たってたらなんご褒美ちょうだい ぶっぶー。チョー陰険だから前510だろってのは間違い! 初出は>>682で、以下ID:E0xOAlNR、ID:0j+yjPij、ID:GPL7IZe+、ID:QLymkmBo、 ID:kAszbGcI、ID:gk02bKgy、かな。抜けてるかもしんないけど多分こんだけ。 てか、あらためてスレを斜め読みしてみたら、ID:EEKBitmgさんて高専の人だったのね。 道理で、知識だけはあっても、考え方も物言いも子供っぽいわけだ・・・。 なんかもうすでにガキの喧嘩の捨て台詞みたいなレスになっちゃってるから、>>767に いちいち突っ込むのはやめるけど・・・「俺が気に入らないだけだろ」みたいに、 下らない衝動を私に投影するのはやめてね。 上のリスト見れば分かると思うけど、おかしなことを書いてると思った人に対して それはおかしいんじゃない?って書き込みしてるだけだよ。
- 777 名前:名前は開発中のものです。 [2009/03/14(土) 18:34:28 ID:rFb0Dzvp]
- ごちゃごちゃいいわけはいいからタスクシステムのメリットぐらい説明しろよ
- 778 名前:名前は開発中のものです。 mailto:sage [2009/03/14(土) 19:02:02 ID:DOdjkrEe]
- メリットはリンスインシャンプーがあることだろ常考・・・
- 779 名前:名前は開発中のものです。 mailto:sage [2009/03/14(土) 19:07:02 ID:C4Fq/WX8]
- >>777
>763
- 780 名前:名前は開発中のものです。 mailto:sage [2009/03/14(土) 20:18:24 ID:JpSKv17w]
- >>775
”タスクシステム”を”C言語”とか”ポインタ”に置き換えても成立するな。 バグが収束せずにメインプログラマ交代って時点で既に…
- 781 名前:名前は開発中のものです。 mailto:sage [2009/03/14(土) 21:24:01 ID:QgvbbJg3]
- CG板だと、タスクシステムを Shade とか sai に置き換えても違和感無いんだぜ?
- 782 名前:名前は開発中のものです。 mailto:sage [2009/03/14(土) 22:13:43 ID:DOdjkrEe]
- >バグが収束せず
ただ単にコーディングレベルの問題ではないか?w
- 783 名前:名前は開発中のものです。 [2009/03/15(日) 00:16:39 ID:fq8JV7Q3]
- >>779
は?何もかいてないけど? 馬鹿がわかりもしないでレスつけないでくれない?
- 784 名前:510 mailto:sage [2009/03/15(日) 02:45:36 ID:4et5xcyh]
- タスクシステムが並列化に向く向かないで盛り上がっているようだが。
書いてみればすぐ分かること。 タスクシステム並列化版 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/8978.zip 各スレッドでタスク群の添え字をInterlockedIncrementしつつループまわすだけ。 なお、並列化に関係ない部分は手抜き実装。
|

|