- 1 名前:デフォルトの名無しさん mailto:sageteoff [2015/09/08(火) 15:26:10.41 ID:x6IFoIJM.net]
- 前スレ
peace.2ch.net/test/read.cgi/tech/1422445064/
- 285 名前:デフォルトの名無しさん mailto:sage [2015/10/10(土) 22:10:02.16 ID:wZWPBuKi.net]
- >新しいupdate増えるたびに複数人で同じソース触ることになったり
それが管理というものでは?
- 286 名前:デフォルトの名無しさん mailto:sage [2015/10/10(土) 22:12:10.77 ID:S/u4hkZt.net]
- 管理が面倒になるって話ね
今はその面倒な部分はソフトがやってくれるけど、それでも積極的に同時編集しようとは思わないけど
- 287 名前:デフォルトの名無しさん mailto:sage [2015/10/10(土) 23:22:41.43 ID:/CcLyhWy.net]
- マルチスレッド
- 288 名前:デフォルトの名無しさん mailto:sage [2015/10/11(日) 10:59:02.63 ID:VUX4VOf2.net]
- for文を並列化すれば解決
- 289 名前:デフォルトの名無しさん mailto:sage [2015/10/12(月) 11:49:33.37 ID:j9MpNgGM.net]
- ある場所に1秒かけて移動してから
攻撃モーション みたいなのがスマートに出来ない。 あとそんな事のためにスレッド使うとか論外 競合を起こさないようにするのに神経使うし しょうもない事にスレッドを使うと性能が劣化する
- 290 名前:デフォルトの名無しさん mailto:sage [2015/10/12(月) 11:59:37.70 ID:DSHcQooM.net]
- だれもそんな物のためにスレッドを使うと主張している人は居ないと思うが
脳内で喧嘩しているの?
- 291 名前:デフォルトの名無しさん mailto:sage [2015/10/12(月) 12:17:01.78 ID:j9MpNgGM.net]
- >>285
>>282
- 292 名前:デフォルトの名無しさん mailto:sage [2015/10/12(月) 12:51:35.74 ID:T+LPxSwN.net]
- >>284
それを今どうやっているのかを説明した方がよいと思います。 そうすれば、それよりスマートさで劣ると思われる方法しか思いつかない人が、 自身の案を披露して恥をかくことも無いでしょうし、議論がよりスマートになります。
- 293 名前:デフォルトの名無しさん mailto:sage [2015/10/12(月) 13:36:54.11 ID:MLQvCbgC.net]
- 別にコルーチンの代わりにスレッド使ったって構わないよ。キャンセルのことを考えなければきれいに書けるよ。
性能?そんなことすらスマートにできない低能が気にすることじゃねーよ。 競合?そのレベルの奴はシングルスレッドのタスク間だって競合おこしてるだろ。 つーかそんなのスクリプトでやる範囲であって、スマートもクソもあるか。
- 294 名前:デフォルトの名無しさん mailto:sage [2015/10/12(月) 16:29:54.73 ID:5mz5YVLA.net]
- ほら、こういうのが湧くだろ。
- 295 名前:デフォルトの名無しさん mailto:sage [2015/10/12(月) 19:33:08.84 ID:DSHcQooM.net]
- >>286
別にマルチスレッドを君が>>284で書いているような事に使うとは誰も言ってないんじゃないの? コルーチンの代わりにマルチスレッドを使うとは誰も言ってないんじゃないの? 君の妄想なんじゃないの?
- 296 名前:デフォルトの名無しさん [2015/10/13(火) 01:22:25.52 ID:oWNbGZiL.net]
- C++の例外を使わない理由って何ですか?
- 297 名前:デフォルトの名無しさん mailto:sage [2015/10/13(火) 12:13:43.33 ID:rBIejIYx.net]
- >>291
急に別の場所に飛ぶから new等で確保したリソースの解放漏れがよく起きるとか Android NDKでは例外サポートがあると少しサイズが増える
- 298 名前:291 mailto:sage [2015/10/14(水) 13:33:01.39 ID:50q6rhZA.net]
- >>292
ありがとうございます。
- 299 名前:デフォルトの名無しさん mailto:sage [2015/10/14(水) 19:30:52.63 ID:6Kq6UyDK.net]
- >>290
> 別にマルチスレッドを君が>>284で書いているような事に使うとは誰も言ってないんじゃないの? 大丈夫か? 言ってないから、使ってもいいと書いたんだろ? > コルーチンの代わりにマルチスレッドを使うとは誰も言ってないんじゃないの? 大丈夫か? 使うと思ってたら使ってもいいとか書かないだろ? > 君の妄想なんじゃないの? それで君の精神の健康が保てるならそれでいいよ。 一秒かけて移動してから攻撃モーションだろ? コルーチンならきれいに書けるだろ。284もそれはわかっててスレッドは論外、って言ったんだろ。 普通はキューやスクリプトでやるところだが、スレッドをコルーチンのように動作するように実装してもいい。 のどこが妄想なのかね。 >>291 例外を使わない人が多いのは、業界的にまだノウハウが十分にないから。 現状では、例外安全なプログラムを隅々まで徹底する面倒が、メリットを上回らない。 >292 のリソース漏れは例外安全でないプログラムの具体例。 C++の例外は、レギュラーケースとイレギュラーケースをそれぞれ明示できるし、それぞれをまとめて書くことができる。 素晴らしい機能だが、大域脱出以外の用途はまだこなれているとは言い難い。 サイズが増えるのはその通り。 ついでに、try 節の出入りでジャンプテーブルのメンテで少し処理速度を食う。 今時そんなのを気にする環境は少ないとは思うけど。
- 300 名前:デフォルトの名無しさん mailto:sage [2015/10/14(水) 20:32:14.16 ID:oRHV6ndY.net]
- だから、誰もマルチスレッドをコルーチンの代わりに使うとは言ってないんじゃないの?
>>282は単に「マルチスレッド」ってつぶやいているだけじゃないですか どうして急に>>284みたいな話が出てくるの?君の勝手な妄想じゃないの? たとえば、 コルーチンは言ってしまえばスタックとレジスタを退避したものに過ぎないので コルーチン自体をどのスレッドで実行するかは、呼び出し側の自由だ だからコルーチンを4つ位の複数のスレッドで、入れ替わり立ち代り並列実行する事は可能 あくまで例えばの話だけど、その意味で「マルチスレッド」と書き込まれていたのだとしたら 別にコルーチンとマルチスレッドは競合するわけでもないし >>284はファビョってるだけってことになる それともコルーチンとか全く関係なく、単にタスクをマルチスレッドで並列実行したいってだけの話かもしれないし、 その可能性が高いわけだが、その場合も >>284は ファビョってるだけってことになる >あとそんな事のためにスレッド使うとか論外 って書いてるけど、「そんな事」は君の妄想でしかなく、元のレスには何も書かれていない
- 301 名前:デフォルトの名無しさん mailto:sage [2015/10/14(水) 20:49:16.61 ID:oRHV6ndY.net]
- 単に「マルチスレッド」とだけボソッと書き込まれただけなのに(>>282)
それに対する返しが>>284っておかしいだろ >そんな事のためにスレッド使うとか論外 と書かれているが、「そんな事」を勝手に想定して決め付けているが 元のスレはあくまで>>282で、何に使うとも書かれてないのに 勝手に何に使うか決め付けて、「そんなことのために使うとか論外」とか言うのって 意味分からないんだわ >>284にはアンカーが無いから、どの発言に対する返答なのか分からなかったから 「誰もそんなことかいてないのでは?」と返したら>>286が帰ってきたので それで>>284は>>282に対する返答だということが判明したので >>290を返したわけだが
- 302 名前:デフォルトの名無しさん [2015/10/14(水) 23:17:43.54 ID:kP0Tau7M.net]
- 向こうのサーバーにデータが保存されるスマホゲームでも、
ユーザー名とかパスワードとか設定する画面がなくて、 インストールするだけでいきなり始められるやつが多いじゃないですか。 あれってどうやってユーザーを識別してるのでしょうか。 初回起動時に自動でセッションIDみたいなものを生成して、以後はそれを使ってサーバーにアクセスしてるのでしょうか。 もし主流となっているやり方を知ってる方がおられたらご教示ください。
- 303 名前:Office & Gamers ◆G144Hzgh2.0e mailto:アハ♪” uh huh [2015/10/15(木) 04:38:35.16 ID:Jccv1z2n.net]
- 電話番号読み出して固有IDにしてるんじゃないかなw
- 304 名前:デフォルトの名無しさん [2015/10/15(木) 05:57:12.26 ID:mFol4PYI.net]
- iOS/Androidで端末を識別するIDまとめ
iridge.jp/blog/201404/4836/ iOSでの端末固有識別子の話。 quesera2.hatenablog.jp/entry/2014/03/03/001232
- 305 名前:297 mailto:sage [2015/10/15(木) 12:43:40.47 ID:M0AzxYXX.net]
- >>299
ありがとうございます。 貼っていただいたリンクを読んでみたところ、IDFVが一番良いように見えました。 ただ、異なるベンダー間で同じ端末かどうかを識別する前提で書かれていましたので、 特にそういった目的を持たない場合は初回起動時に自分でIDを生成してもよいのかなと思いました。 ありがとうございました。
- 306 名前:デフォルトの名無しさん mailto:sage [2015/10/15(木) 19:45:25.53 ID:J9V5fg8t.net]
- >278
そこじゃねえ 順序が必要な"特殊なタスク"の話な 生成した後のタスクに対してキューを入れるって事だ そのキューっていうのはメッセージプロシージャのイベントドリブンのメッセージキューと同じ だから生成順序は気にせずに生成して、的確なタイミングで処理を実行するまでは待機モード
- 307 名前:デフォルトの名無しさん mailto:sage [2015/10/15(木) 19:49:57.61 ID:J9V5fg8t.net]
- function taskA() {
switch $MESSAGE[:taskA].shift() { case :メッセージ1 then function1() case :メッセージ2 then function2() case :メッセージ3 then function3() else default() } }
- 308 名前:デフォルトの名無しさん mailto:sage [2015/10/15(木) 20:13:59.75 ID:whFEoHyO.net]
- >だから生成順序は気にせずに生成して、的確なタイミングで処理を実行するまでは待機モード
auto t = new task(); //生成順は気にせず作成 //的確なタイミングで処理を実行するまでは待機モード t->func1(); //的確なタイミング、的確な順番で実行 t->func2(); t->func3(); これじゃダメなんですか?
- 309 名前:デフォルトの名無しさん mailto:sage [2015/10/16(金) 02:05:45.13 ID:h7keHbl8.net]
- >>303
それやるならt1->func(), t2->…じゃね?
- 310 名前:Office & Gamers ◆G144Hzgh2.0e mailto:アハ♪” uh huh [2015/10/16(金) 02:08:16.77 ID:5hhImPo+.net]
- つ _beginthread(proc1, 0, (void*)0);
つ _beginthread(proc2, 0, (void*)0); つ _beginthread(proc3, 0, (void*)0);
- 311 名前:デフォルトの名無しさん mailto:sage [2015/10/16(金) 13:30:47.26 ID:CYEljn+R.net]
- >>303
理解力の欠片もねーな 順序が必要になるのはタスク同士が相互に干渉し合う場合、 複数のタスクでメソッドで処理順序が行きかうようなコード 処理順序のイメージは↓これ taskA = new Task taskB = new Task taskA->func1() taskB->func1() taskA->func2() taskB->func2() ただ実際のソースコードはどうなってるかていうと↓ function taskA { ... self.func1() ... self.func2() } function taskB { ... self.func1() ... self.func2() } taskAから"taskB->func1"なんて呼び出さないだろ だからtaskAからtaskBのfunctionを呼び出すタイミングを知らせる為に>>302のキューが必要 これで理解できなかったらプログラミングやめて農家でもやってろ
- 312 名前:デフォルトの名無しさん [2015/10/16(金) 15:14:26.00 ID:IFBmV22h.net]
- 農家なめんな
合理的に設計されたプログラム言語と違って 自然相手だから難しい ピログラミングすらできない奴に農家は無理
- 313 名前:デフォルトの名無しさん mailto:sage [2015/10/16(金) 15:42:38.34 ID:l04muiBk.net]
- ____
/ \ /\ キリッ . / (ー) (ー)\ <「『ピログラミング』すらできない奴に農家は無理」 / ⌒(__人__)⌒ \ | |r┬-| | \ `ー’´ / ノ \ /´ ヽ | l \ ヽ -一””””~~``’ー?、 -一”””’ー-、. ヽ ____(⌒)(⌒)⌒) ) (⌒_(⌒)⌒)⌒)) ____ /_ノ ヽ、_\ ミ ミ ミ o゚((●)) ((●))゚o ミ ミ ミ <だっておwww /⌒)⌒)⌒. ::::::⌒(__人__)⌒:::\ /⌒)⌒)⌒) | / / / |r┬-| | (⌒)/ / / // | :::::::::::(⌒) | | | / ゝ :::::::::::/ | ノ | | | \ / ) / ヽ / `ー’´ ヽ / / | | l||l 从人 l||l l||l 从人 l||l バンバン ヽ -一””””~~``’ー?、 -一”””’ー-、 ヽ ____(⌒)(⌒)⌒) ) (⌒_(⌒)⌒)⌒))
- 314 名前:デフォルトの名無しさん mailto:sage [2015/10/16(金) 16:07:57.94 ID:4XmsRPEG.net]
- pmokyかよ
- 315 名前:デフォルトの名無しさん mailto:sage [2015/10/16(金) 17:27:56.84 ID:TDfNRPC3.net]
- >>306
>処理順序のイメージは↓これ >taskA = new Task >taskB = new Task >taskA->func1() >taskB->func1() >taskA->func2() >taskB->func2() 処理順のイメージと言っていますが、セミコロンがないことを除けば、これは実際に
- 316 名前:ョくC++のコードですね
イメージ通りにコードが記述できるのであれば、何よりのことで、それでよいじゃないですか なにより処理の流れが明確で、誰が読んでも何がどの順に処理されるか、誤解しようの無い素晴らしいコードです キューなんかなくても貴方は可読性の高い素晴らしいコードを今まさに書けたということです 他人に説明することをへて、自分自身の考えが整理され、長い思考の迷路を、やっと脱出できたわけです おめでとう! [] - [ここ壊れてます]
- 317 名前:デフォルトの名無しさん mailto:sage [2015/10/16(金) 17:32:08.38 ID:TDfNRPC3.net]
- キューに突っ込んで遅延実行なぞ、やろうと思えば誰でも出来る、下の下
出来てもあえてしないのがオトナというもの 誰も得しないから
- 318 名前:デフォルトの名無しさん mailto:sage [2015/10/16(金) 17:41:42.73 ID:V6wsfDsv.net]
- ずっと読んでるけど何をもめているのかイマイチわからん
俺はプログラマ向いてないのかね
- 319 名前:デフォルトの名無しさん mailto:sage [2015/10/16(金) 19:07:16.78 ID:zQFx3mzu.net]
- >>295
> だから、誰もマルチスレッドをコルーチンの代わりに使うとは言ってないんじゃないの? だから誰も言ってねえって 294 で書いただろ。 >>296 何で 286 と 俺(288) が同じだと思ったんだ? 289 は正しく理解しているようだが。 つーか、ちょっと前に FF VII の ATB はどうやるのかとか言ってた質問の仕方を知らない礼儀知らずの素人が、妄想のタスクシステムを dis ったり 284 を書いたりしてるんじゃねーの?
- 320 名前:デフォルトの名無しさん mailto:sage [2015/10/16(金) 20:05:20.00 ID:TDfNRPC3.net]
- お前こそ大丈夫か?
>何で >>286 と 俺(>>288) が同じだと思ったんだ? 289 は正しく理解しているようだが。 そりゃおまえ、俺が>>286当てに>>290(俺 ちゃんと>>286へのアンカー付き)を書き込んだら お前が>>294で>>290(俺)へのアンカー付きで返答したからだろ 逆にお前が>>286じゃなくて>>288なら、俺の>>286宛の返信(>>290)に どうしてお前(>>294)は俺へのアンカー付きで、内容まで引用して、返信してきたんだ? 俺はお前に話しかけてないことになるし、お前を否定も何もしていないことになるのに 何で急に絡んできたんだ?意味不明なんだが 真性アスペか?
- 321 名前:デフォルトの名無しさん mailto:sage [2015/10/16(金) 20:38:26.24 ID:V6wsfDsv.net]
- お前らプログラマだろ?
もう少し体裁整えて読みやすく書き込めよ
- 322 名前:デフォルトの名無しさん mailto:sage [2015/10/16(金) 20:41:12.59 ID:wirZWZnZ.net]
- た、体裁・・・
- 323 名前:デフォルトの名無しさん mailto:sage [2015/10/16(金) 20:44:34.19 ID:TDfNRPC3.net]
- 流れを書くと
・「マルチスレッド」とだけ書き込まれる(>>282) ・意味不明の>>284 ( >そんなことの事のためにスレッド使うとか論外 ) が書き込まれる 「そんな事」を勝手に自分で決め付けて、勝手に批判しているのが意味不明なので ・俺が>>285を書き込む ( >だれもそんな物のためにスレッドを使うと主張している人は居ないと思うが・・・ ) ・すると意味不明の>>284から>>286が返される ・やっぱり意味不明なので、意味不明さん(>>286)宛てに、俺が>>290を書き込む 俺の一貫しているところは、>>284(意味不明さん)の「そんな事のために」は何なんだという事 誰も言ってないのに、自分で「そんな事」を勝手に想定して、勝手に否定しているのが意味不明だということ 問題は>>294で、>>294は>>284(意味不明さん)とは全くの別人だという しかし>>294の内容を読んでもらえばわかるが、他人宛の俺の返信を自分宛と勘違いしたかのような内容になっている 彼が>>294で言う「言ってないから、使ってもいいと書いたんだろ?」の「書いた」は自身の書いた>>288 の事らしいが、 俺は彼が>>288を書き込んだ事について、ノーリアクションだったのに、まるで俺が彼が>>288を書き込んだ事を否定したかのように、 「言ってないから、使ってもいいと書いたんだろ?」といちゃもんを付けられても会話が繋がってない以前の問題
- 324 名前:デフォルトの名無しさん mailto:sage [2015/10/16(金) 20:46:14.03 ID:V6wsfDsv.net]
- 単なるプログラマなら問題ないのかもしれん
が、ゲームという範疇からして「魅せる」力が足りなさそうなのが 文面から滲み出ている・・・
- 325 名前:デフォルトの名無しさん mailto:sage [2015/10/16(金) 20:46:41.73 ID:vRj9Qm+Y.net]
- 流れはまったく追っていないが
> ・「マルチスレッド」とだけ書き込まれる(>>282) > ・意味不明の>>284 ( >そんなことの事のためにスレッド使うとか論外 ) が書き込まれる > 「そんな事」を勝手に自分で決め付けて、勝手に批判しているのが意味不明 この悲しい暴走列車的展開はインターネッツ初期から いろんな掲示板で発生している悲劇でもあった スタート地点から不毛っていう悲しみ
- 326 名前:デフォルトの名無しさん mailto:sage [2015/10/16(金) 20:50:50.23 ID:TDfNRPC3.net]
- 三行で書くと、俺が他人宛に返信した書き込みを、まるで自分への返信であったかのようにファビョって書き込んだ奴がいたということ>>294
彼は、「言ってないから、使ってもいいと書いたんだろ?」と自身が書き込んだ理由を何故か俺宛にアピールしているが、 俺は彼の発言>>288にたいして、何も言ってない
- 327 名前:デフォルトの名無しさん mailto:sage [2015/10/16(金) 21:04:58.54 ID:TDfNRPC3.net]
- >>319
前半が良く有る流れなのは分かるが、流れがややこしくなったのは>>294のせい >>294は>>288らしいのだが、俺は>>288について何も言ってないのに、要するに彼を相手にしていないのに いきなり他の人宛への俺の書き込みに対して、まるで自分の宛てであったかのように返信してきた アンカーを打っていなければ俺のミスだが、ちゃんとアンカーを打っていたので誰宛への書き込みだったかは分かったはず しかも終いには、「何で 286 と 俺(288) が同じだと思ったんだ?」と煽ってくる始末 自分が俺の>>286宛への返信に、さも自分宛の返信であったかのように返答してきておいて、この返し
- 328 名前:デフォルトの名無しさん mailto:sage [2015/10/16(金) 21:08:18.59 ID:+G3m5iUJ.net]
- >>310
君がC++しか出来ないチンパンっぽいから わざわざC++チンパンジーにも理解可能なC++ライクなコードにしてやったんだよ 君はもうプログラミングやめたほうが良いね センスないね
- 329 名前:デフォルトの名無しさん mailto:sage [2015/10/16(金) 21:21:02.47 ID:+G3m5iUJ.net]
- 大体こういう話題って完成してる奴にとっては早々触れるような根幹設計じゃないのに
未だに悩んでる奴ってゲーム1個も作った事ない学生か何か 一般的なオブジェクト指向やってて最終的に行きつく先はメッセージプロシージャなんだから 黙って作っとけよチノパン
- 330 名前:デフォルトの名無しさん mailto:sage [2015/10/16(金) 22:40:22.90 ID:TDfNRPC3.net]
- それで、どうしてキューのようなものが必要なんですか?
自身が書いているように >処理順序のイメージは↓これ >taskA = new Task >taskB = new Task >taskA->func1() >taskB->func1() >taskA->func2() >taskB->func2() これで良いのでは? 誰が読んでも、とても読みやすいし、まさに理想じゃないですか、ゴールと言えます ゴールが見えたわけですから、この状態をなるべく維持しつつ、または維持できるように、全体の設計をすればよいのでは? 仮に一部の処理をキューで動的に管理しなければならなくなったのなら、 まぁそういうことも処理内容によっては有るでしょうが、理想の状態から遠ざかってしまうので残念で仕方ないですし 2chで嬉しそうに書き込むことではないと思うのですが・・・
- 331 名前:324 mailto:sage [2015/10/17(土) 00:32:37.34 ID:XvNYZLvx.net]
- 当然、纏めるべく所は纏めたりしますし、
多態やコンテナやループと言った武器も使いますよ しかし、基本は>>324のように処理順が明確で分かりやすいコードが 原点であり終着点と言うことです 手続き型言語は元々そういう風に作られているわけです その良さをなるべく損なわないように設計すべきで、腕の見せ所ですね
- 332 名前:Office & Gamers ◆G144Hzgh2.0e mailto:アハ♪” uh huh [2015/10/17(土) 03:07:24.99 ID:pxHuMFMx.net]
- つ _beginthread(proc1, 0, (void*)0);
つ _beginthread(proc2, 0, (void*)0); つ _beginthread(proc3, 0, (void*)0);
- 333 名前:デフォルトの名無しさん mailto:sage [2015/10/17(土) 04:20:40.23 ID:PNTEfFZh.net]
- 結局のところそのレスの通りなんだけど、それを実際のコードで具体的にどうするかって話だ。
議論に参加してる人たちは基本的に皆そこを目指してるだろ。 ただ実際のコードでどうやるのが一番いいかって話をしてて、 今日からすぐに使える設計方針!みたいなテンプレート化された状態まで持っていって 共有したいんだよ。 ところで、キューイングなしで>>324みたいな書き方は辛いんじゃないかと言う話だ。 処理だとややこしいから他のものに例えていうなら、描画順みたいなものだ。 深度バッファがない2D時代のゲームを考えてみれば分かりやすい。 この場合、必ずソートして奥から描画
- 334 名前:キることになる。
そこで>>324みたいに描画処理の順番を固定して書いてしまうとどうにもならなくなる。 処理も同じ。 [] - [ここ壊れてます]
- 335 名前:デフォルトの名無しさん mailto:sage [2015/10/17(土) 19:41:25.70 ID:XvNYZLvx.net]
- >>327
>処理だとややこしいから他のものに例えていうなら、描画順みたいなものだ。 Zソートのようなものは面倒で、 そんなもののせいでメインの処理がグチャグチャになったらいやだから 描画エンジンを作るか、出来合いのもを使うかして、とにかく外部に追い出す こうすれば、Zソートのように順番が頻繁に入れ替わる鬱陶しい部分に メインの処理が影響されなくなるし、被害を最小限にとどめることが出来る 機能単位にコンパクトにまとまるので、描画処理自体も分かりやすくなる 他の処理も同じで、順番が入れ替わるようなイレギュラーな処理は、 個別に対応して外部に追いやれば良く、イレギュラーな処理に合わせて全体が引っ張られる必要は無い そういうイレギュラーな処理の理屈を全体に拡張して有りがたがっているのはまるで子供 本来であれば、処理の順番が動的なことは、プログラマにとって、 嬉しいことではないのに、2chに嬉しそうに書き込むバカさ加減
- 336 名前:uy = ruby^rb ◆e6.oHu1j.o mailto:sage [2015/10/18(日) 11:19:07.96 ID:WvPHJe2x.net]
- カスはゲ製作だけやろうとしてOS製作やった事ないから
最も良い見本である「OSで使うのタスクシステム」を知らないし組めないから雑魚 OSで使うタスクシステムをまず実装してゲームで使えば機能的に200%くらい満たしてるから タスクシステムをどう作ったら良いかわかんないレベルの奴はとりあえずOS作っとけばいいのになんでやんないの?バカなの? 本も買わずに2chでレス乞食して必要最低限の労力しかかけずにプログラミングやろうとしてるから永久初心者なんだよゴミカス
- 337 名前:デフォルトの名無しさん mailto:sage [2015/10/18(日) 11:21:11.73 ID:dpFhGQVJ.net]
- どんだけ人に嫌われたいんだよ
- 338 名前:デフォルトの名無しさん mailto:sage [2015/10/18(日) 12:02:48.95 ID:CiaU0ajC.net]
- アプリ作る度にOSのカーネルを編集するわけにはいかないから
そのための仕組みがOSには用意されている マルチプロセスやらプロセス間通信やらウィンドウシステムやらetc OSをコンパイルしてリリースした後からもアプリがどんどん追加されるので そういう仕組みにせざるを得ない 一方で、ゲームの場合はゲームのカーネルに相当する ゲームの「メインループ」を編集することが可能なので、こういった仕組みは必要ない ゲームをコンパイルしてリリースした後からも機能がどんどん追加されるようなことは無い(MODなどは除く) 機能を追加するたびに再コンパイルをすれば良い話 リリース前なのだからな OSがああなってるのは、役目上、しかたなくああなっているのであって 同じ立場に無い、通常アプリを作るのに、OS真似をする必要性はまるで無い 何が何のためにそうなっているのか理解せずに必要も無いのに表面だけ真似するバカさ加減
- 339 名前:デフォルトの名無しさん mailto:sage [2015/10/18(日) 12:12:40.32 ID:CiaU0ajC.net]
- 加えてOSの場合は、各アプリが他のアプリと協調して動作すると言うことはあまり無い
大体は適当に自分自分で動いている 一方でゲームの場合はゲームのオブジェクト同士が協調して動作しなければならない 処理の順番も非常に重要になる OSのプロセススケジューリングのように、適当に決めてよいわけではないし、 順番その物が重要で意味を持っている このようにOSとゲームでは持っている性質が全然違う 何が何の目的でそうなっているのか良く考え、技術は適切に使う必要が有る 適当に表面だけパクって、適切でない場面に適用しては、逆効果
- 340 名前:uy ◆e6.oHu1j.o [2015/10/19(月) 04:02:26.65 ID:3gr1qLW4.net]
- このスレの殆どの人は君みたいにタスクシステムすら組めないで躓いてるわけじゃないと思う
これは「話し合い」ではなく、 君が一方的にこのスレから「知識を貰う」だけのなのに 持論振
- 341 名前:りかざして色んなレスを無視してるから君のスキルは一向に向上しないのだよ []
- [ここ壊れてます]
- 342 名前:Office & Gamers ◆G144Hzgh2.0e mailto:アハ♪” uh huh [2015/10/19(月) 05:51:34.42 ID:t0WBOgSD.net]
- つ _beginthread();
- 343 名前:Office & Gamers ◆G144Hzgh2.0e mailto:アハ♪” uh huh [2015/10/19(月) 12:20:24.67 ID:t0WBOgSD.net]
- マルチスレッドが使えると、メインループから余計なものを外に出せて便利w
プログラムの作り方が楽になるw
- 344 名前:Office & Gamers ◆G144Hzgh2.0e mailto:アハ♪” uh huh [2015/10/20(火) 17:55:23.42 ID:2gGD4Vj3.net]
- ごきげんようw
VC++ & DarkGDK & マルチスレッドプログラミング jbbs.shitaraba.net/bbs/read.cgi/computer/44261/1445330773/l100
- 345 名前:デフォルトの名無しさん mailto:sage [2015/10/20(火) 20:07:58.18 ID:UXx1dCB0.net]
- uyよく生きてたな
- 346 名前:デフォルトの名無しさん [2015/10/20(火) 20:09:53.38 ID:j6ekWND7.net]
- ゲームによくある最初のローディング画面ってお前らどう実装してる?
- 347 名前:デフォルトの名無しさん [2015/10/20(火) 21:01:47.42 ID:whPriXxP.net]
- >>338
アニメーションは面倒だから固定。 固定だと読み込みの間ゲームループが回らなくても問題ない。
- 348 名前:デフォルトの名無しさん mailto:sage [2015/10/20(火) 21:35:29.58 ID:yIzgiLYV.net]
- プログレスバー系は別スレッド
- 349 名前:デフォルトの名無しさん mailto:sage [2015/10/20(火) 23:28:47.88 ID:ffVke2Wd.net]
- >>>333
ゲーム作るのにOSを参考にするバカは黙ってろ
- 350 名前:Office & Gamers ◆G144Hzgh2.0e mailto:アハ♪” uh huh [2015/10/21(水) 02:23:26.43 ID:tyE1KJUT.net]
- [MSX大国] VC++2008Expr+DarkGDKでお手軽ゲーム開発 [転載禁止](c)2ch.net
wktk.2ch.net/test/read.cgi/ghard/1445274061/ サンプルプログラム(VC++、DarkGDK、マルチスレッド、217KB) upload.saloon.jp/src/up19718.zip …ってな訳で、さっそくDarkGDK付録のサンプルプログラムをマルチスレッド用に改変。 ガジェットのCPUメーターでスレッド毎の動きを見ると分かりやすい。 ダウンロードしたファイルをダブルクリックすると、実行ファイルが出てくるので、迷わずダブルクリックすればよいw ちなみにまだスレッド調停がうまく行かないので途中で強制的に終わる場合ありw 画面上にデバッグ用の表示が出てくるが、無視してよしw
- 351 名前:uy ◆e6.oHu1j.o [2015/10/21(水) 06:22:05.99 ID:bkabQcdE.net]
- >>337
ム板にいない間いろいろあったよ 俺に殺人予告出してきた奴を起訴したり 別件で自分が裁判所連れてかれそうになったり(ぼくはわるくない) 20代半ばにしてはいろいろ経験してると思う 今はフリーで生きつつOSSにちょっかい出す、イラストを描く、ピアノをする、園芸、 をして生きています
- 352 名前:uy ◆e6.oHu1j.o [2015/10/21(水) 06:40:37.46 ID:bkabQcdE.net]
- >>342
https://www.youtube.com/watch?v=UsPtHvtId6M
- 353 名前:デフォルトの名無しさん [2015/10/21(水) 22:04:59.51 ID:D5rbjCRs.net]
- JavaFXの自由度の高さに惚れ惚れする
- 354 名前:デフォルトの名無しさん [2015/10/22(木) 08:58:52.04 ID:KLEdlWO7.net]
- しょうがないにゃあ・・・
- 355 名前:Office & Gamers ◆G144Hzgh2.0e mailto:アハ♪” uh huh [2015/10/22(木) 11:49:00.37 ID:8yp8/3aU.net]
- VC++、DarkGDK、マルチスレッドの時代。(アハ
- 356 名前:デフォルトの名無しさん mailto:sage [2015/10/22(木) 14:50:23.82 ID:edFJ8JER.net]
- それはJavaとは違うのか?
Javaはかなり運と暗記を要求されるからキツい。 何かやろうとして調べて部分的なサンプルコード見つけても、 それを使うために何をimportする必要があるのかを調べるのにその数倍の時間がかかる。 それを調べてもなかなか出てこないから運が絡むレベルだし、暗記しないと次同じことをやろうとしたときにまた同じだけ時間を食う。 Javaはもう10年以上やってるからコーディング自体はプロを越えるレベルなんだが、 やっぱりそういうのを調べるところで時間がめちゃくちゃかかる。 Javaを開発してる人たちはそういうところも何とかすればいいと思うけど、 10年以上改善しないところを見ると本物の馬鹿なんだろうかと思う。 JavaFXがその辺りまともなら移行したい。
- 357 名前:デフォルトの名無しさん mailto:sage [2015/10/22(木) 16:23:44.23 ID:Pb0K3LIr.net]
- 自動インポート対応しているIDE使えばそんな悩み無いのに
- 358 名前:デフォルトの名無しさん mailto:sage [2015/10/22(木) 17:56:59.71 ID:X3Sa92mb.net]
- >>348
プロを越えるコーディングがどういったものか気になる、詳しく説明してほしい。 できれば、プロならこうだが、それを越える自分はこうする、というような比較形式で。
- 359 名前:デフォルトの名無しさん mailto:sage [2015/10/22(木) 18:05:58.97 ID:CeSwqlxw.net]
- そこ突っ込んじゃあかんw
- 360 名前:デフォルトの名無しさん [2015/10/22(木) 21:39:10.20 ID:0VXww4cs.net]
- >>348
運と暗記w
- 361 名前:デフォルトの名無しさん mailto:sage [2015/10/23(金) 01:34:02.06 ID:58Yf5iq6.net]
- これ全部C++のほうが当てはまるよね。
Javaは(外から持ってくるならなにをimportするか調べなきゃいけない過程は変わらないけど)同パッケージ内ならimportの記述いらないし、暗記量も肥大化したC++のが多い。 Javaの未定義動作関連は知らないが、C++は未定義動作はタイムトラベルを引き起こすから、そういう意味では運がマジで絡む(そんなクソコードは窓から投げ捨てるけど)。
- 362 名前:デフォルトの名無しさん [2015/10/23(金) 03:31:54.40 ID:Rrtmqjxl.net]
- ここはほんとガラパゴスだな
いつまでC++やらjava触ってんだか・・・・ お前らが作っているものの10割がスクリプト言語の処理速度で間に合うものしかないと思うよ
- 363 名前:Office & Gamers ◆G144Hzgh2.0e mailto:アハ♪” uh huh [2015/10/23(金) 04:03:36.61 ID:OU8gZV4Y.net]
- そっそっ♪、そこでCUDAの登場w
- 364 名前:Office & Gamers ◆G144Hzgh2.0e mailto:アハ♪” uh huh [2015/10/23(金) 04:06:46.76 ID:OU8gZV4Y.net]
- CUDA 7.5 Downloads
https://developer.nvidia.com/cuda-downloads
- 365 名前:デフォルトの名無しさん mailto:sage [2015/10/23(金) 04:39:40.71 ID:Rrtmqjxl.net]
- NG
- 366 名前:Office & Gamers ◆G144Hzgh2.0e mailto:アハ♪” uh huh [2015/10/23(金) 05:00:22.10 ID:OU8gZV4Y.net]
- 忘れちゃいけないインラインアセンブルw
インライン アセンブラー https://msdn.microsoft.com/ja-jp/library/4ks26t93.aspx
- 367 名前:Office & Gamers ◆G144Hzgh2.0e mailto:アハ♪” uh huh [2015/10/23(金) 05:04:20.61 ID:OU8gZV4Y.net]
- VC++、DarkGDK、マルチスレッド、ASM、CUDAの時代。(アハ
- 368 名前:デフォルトの名無しさん mailto:sage [2015/10/23(金) 10:21:48.87 ID:Y+ldLGQ7.net]
- >>354
スペルミスを10割拾ってくれるスクリプトをよこせ
- 369 名前:デフォルトの名無しさん mailto:sage [2015/10/23(金) 10:54:50.56 ID:Rrtmqjxl.net]
- 頻繁にスペルミスでバグ混ぜる雑魚はプログラミングやめろよ
そんなの年に1回もないけど
- 370 名前:デフォルトの名無しさん mailto:sage [2015/10/23(金) 12:43:11.90 ID:Y+ldLGQ7.net]
- 自分のソースしか触らない雑魚がプログラミング語るなよ
- 371 名前:Office & Gamers ◆G144Hzgh2.0e mailto:アハ♪” uh huh [2015/10/23(金) 14:20:20.28 ID:OU8gZV4Y.net]
- やっぱアセンブラ速いなw
単純ループで7倍以上差が出てるw なるほどな…w” for(int j=0; j<1000000000; j++); 01152989 mov dword ptr [j], 0 01152990 jmp Loop1+1Bh (115299Bh) 01152992 mov eax,dword ptr [j] 01152995 add eax,1 01152998 mov dword ptr [j], eax 0115299B cmp dword ptr [j], 3B9ACA00h 011529A2 jge Loop1+26h (11529A6h) ;ループ外アドレスw 011529A4 jmp Loop1+12h (1152992h) __asm { MOV ECX, 0 LP1: INC ECX CMP ECX, 1000000000 JL LP1 } 00E52990 mov ecx, 0 00E52995 inc ecx 00E52996 cmp ecx, 3B9ACA00h 00E5299C jl LP1 (0E52995h) 始めは結果を疑ってソース見てたけど、逆アセンブルリスト見て納得w
- 372 名前:Office & Gamers ◆G144Hzgh2.0e mailto:アハ♪” uh huh [2015/10/23(金) 14:27:53.37 ID:OU8gZV4Y.net]
- コンパイル→逆アセンブルリストチェックでまだまだ最適化は可能だなw
- 373 名前:デフォルトの名無しさん mailto:sage [2015/10/23(金) 15:01:12.02 ID:YcURajHy.net]
- ループ処理はデクリメントしましょうね
- 374 名前:Office & Gamers ◆G144Hzgh2.0e mailto:アハ♪” uh huh [2015/10/23(金) 15:59:21.47 ID:OU8gZV4Y.net]
- 同じ処理をしましょうね(ギャハハ
- 375 名前:Office & Gamers ◆G144Hzgh2.0e mailto:アハ♪” uh huh [2015/10/23(金) 16:19:13.81 ID:OU8gZV4Y.net]
- VC++、DarkGDK、マルチスレッド、ASM、CUDAの時代。(アハ
- 376 名前:Office & Gamers ◆G144Hzgh2.0e mailto:アハ♪” uh huh [2015/10/23(金) 19:09:14.41 ID:OU8gZV4Y.net]
- 試しに実数は…ちゃんとコプロセッサ命令使ってたw
メモリ変数になるからなるべく整数型に置き換えたほうがいいかもなw for(float k=1.23456789f; k<123456789.012f; k+=9.876543210f); 0025299F FLD dword ptr [__real@3f9e0652 (3C4E5Ch)] 002529A5 FSTP dword ptr [k] 002529A8 JMP LP1+23h (2529B6h) 002529AA FLD dword ptr [k] 002529AD FADD qword ptr [__real@4023c0ca40000000 (3C4E50h)] 002529B3 FSTP dword ptr [k] 002529B6 FLD dword ptr [k] 002529B9 FCOMP qword ptr [__real@419d6f3460000000 (3C4E40h)] 002529BF FNSTSW AX 002529C1 TEST AH, 5 002529C4 JP LP1+35h (2529C8h) 002529C6 JMP LP1+17h (2529AAh)
- 377 名前:デフォルトの名無しさん mailto:sage [2015/10/23(金) 19:39:46.75 ID:k/FIqtBz.net]
- >>354
HSPでは動作が遅すぎてゲームの進行に支障が出るレベルだったものが C/C++に替えたら爆速になってゲームとして成立するようになったのを今でも忘れない ラッパー作ってあるからコンパイルが必要な点以外開発速度にあまり差はない
- 378 名前:Office & Gamers ◆G144Hzgh2.0e mailto:アハ♪” uh huh [2015/10/23(金) 19:51:43.98 ID:OU8gZV4Y.net]
- インテルのマニュアル見てたらCMOVcc(条件MOV命令)なんて付いてたんだなw
- 379 名前:Office & Gamers ◆G144Hzgh2.0e mailto:アハ♪” uh huh [2015/10/23(金) 20:04:12.88 ID:OU8gZV4Y.net]
- CMOVcc r, r/mのみ指定。
使い道次第かw
- 380 名前:Office & Gamers ◆G144Hzgh2.0e mailto:アハ♪” uh huh [2015/10/23(金) 20:26:34.71 ID:OU8gZV4Y.net]
- FPUの振り分けと、YMMを使いこなせるかどうか…あ、AVX付いてないCPUはダメかw
当面はFPUの振り分けだなw
- 381 名前:デフォルトの名無しさん mailto:sage [2015/10/23(金) 20:30:09.28 ID:YcURajHy.net]
- NGにしたんだけど
Jane StyleでNGってどう設定すんの?
- 382 名前:Office & Gamers ◆G144Hzgh2.0e mailto:アハ♪” uh huh [2015/10/23(金) 20:31:36.61 ID:OU8gZV4Y.net]
- やっぱアセンブラ面白いなwwww”
AMDerどうなるんだろう?w
- 383 名前:デフォルトの名無しさん mailto:sage [2015/10/23(金) 20:33:02.43 ID:YcURajHy.net]
- おお、消えた
- 384 名前:デフォルトの名無しさん mailto:sage [2015/10/24(土) 00:10:13.53 ID:/G743cuO.net]
- >>362
ゴミコードのメンテに日々明け暮れる社畜にはならないでよかったと思う typoのバグあるようなソースコードは自分のほうには周ってきませんね
- 385 名前:Office & Gamers ◆G144Hzgh2.0e mailto:アハ♪” uh huh [2015/10/24(土) 00:12:57.55 ID:gD/wAD2L.net]
- 条件MOVの使い道でも考えるとするかw
|

|