- 1 名前:名前は開発中のものです。 mailto:sage [2015/01/11(日) 10:19:31.85 ID:RDQlUyF+.net]
- ゲーム製作におけるC/C++全般に関するスレです。
元スレ DXライブラリ 総合スレッド その18 peace.2ch.net/test/read.cgi/gamedev/1399459468/ 前スレ C/C++ゲーム製作総合スレッド Part1 toro.2ch.net/test/read.cgi/gamedev/1337516528/ C/C++ゲーム製作総合スレッド Part2 toro.2ch.net/test/read.cgi/gamedev/1351015269/ C/C++ゲーム製作総合スレッド Part3 toro.2ch.net/test/read.cgi/gamedev/1357899040/ C/C++ゲーム製作総合スレッド Part4 toro.2ch.net/test/read.cgi/gamedev/1376262450/ C/C++ゲーム製作総合スレッド Part5 peace.2ch.net/test/read.cgi/gamedev/1389798031/ C/C++ゲーム製作総合スレッド Part6 peace.2ch.net/test/read.cgi/gamedev/1404815419/
- 322 名前:red_ptr 0.039324851409757 564.782584046715
生ポインタとboostのshared_ptrね。 下が自作のリンク方式とカリカリにチューンした参照カウント方式のスマートポインタ。 link 0.0273835524999122 393.281932082318 count 0.0157994938635595 226.911956460117 これも、安全をとるなら生より多少遅くてもboostで十分と思う。 自作のスマポは労力の割にはねぇ。 [] - [ここ壊れてます]
- 323 名前:名前は開発中のものです。 mailto:sage [2015/02/11(水) 04:10:32.63 ID:0cWu/C1d.net]
- 書き忘れてた。>>305はゲームに近いように
10000まで{ 4, 10, 20, 100, 208, 501 }のサイズを巡回して確保していってる。 >>311は同じオブジェクトをずーっと生成してる。 こうするとnewがなぜか結構速いんだけど、その状態で対決してみたかったので。
- 324 名前:名前は開発中のものです。 mailto:sage [2015/02/11(水) 08:00:15.92 ID:JqfHYvpf.net]
- んーなんか車輪の再発明がどんどん無駄になってくのな
必要な機能が既存のコードにあるなら、わざわざ作る必要は無い、みたいな
- 325 名前:名前は開発中のものです。 mailto:sage [2015/02/11(水) 08:08:59.24 ID:JqfHYvpf.net]
- 自分は今は自作コンパクションを使ってるけど、これも誰かの作ったコードを流用した方が早い時代が来るのかな?
- 326 名前:名前は開発中のものです。 mailto:sage [2015/02/11(水) 08:40:48.37 ID:45+5SbHz.net]
- >>309
MTフレームワークの例 www.4gamer.net/specials/3de/lost_planet/lost_planet_04.shtml
- 327 名前:名前は開発中のものです。 mailto:sage [2015/02/11(水) 13:02:10.23 ID:tga+SBCo.net]
- >>315
これの詳細を知ってるが、レンダリングはPCだとGPU処理だから、マルチスレッドとは別で非同期でしょ? それ以外は先程書いた通り 因みにこのフレームワークは自動変数(スタック)以外はメモリは静的に持ってるよ
- 328 名前:名前は開発中のものです。 mailto:sage [2015/02/11(水) 13:10:49.29 ID:vZk9YDm5.net]
- ガチな将棋AIとか作ることになったらやっぱりCPUスレッド数のスレッド作って読みを分散するんじゃなかろうか
- 329 名前:名前は開発中のものです。 mailto:sage [2015/02/11(水) 13:40:34.62 ID:sOoti607.net]
- どうせなら複数マシンに分散させるべき
- 330 名前:名前は開発中のものです。 mailto:sage [2015/02/11(水) 14:57:37.67 ID:/JcbXeo3.net]
- そもそもメモリ管理なんて個人でやるものじゃないよ
せいぜいオブジェクトプールのように局所的なところで使ったほうがいい 自作アロケータを使ってみたい気持ちはわかるんだけどねぇ
- 331 名前:名前は開発中のものです。 mailto:sage [2015/02/11(水) 15:06:24.20 ID:rJC6nJDr.net]
- >>309
シングルスレッドでパフォーマンス十分なら要らないんじゃない? その場合アロケーター自作しようとする理由すら解らなくなるけど。 レンダリングスレッドを分けるってのは比較的簡単だからよく使われてる方法だね。 グラフィックスのAPIが全て非同期という訳でもないし、呼ぶ事自体比較的コストが高いものもあるドローコールとか あとGPUが全てやってくれるわけでもない。 影とかモデルの持ってるマテリアルによってはマルチパスレンダリングが必要になるしね それら含めて一つの独立したスレッドでレンダリングを行うって事 どこまでやるかはそれぞれのゲームエンジンの実装次第だけど
- 332 名前:名前は開発中のものです。 mailto:sage [2015/02/11(水) 20:31:12.70 ID:IKslX+U4.net]
- PS3なんかはは汎用コアが貧弱でマルチスレッド使わないとまともに動かないらしいけど
PCはターボブーストなんかもあるし処理分割しなくてもそれなりに動くのかね ゲームで重い処理って言ったらAIとか物理演算とか? それらやらなきゃコア使い切る事もなさそう
- 333 名前:名前は開発中のものです。 mailto:sage [2015/02/11(水) 22:28:39.42 ID:o3rdwdSA.net]
- 自分の場合、(作ったのはC#とXNAだったけど)
・更新 非同期・4体のキャラの思考ルーチンをマルチスレッドで(他のキャラの状態は前フレームのものを利用)。 同期・同時に行う必要のある判定類。 非同期・4体のキャラのアニメーション演算(*) ↓ ・描画(スキップされることがある) 非同期・キャラの描画コマンド発行(ただし、4体それぞれに(*)を同期)。(**) 同期 非同期・背景などの描画。 ↓ ・更新 ※未了のタスクがあればいったん待機して、最初と同じ。 ということはやっていた。じつはXNAは(**)が異様に重くなるというハンデ持ちで、 (*)はC++だろうと当然重いはずだから、パフォーマンス上がると思うよ。
- 334 名前:名前は開発中のものです。 mailto:sage [2015/02/11(水) 22:33:55.73 ID:o3rdwdSA.net]
- 連投悪い。
というか、マルチコアのCPUなのにシングルで動作させてるって、同人ならともかく 商用ゲームだとハードを全然使いこなせていないんじゃないの。 仮にPS3相当かそれ以上のハードで、シングルで楽々動くゲームがあるとしたら、 それは「CPUスゲー!」じゃなくて「CPUを遊ばせている未熟なプログラム」 もしくは「絵的にボリューム不足」「敢えてシンプル路線のゲームにしただけ」だと思う。
- 335 名前:名前は開発中のものです。 mailto:sage [2015/02/11(水) 23:00:37.92 ID:DLujIAOi.net]
- 妖精左「マルチスレッド!!」
妖精右「マルチタスク!!」 俺「じっそうできればいいから・・・」 部長「ま だ か は や く し ろ 。」
- 336 名前:名前は開発中のものです。 mailto:sage [2015/02/12(木) 00:02:20.82 ID:ebWGGwik.net]
- >>323
C#なんて全然ハード生かせないだろC++で作れよ
- 337 名前:名前は開発中のものです。 mailto:sage [2015/02/12(木) 00:29:15.74 ID:DJBGtoR8.net]
- C++至上主義の時代はもう終わった
- 338 名前:名前は開発中のものです。 mailto:sage [2015/02/12(木) 00:32:29.34 ID:UV0J6V6h.net]
- まだだ!まだ終わらんよ!
- 339 名前:名前は開発中のものです。 mailto:sage [2015/02/12(木) 02:23:42.32 ID:U9NT4imE.net]
- さっき始まったばかりですよ
- 340 名前:名前は開発中のものです。 mailto:sage [2015/02/12(木) 02:30:04.64 ID:rNOcVIpi.net]
- >>323
たしかにC#だと、ネイティヴDirectX呼び出す時点でカーネル切替が発生し、ボトルネックになる (ただ一方、GCはちょっと工夫すればシーン切替時以外は抑制できる)。 まあC++が最強という事実は揺るがないし、だからここを覗きに来てるんだけど 今まで作った資産をそっくり移植するのは全部1人開発だと工数的に厳し過ぎるんよ。 自分はあくまでゲームを完成させるのが主眼なもんで。
- 341 名前:名前は開発中のものです。 mailto:sage [2015/02/12(木) 02:30:45.99 ID:rNOcVIpi.net]
- >>325だった。
- 342 名前:名前は開発中のものです。 mailto:sage [2015/02/12(木) 09:37:50.92 ID:ebWGGwik.net]
- >>329
> 仮にPS3相当かそれ以上のハードで、シングルで楽々動くゲームがあるとしたら、 > それは「CPUスゲー!」じゃなくて「CPUを遊ばせている未熟なプログラム」 > もしくは「絵的にボリューム不足」「敢えてシンプル路線のゲームにしただけ」だと思う。 こんなこと言う人間が > 自分はあくまでゲームを完成させるのが主眼なもんで。 なんてよく言えるな
- 343 名前:名前は開発中のものです。 mailto:sage [2015/02/12(木) 09:58:41.94 ID:DJBGtoR8.net]
- Unityの台頭とC++erの更なる没落
- 344 名前:名前は開発中のものです。 mailto:sage [2015/02/12(木) 10:00:56.62 ID:K+V6X3Ce.net]
- 社員さん、ステマ乙
- 345 名前:名前は開発中のものです。 mailto:sage [2015/02/12(木) 10:16:24.93 ID:xZrWsSkn.net]
- 世界は使いやすい道具の前にひれ伏す
これが分からない奴は一生地を這う
- 346 名前:名前は開発中のものです。 mailto:sage [2015/02/12(木) 10:44:14.01 ID:K+V6X3Ce.net]
- Unityあつかいづらいから自分でライブラリ作ったわwww
- 347 名前:名前は開発中のものです。 mailto:sage [2015/02/12(木) 12:11:18.44 ID:ZP/aF8VN.net]
- アホか。
みなが同じ道具を使ったら、それを売って儲ける奴の小作農になるだけ。 これが分からない人こそ >一生地を這う
- 348 名前:名前は開発中のものです。 mailto:sage [2015/02/12(木) 12:13:54.04 ID:ZP/aF8VN.net]
- >>331
>>323はあくまで>>321に対する客観的な指摘。 それと「自分はあくまでゲームを完成させるのが主眼なもんで」は別問題だよ。
- 349 名前:名前は開発中のものです。 mailto:sage [2015/02/12(木) 13:25:06.24 ID:0nYHwL7l.net]
- 実際PS3の初期タイトルは酷いの結構あったな
アイデアファクトリーとか
- 350 名前:名前は開発中のものです。 mailto:sage [2015/02/12(木) 15:23:29.14 ID:gRG035Lb.net]
- 作るものに応じて道具を選べない人が一生地を這うのでは
各処理をどんだけ細切れにしても結局全部処理しないと次には進めず、 しかも実は単一の処理は積み重ねても大して時間はかかっておらず、 単なるスレッドの立て損にしかなっていないんならマルチスレッドなんか不要 商業だからだのなんだのと適当な言い訳をしても、 実際は目に付くよさそうに見えるものに振り回されているキョロ充 まずは作りやすい方法で実装してテストして、ダメだったら作り直せばいいじゃん
- 351 名前:名前は開発中のものです。 mailto:sage [2015/02/12(木) 17:28:07.56 ID:K+V6X3Ce.net]
- Unityの社員ってステマのノルマがあるみたい
- 352 名前:名前は開発中のものです。 mailto:sage [2015/02/12(木) 17:41:44.09 ID:3BvTygsz.net]
- スレッドのが実装しやすい処理もあると思うの
- 353 名前:名前は開発中のものです。 mailto:sage [2015/02/12(木) 19:41:03.02 ID:gRG035Lb.net]
- うにちゃんは次期主力ゲームエンジンの座を狙っているからね、仕方ないね
何が悲しくてわざわざ柔軟な使い方のできる言語投げ捨ててゲームエンジンなんぞに… PHPやらJAVAやらに行った方がマシ
- 354 名前:名前は開発中のものです。 mailto:sage [2015/02/12(木) 20:21:56.36 ID:K+V6X3Ce.net]
- そんなに自信があるのなら、自分たちでゲーム機を出せばいいのに
彼らの夢は、所詮は砂上の楼閣なんかね
- 355 名前:名前は開発中のものです。 mailto:sage [2015/02/12(木) 20:26:40.79 ID:EbJGy+Ll.net]
- このスレってレベル低いよな
- 356 名前:名前は開発中のものです。 mailto:sage [2015/02/12(木) 20:29:07.88 ID:EbJGy+Ll.net]
- >>339
出来ることは並列でやった方が早く終わるよね。
- 357 名前:名前は開発中のものです。 [2015/02/12(木) 20:35:29.18 ID:wNE8sYSh.net]
- >>343
それは無理。彼らの夢は、ゲーム業界に巣喰う寄生虫になる事だから。
- 358 名前:名前は開発中のものです。 mailto:sage [2015/02/12(木) 20:42:55.10 ID:K+V6X3Ce.net]
- >>345
その前にアルゴリズムを考えた方が早いかもね
- 359 名前:名前は開発中のものです。 mailto:sage [2015/02/12(木) 21:16:05.40 ID:SEu5lClB.net]
- シングルスレッドで足りるならシングルスレッドで作ればいいと思う
後からマルチスレッドにしようとか考えたら地獄みるけど ムダに作り込んで時間かけても仕方ないしね
- 360 名前:名前は開発中のものです。 mailto:sage [2015/02/12(木) 21:57:58.62 ID:5lpYcWcf.net]
- スレッドの話で盛り上がってるけど、みんなpromiseとかatomicとかcasとかちゃんと理解できてる?
俺は半分も理解してない
- 361 名前:名前は開発中のものです。 mailto:sage [2015/02/12(木) 22:02:24.65 ID:BY0ie4C4.net]
- C++を書いているとJavaやC#にだんだん似てくるし
C++で便利コードを書いても既存のライブラリには適わないし C++でゲーム用ライブラリを書いていると既存のエンジンに似てきたから 既存のエンジン使うことにした。困ったらエンジン改造すればいい。
- 362 名前:名前は開発中のものです。 mailto:sage [2015/02/12(木) 23:13:41.81 ID:X8c9QSvd.net]
- おーい、誰かクマが釣り針見つめてるAA持ってない?
>>349 promiseはFutureパターンのSTL実装かな。 casは不勉強だったわ。いちいちロックしなくても非同期でノード更新できるってことかな。
- 363 名前:名前は開発中のものです。 mailto:sage [2015/02/12(木) 23:54:36.97 ID:yCMGD6Md.net]
- casって言われてもメモリのclしか思いつかないです
これの事でいいの ja.m.wikipedia.org/wiki/コンペア・アンド・スワップ
- 364 名前:名前は開発中のものです。 mailto:sage [2015/02/13(金) 00:16:59.27 ID:6pLn2rnq.net]
- visual c++2010です
コードを書いていると、未定義エラーなどのエラーが起こっている部分を波線で表示する機能がありますが それをすばやく表示したい(エラーを確認する間隔を早めたい)時はどうすればいいのでしょうか? オプションでそれらしき項目を探しているのですが、見つけられず困っています…
- 365 名前:名前は開発中のものです。 mailto:sage [2015/02/13(金) 00:28:10.25 ID:FqU8O5pj.net]
- 今表示されてる速度が最速だよ
文句があるならもっと早いCPUに代えろ もしくはVSのバージョン上げたら改善される可能製はある
- 366 名前:名前は開発中のものです。 mailto:sage [2015/02/13(金) 00:38:48.23 ID:PNw/R4Nn.net]
- 何が原因かわからんが仮にnullpoって変数なり型名なりがあるとしてpoにだけ下線とエラー表示が出る謎現象なんかが困る
nullpoの間にスペース入れた後に消すなりコンパイルするなりして文字解析をやり直させると普通に通る
- 367 名前:名前は開発中のものです。 mailto:sage [2015/02/13(金) 00:38:56.82 ID:6pLn2rnq.net]
-
- 368 名前:ありがとうございました []
- [ここ壊れてます]
- 369 名前:名前は開発中のものです。 mailto:sage [2015/02/13(金) 02:11:39.11 ID:E1xWFoJ9.net]
- コードを書いてるといきなり妙な場所に波線
面食らいつつ原因を探るべくコードを見直しているといつの間にか消える 他にも指摘されて修正した部分の波線がなかなか消えず、 あれ?修正間違ったかなと書き直そうとすると消えたりする VSに不信感を抱きそう
- 370 名前:名前は開発中のものです。 mailto:sage [2015/02/13(金) 03:15:03.66 ID:Jw6U7GOH.net]
- VS2010より2012, 2013はずっと賢いから変えたほうがいい
あとVSの謎の挙動はコードが悪いせいなのできちんと書くように心がけましょう
- 371 名前:名前は開発中のものです。 mailto:sage [2015/02/13(金) 03:17:28.00 ID:Jw6U7GOH.net]
- いつもコードが悪いせいではないな
一括置換とかファイル名変更とか,変なことをやるとVSたんはたまにアホになる
- 372 名前:名前は開発中のものです。 mailto:sage [2015/02/13(金) 03:36:37.36 ID:PNw/R4Nn.net]
- というわけでついっさっきVS2013導入したった
C++で打ってる時2010だとショートカットキー(Alt→派)でしかインテリセンス出なかったのが改善されてるのが今のところ一番嬉しい
- 373 名前:名前は開発中のものです。 mailto:sage [2015/02/13(金) 04:37:35.15 ID:diYHW0ok.net]
- 外部エディタを使っている自分に隙はなかった
- 374 名前:名前は開発中のものです。 mailto:sage [2015/02/13(金) 09:12:51.03 ID:PRy9EczC.net]
- どんなスペックのPC使ってんの
- 375 名前:名前は開発中のものです。 mailto:sage [2015/02/13(金) 10:50:31.89 ID:WvS4Hu4Q.net]
- JavaやC#ならわかる
だが負の遺産であるクソ構文抱えたC++で 実用的な速度であれだけのことが出来ることそのものが信じられん 動いたらラッキーくらいの謙虚な気持ちで使うべき
- 376 名前:名前は開発中のものです。 mailto:sage [2015/02/13(金) 11:23:05.70 ID:/fWsfy1c.net]
- C++とC#ってそんなにちがうか??
C++って多少手間暇かかる部分はあるが、自前で組めばどうにでもなる事でね? まあ、プログラムはソースの書き方だけで作る時間に10倍以上の差が出るし、 モジュールやオブジェクト指向を理解してるかどうかで100倍以上の差が出るから、 その辺りの違いだろうけどな。
- 377 名前:名前は開発中のものです。 mailto:sage [2015/02/13(金) 11:25:59.01 ID:NjULDeHN.net]
- MSがBC++を買っとけば世界が平和になってたんですよ…
- 378 名前:名前は開発中のものです。 mailto:sage [2015/02/13(金) 12:17:28.61 ID:oAXnXeHu.net]
- 学習コストの高い言語はもう流行んないでしょ
ゲームもコア部分以外はスクリプトで書くのが主流になるだろうし C++プログラマはゲームエンジン書けるレベルの人しか生き残れないな
- 379 名前:名前は開発中のものです。 mailto:sage [2015/02/13(金) 13:34:54.76 ID:/fWsfy1c.net]
- パソコン自体がもうほとんど進化しなくなったのに、遅い言語を勧められてもな
- 380 名前:名前は開発中のものです。 [2015/02/13(金) 14:00:42.22 ID:wCixqXPj.net]
- 状況次第ではJavaScriptの方が速いなんて事もあるのに
まだそんな事を言っているのか arewefastyet.com/#machine=28&view=breakdown&suite=asmjs-ubench
- 381 名前:名前は開発中のものです。 mailto:sage [2015/02/13(金) 14:07:45.39 ID:/fWsfy1c.net]
- まずは、JavaとJavaScriptの違いから勉強しようね?
- 382 名前:名前は開発中のものです。 mailto:sage [2015/02/13(金) 14:07:50.74 ID:ozS65/+Z.net]
- と言うかC/C++のスレでいい加減スレチw
- 383 名前:名前は開発中のものです。 mailto:sage [2015/02/13(金) 14:18:22.58 ID:diYHW0ok.net]
- いや、C/C++の存在意義を知る上で重要な議論だよ。
- 384 名前:名前は開発中のものです。 mailto:sage [2015/02/13(金) 14:20:03.86 ID:s8SeVfmU.net]
- しかも、asm-jsってClangで中間コードにしたものをJavascriptに変換するものであって人間が書いてネイティブコードより速くなるもんじゃねえよ
- 385 名前:名前は開発中のものです。 mailto:sage [2015/02/13(金) 14:58:19.33 ID:wCixqXPj.net]
- 他の言語は実行がVMだから遅い、C++はネイティブコードだから(常に)VMより速いと言う幻想を>>367は持っているようなので
ぶち壊してやった
- 386 名前:名前は開発中のものです。 mailto:sage [2015/02/13(金) 15:06:44.71 ID:/fWsfy1c.net]
- で、JavaやC#がC++と等速になったとかいうデータはマダー??
- 387 名前:名前は開発中のものです。 mailto:sage [2015/02/13(金) 15:23:17.
]
- [ここ壊れてます]
- 388 名前:57 ID:fRUihGLp.net mailto: >>372
>>373 は多分あなたの言っていることが全く理解できていないだろうな。 たぶん初〜中級者に「VMやJSは思ったほど遅くない」という幻想を抱かせるのが目的。 [] - [ここ壊れてます]
- 389 名前:名前は開発中のものです。 mailto:sage [2015/02/13(金) 15:25:16.23 ID:diYHW0ok.net]
- いったい、何のためにそんなことを・・・
- 390 名前:名前は開発中のものです。 mailto:sage [2015/02/13(金) 15:25:55.96 ID:9I9SRziA.net]
- C++の中にCをラップしているという、気味の悪いC++の現状を憂う気持ちは分かる
C++という言語自体がすでに溶岩流状態だよなwww …
- 391 名前:名前は開発中のものです。 mailto:sage [2015/02/13(金) 15:26:18.69 ID:s8SeVfmU.net]
- >>373
誰もVMだから遅いなんて言ってないと思うんだけど で、遅いのは確実だろC#がネイティブコードになっても遅いのは変わらないよ CやC++より実行時に行う事が多いのだから当たり前のこと
- 392 名前:名前は開発中のものです。 mailto:sage [2015/02/13(金) 15:27:18.22 ID:7ayiwF3a.net]
- 中間コードを実行するVMの関数呼び出しや演算がC++より速くなることは原理的にないんじゃないの
速くなったとしても結局記述されたコードのレベルの差でしょ C++でチューニングしたコード書けばもっと速くなる Cのコードがチューニングされたアセンブリより遅いのといっしょ
- 393 名前:名前は開発中のものです。 mailto:sage [2015/02/13(金) 15:31:25.28 ID:4Xq/J0Q+.net]
- 話の流れに乗ってみるが
ゲーム本体はc++でツール等はc#というのを ちらほら聞くけど実行している人いる? いるとしたらどれだけ有用か意見をお伺いしたい
- 394 名前:名前は開発中のものです。 mailto:sage [2015/02/13(金) 15:36:07.95 ID:s8SeVfmU.net]
- >>379
いや、そうとも限らないよターゲットが固定されてるなら問題ないが、 ネイティブコードに変換したら実行するCPUを完全に生かすコードを吐けるとは限らない。 JITならターゲットがコンパイラを内蔵してるようなものだから動かす環境のCPUを完全に生かすコードを吐ける。 もちろん実行時だから時間のかかる複雑な最適化は出来ないから元のコード次第だけど >>380 そういえばUnrealは昔エディタはVB製だったな。
- 395 名前:名前は開発中のものです。 mailto:sage [2015/02/13(金) 15:43:02.61 ID:6pLn2rnq.net]
- >>362
356ですが、もし自分の事でしたらXeon W5590(8コア3.33GHz)・メモリは12gbです 遅延が起こるコードはDLLを作る用のもので、約5000行 (2000行のファイル2つ・1000行のファイル1つ、それぞれa.cpp b.h c.hとします)です a.cpp(2000行)の途中でb.hとc.hをインクルードしてる状態ですが a.cppの一番下の行の方でスクリプトを書きますと、 波線や#if 0-#endifの半透明化が行われるまでにおよそ2分ぐらいかかります
- 396 名前:名前は開発中のものです。 mailto:sage [2015/02/13(金) 15:46:18.40 ID:diYHW0ok.net]
- 原理的なパフォーマンスより生産性を優先されることで言語の歴史は移り変わってきたし、
機械語 ⇒ アセンブラ ⇒ C までは割とはっきりと移り変わってきたと思う。 それ以降、C ⇒ C++ ⇒ Java or C# についてはうろうろしてる感じ・・・。 やっぱり、今もC++は欠かせないでしょ。
- 397 名前:名前は開発中のものです。 mailto:sage [2015/02/13(金) 15:46:47.59 ID:7ayiwF3a.net]
- >>381
あー確かにターゲットが広いとC++で全部に最適化するのは現実的じゃないな
- 398 名前:名前は開発中のものです。 mailto:sage [2015/02/13(金) 15:52:11.33 ID:KYsA9vla.net]
- ツールはマルチプラットホームで動く必要が無いってのが大きいんじゃないの?
Windows, Mac, コンシューマ機 で動くとなると C++ しか選択肢が無かった気がする。 そこにモバイルが加わって、必ずしもC++が移植性の面で最良では無くなりつつあるのかもしれない。
- 399 名前:名前は開発中のものです。 mailto:sage [2015/02/13(金) 15:55:59.21 ID:/fWsfy1c.net]
- 問題点がGCを使うことの有無になってきてる気がするな
適切にGC.Collect()を使えばいいというような話はあるが……どちらが良いかはよーわからんw
- 400 名前:名前は開発中のものです。 mailto:sage [2015/02/13(金) 15:56:27.80 ID:7ah0R
]
- [ここ壊れてます]
- 401 名前:MwS.net mailto: なんか勘違いしてる人が多いみたいだけど、C#は簡単な言語じゃなくて、理想的なオブジェクト指向をするための言語
そもそもオブジェクト指向が出来ない人はC++もC#もまともに使いこなせないから [] - [ここ壊れてます]
- 402 名前:名前は開発中のものです。 mailto:sage [2015/02/13(金) 15:59:29.02 ID:diYHW0ok.net]
- >>387
まーそうだな。 いずれにしても、ちゃんとした設計ができるというのが前提。 その上でパフォーマンスと生産性(クロスプラットフォームかどうかなど)を勘案した上で適切な言語を選択する。 できれば全部C++でやりたい派だけどw
- 403 名前:名前は開発中のものです。 mailto:sage [2015/02/13(金) 16:09:25.94 ID:/fWsfy1c.net]
- 設計気にせずコーディングでゴリゴリやりたい派が居るからなぁ……
ライブラリが充実してると有効なんだが、充実してない場合は……お察し下さい
- 404 名前:名前は開発中のものです。 mailto:sage [2015/02/13(金) 17:05:12.10 ID:wCixqXPj.net]
- C++のコンパイラは事前コンパイラだから
実行前にはプログラム全体のネイティブコードが得られるが プログラム全体を無差別に最適化する分コンパイルに時間が掛かるし 実行時の状況を見て最適化する事も出来ない JITコンパイルは実行時によく使われたコードだけを最適化するから割と高速に実行できる事が多い ja.wikipedia.org/wiki/実行時コンパイラ
- 405 名前:名前は開発中のものです。 mailto:sage [2015/02/13(金) 17:11:55.89 ID:diYHW0ok.net]
- その中間がGPUのシェーダーって感じかな。
動的ではないけど、同じコードをデバイス(ドライバ)に応じて実行直前に一度コンパイルする。
- 406 名前:名前は開発中のものです。 mailto:sage [2015/02/13(金) 17:26:17.39 ID:wCixqXPj.net]
- JITだと最適化すべき所があまりに多いと最適化が間に合わないし、あまり複雑な最適化はできないだろうけど
プロファイラで遅いところを見つけてそこだけC++で書くことも出来る そうすれば速度が下がるデメリットより生産性が上がるメリットの方が上回ると思う Android 5.0は中間コードから事前コンパイル出来るらしいが インストールに時間取りそうだな MonoはJITコンパイルが禁止されているiOS向けには事前コンパイルするらしい
- 407 名前:名前は開発中のものです。 mailto:sage [2015/02/13(金) 17:30:13.12 ID:s8SeVfmU.net]
- >>392
だからってJavaやC#が速いってことにはならんからな。 そこを勘違いすんなよ
- 408 名前:名前は開発中のものです。 mailto:sage [2015/02/13(金) 17:40:26.14 ID:7ayiwF3a.net]
- ただでさえ動的な型付けやジェネリクス、クロージャなんかでスクリプトの最適化にかかるコストは高いし
かけられるコストに制限のかかるJITが静的なコンパイラ超えるのはまだまだ先の話だろうな
- 409 名前:名前は開発中のものです。 mailto:sage [2015/02/13(金) 17:49:39.74 ID:3uAgugBd.net]
- C++入門系の本だと「STLは難しいので分からなくてOKです^^;」とか書いてあるけど
Javaとかの入門書だとジェネリクスやリフレクションも簡単に分かって当たり前が前提 程度の低い人がC++入門書の内容も理解できずに「C++はすごいんだ」と威張っている
- 410 名前:名前は開発中のものです。 mailto:sage [2015/02/13(金) 17:53:19.30 ID:s8SeVfmU.net]
- >>395
何言ってるのか解らない
- 411 名前:名前は開発中のものです。 mailto:sage [2015/02/13(金) 17:57:54.44 ID:9I9SRziA.net]
- どこの入門書だよ…
STLのような便利ツールを分からなくてOKなんて書くような入門書はクソ本認定必至だぞ Unityに絡まれたりC#やJavaに絡まれたり大変だな 一体何が始まるんです?
- 412 名前:名前は開発中のものです。 mailto:sage [2015/02/13(金) 18:00:31.37 ID:3uAgugBd.net]
- ここで何の言語が速いだのマルチスレッドだの騒いでる連中は怪しいってこと
- 413 名前:名前は開発中のものです。 mailto:sage [2015/02/13(金) 18:05:07.34 ID:s8SeVfmU.net]
- >>395
> Javaとかの入門書だとジェネリクスやリフレクションも簡単に分かって当たり前が前提 何が言いたいのか解らないからここだけに反応するけど、AmazonでJava入門して人気度でソートして一番上に出てきた「スッキリわかるJava入門」って本の目次にはジェネリクスもリフレクションも無いぞ
- 414 名前:名前は開発中のものです。 mailto:sage [2015/02/13(金) 18:19:41.22 ID:ozS65/+Z.net]
- 別にオートマ乗りたい人もマニュアル車乗りたい人も好きにすればいいよ
- 415 名前:名前は開発中のものです。 mailto:sage [2015/02/13(金) 19:06:42.10 ID:diYHW0ok.net]
- ほんとに最初はSTLなしで勉強したらいいけど、
ある程度できるようになったらSTLを使わない手はない。 STLなしで大規模プログラミングするとか拷問。
- 416 名前:名前は開発中のものです。 mailto:sage [2015/02/13(金) 19:09:22.59 ID:9I9SRziA.net]
- そんなことより
Hoge() {} と Hoge() { } と Hoge() { } を使い分ける
- 417 名前:タイミングについて []
- [ここ壊れてます]
- 418 名前:名前は開発中のものです。 mailto:sage [2015/02/13(金) 19:20:16.61 ID:ozS65/+Z.net]
- >>402
上は本当に何もすることが無い、空実装の場合だけ 下2段は好み(規約でスタイルが統一されてない場合)
- 419 名前:名前は開発中のものです。 mailto:sage [2015/02/13(金) 19:23:44.45 ID:9WE2qWDV.net]
- バージョンによるかも知れないけどVSでインデント自動だと
Hoge() {} じゃなくて Hoge() { } と中括弧の間に半角空白が入るのが気になる。
- 420 名前:名前は開発中のものです。 mailto:sage [2015/02/13(金) 19:27:56.48 ID:ozS65/+Z.net]
- 大抵のIDEにコーディングスタイル(ルール)の設定あるはず
- 421 名前:名前は開発中のものです。 mailto:sage [2015/02/13(金) 19:31:59.81 ID:ozS65/+Z.net]
- >>390
pragmaでモジュール毎に最適化の指定って一部の処理系のみ?
- 422 名前:名前は開発中のものです。 mailto:sage [2015/02/13(金) 19:46:05.27 ID:s8SeVfmU.net]
- >>406
pragma自体処理系依存
|

|