[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 2ch.scのread.cgiへ]
Update time : 12/28 20:22 / Filesize : 177 KB / Number-of Response : 736
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

C/C++ゲーム製作総合スレッド Part7



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/

96 名前:名前は開発中のものです。 [2015/01/24(土) 11:10:33.23 ID:vN0iK6Pw.net]
>>90
cocos2dとかそんな感じじゃね

97 名前:名前は開発中のものです。 mailto:sage [2015/01/24(土) 13:26:12.19 ID:AuIVSu3m.net]
C++11のstd::asyncってのが便利そうだから使ってみた。
確かに簡単に別スレッドに非同期に仕事をさせられる。
だが、どうも処理結果を受け取ってスレッドを終了するのに膨大なコスト(500msくらい)がかかるようだ。

代わりに、std::threadで常時スレッドを走らせておいて、std::mutexで同期を取りながら
データのやり取りをするようにしたらとてもスムーズに動くようになった。
しかし、std::asyncを使った場合と比べて、煩雑な記述が避けられない。

スレッド終了のコスト高杉。

98 名前:名前は開発中のものです。 mailto:sage [2015/01/24(土) 13:34:42.36 ID:0N2Bqsd3.net]
TBBやPPL使っとけ

99 名前:名前は開発中のものです。 mailto:sage [2015/01/24(土) 16:36:58.01 ID:l++ObWZB.net]
>>94
Windowsの話だよな?

100 名前:名前は開発中のものです。 [2015/01/24(土) 20:09:43.23 ID:Js5qaCaY.net]
C11使っとけ

101 名前:93 mailto:sage [2015/01/24(土) 21:51:42.90 ID:AuIVSu3m.net]
>>95
サンクス。
調べてみる。

>>96
そうだよ。

102 名前:名前は開発中のものです。 mailto:sage [2015/01/24(土) 22:06:18.60 ID:SL/s5qpu.net]
1タスクごとにスレッドそのものを開始終了するとコストが高いので
想定するCPUのコア数だけワーカースレッドを用意して
それらにタスクを投げるのが定石じゃないかな。

・キューにタスクがない時はスレッド待機。
・タスクをキューに投げたら全ての待機スレッドを励起。
・いずれかのスレッドがキュー上のタスクを取得して実行、他は再び待機。
・タスクが完了してもスレッド完了せず、次のタスクを確認する。

デザインパターンにあったはず。

103 名前:名前は開発中のものです。 mailto:sage [2015/01/24(土) 22:12:29.49 ID:VTrvOh2Q.net]
>>71
居ないのか……ま、いいや

104 名前:名前は開発中のものです。 mailto:sage [2015/01/24(土) 22:16:34.35 ID:VTrvOh2Q.net]
スレッドの使い分けは適切に使わないと工数が意味もなく増殖するからな……



105 名前:名前は開発中のものです。 mailto:sage [2015/01/24(土) 22:31:57.37 ID:AuIVSu3m.net]
>>99
勉強になった。
やっぱそういうやり方が常套なのね。
そういや、マルチスレッドのデザインパターンってのがあるって聞いたことがあるな。
調べてみるわ。

106 名前:名前は開発中のものです。 mailto:sage [2015/01/25(日) 21:12:51.89 ID:vXlhEd/U.net]
タスクシステムよりシーン管理の方がよっぽど複雑だと思うの

107 名前:名前は開発中のものです。 mailto:sage [2015/01/25(日) 21:27:30.87 ID:16a+UuyX.net]
シーンって「タイトル画面とキャラ選択画面とゲームのメインループその他」の意?
それとも「メインループ中の各シーン」のことかな。

>>102
標準テンプレートとか使える程度に技術のある人なら余裕で実装できるよ。

108 名前:名前は開発中のものです。 mailto:sage [2015/01/25(日) 23:16:44.80 ID:ZTrWlyYJ.net]
シーンったら状態遷移のことでは つまり両方

109 名前:名前は開発中のものです。 mailto:sage [2015/01/25(日) 23:53:06.16 ID:5N9PH1z0.net]
>>99
ワーカースレッドが、キューに何もない

110 名前:アとを確認して、
眠ろうとしているところに、
キューにタスクが入って、ワーカーに起きるよう指示を出す。
ワーカースレッドはその後寝てしまう。悪いことに全ワーカーが同じ状態。
次のキュー挿入で起きるけど。

なんかこんなこと考えると、こんがらがってきます。
[]
[ここ壊れてます]

111 名前:名前は開発中のものです。 mailto:sage [2015/01/26(月) 15:41:45.19 ID:VjIajR+F.net]
>>106
キュー操作そのものにミューテックスで排他かけるから
「寝る」一連の動作と「起こす」一連の動作は複数のスレッドで並行に起こらない。

「寝て大丈夫かキューを確認したらタスクがあるから寝ずに実行」か
「完全に寝る→即座に次のタスクがキューにある状況で起こされる」のどちらか。

.NETだとWait()とPulseAll()、Javaならwait()とnotifyAll()で
簡単に実装できるけど、Win32APIだと少し面倒だった。

まずは上記2つのどちらかを調べて流れを掴んで、
それをC/C++用のAPIで書き表すことを考えてはどうかな。

112 名前:名前は開発中のものです。 mailto:sage [2015/01/26(月) 16:22:24.05 ID:MFO6WL+3.net]
>>107
condition_variable

113 名前:名前は開発中のものです。 mailto:sage [2015/01/26(月) 17:05:42.55 ID:u+eqsmYT.net]
*0.5の乗算と/2の除算
表す物はまったく同じだけど、前者の方が早いんだろうか?

114 名前:名前は開発中のものです。 [2015/01/26(月) 17:06:44.50 ID:plLWVR07.net]
/2の除算



115 名前:名前は開発中のものです。 mailto:sage [2015/01/26(月) 17:08:38.36 ID:U+7vhN1O.net]
シフト演算

116 名前:名前は開発中のものです。 mailto:sage [2015/01/26(月) 17:36:32.42 ID:nJhOAZkT.net]
整数ならそもそも結果が違うな
浮動小数ならコンパイラが最適化してくれるだろ

117 名前:名前は開発中のものです。 mailto:sage [2015/01/26(月) 17:48:01.99 ID:u+eqsmYT.net]
2のn乗倍しかできないじゃないですかー!やだー!
書き方が悪かったのは認める

118 名前:名前は開発中のものです。 mailto:sage [2015/01/26(月) 18:30:30.51 ID:pS9kEcva.net]
>>113
浮動少数なら変わらないんじゃ?

119 名前:名前は開発中のものです。 mailto:sage [2015/01/26(月) 21:04:49.69 ID:J7eP3rC5.net]
>>107
Javaや.NETはスレッド簡単に書けるんか。
C++11や今後の新しいC++規格で同じようなライブラリ入れてくんないかな?

120 名前:名前は開発中のものです。 mailto:sage [2015/01/26(月) 21:13:32.54 ID:nJhOAZkT.net]
>>115
すでに >>108 が答えてくれてる。
std::thread, mutex, shared_mutex(=RWLock), condition_variable, async/future
C++11, 14 にて、この手の処理のための部品は揃ったと思われる。
あくまで部品なので、タスクキューなんかは自分で多少は書くことになるとは思うが。

121 名前:名前は開発中のものです。 mailto:sage [2015/01/26(月) 21:19:26.58 ID:thceLWWx.net]
#ifndef〜#endifの組み合わせと#pragma onceの違いがよく分からない
前者は明確なインクルードガードだけど、後者は?

122 名前:名前は開発中のものです。 mailto:sage [2015/01/26(月) 21:45:22.75 ID:OIbLNO60.net]
前者はガード以外にも使える
後者はガード専門

123 名前:名前は開発中のものです。 mailto:sage [2015/01/26(月) 21:45:26.06 ID:eI0emMfH.net]
>>117
一回だけincludeしてねとコンパイラに言う

124 名前:名前は開発中のものです。 mailto:sage [2015/01/26(月) 21:57:36.77 ID:MFO6WL+3.net]
ついでに言うと#pragma onceは非標準

だけど主要コンパイラで実装してないものがないほぼデファクトスタンダード状態



125 名前:名前は開発中のものです。 mailto:sage [2015/01/26(月) 22:06:02.39 ID:J7eP3rC5.net]
>>116
ありがとう!
C++的にはちょうど良い落としどころっぽいね。
使い易くてハイパフォーマンスなスレッド記述をマスターしてやるぜ!

126 名前:名前は開発中のものです。 mailto:sage [2015/01/26(月) 23:14:24.34 ID:thceLWWx.net]
なるほど、むしろ#pragma onceがインクルードガード専用なんだな

>>120
マジで!?
VSで最初から書き込まれているプリプロセッサが非標準なのかよ

127 名前:名前は開発中のものです。 mailto:sage [2015/01/27(火) 02:06:38.39 ID:m3LjzbYT.net]
そもそも#pragma自体が、コンパイラ独自実装な機能で使うタグみたいなのじゃなかったっけ
まあ今となっては大抵のコンパイラで使えるみたいよ
en.wikipedia.org/wiki/Pragma_once

128 名前:名前は開発中のものです。 mailto:sage [2015/01/27(火) 05:50:27.53 ID:v0Ke9Ofm.net]
#pragma で始まるものは、互換性がない

129 名前:名前は開発中のものです。 mailto:sage [2015/01/27(火) 09:41:49.82 ID:kpJLUqPw.net]
>>124
リンク先見た?
俺もVCだけの互換の無い機能と思っていたが、互換してないのはIBMの一種(世の中のコンパイラを網羅してるわけではないけど)だけだったよ
標準仕様が〜とかよりも便利なモノは取り込まれてくんだと思った

130 名前:名前は開発中のものです。 mailto:sage [2015/01/27(火) 15:08:16.08 ID:m3LjzbYT.net]
まあ#pragma comment(lib, "...")とか、ガチでVC独自の機能もあるし
>>124の考えが自然だと思う

131 名前:名前は開発中のものです。 mailto:sage [2015/01/27(火) 17:35:37.67 ID:OmLGS6W/.net]
C++14の新機能ってラムダ式にautoが使えるくらい?

132 名前:名前は開発中のものです。 mailto:sage [2015/01/27(火) 22:54:28.14 ID:k1Z1zLml.net]
>>126
なぜ comment なのだろう…

133 名前:名前は開発中のものです。 mailto:sage [2015/01/27(火) 23:27:04.08 ID:Ow2H94g+.net]
互換と呼ばれるパクリ・盗用

134 名前:名前は開発中のものです。 mailto:sage [2015/01/27(火) 23:51:44.84 ID:mO8GdU7r.net]
パクりパクられないインタフェースに存在意義は無い



135 名前:名前は開発中のものです。 mailto:sage [2015/01/28(水) 00:13:05.10 ID:5x2afQiV.net]
ただのガラパゴス仕様だからな…

136 名前:名前は開発中のものです。 mailto:sage [2015/01/28(水) 08:57:20.61 ID:DPC05MEk.net]
C++は消える運命

137 名前:名前は開発中のものです。 mailto:sage [2015/01/28(水) 10:44:43.26 ID:SOs+ZJbg.net]
C++は地盤担当だから消えはしない。見えなくなるだけ。

138 名前:名前は開発中のものです。 mailto:sage [2015/01/28(水) 16:49:43.54 ID:/ZB0USJc.net]
土台のしっかりしている家は頑丈だからな
しかし最近、犬小屋程度の建物にビルのような土台を作ってどうすんだ?
と思うようにもなってきた

139 名前:名前は開発中のものです。 mailto:sage [2015/01/28(水) 17:10:45.12 ID:dUb4vLHi.net]
ウサギ小屋と呼ばれる日本の家をバカにするな!

140 名前:名前は開発中のものです。 mailto:sage [2015/01/28(水) 19:20:53.89 ID:nasZb7nZ.net]
最近ホント、この板でこじつけで日本の風習をバカにする奴が増えたな。

レガシで安定したものはラップして使い回すのが鉄板なのに、
横からうまく吹き込んで全部潰して一から作り直そうとさせる。
それだけ、相手の発展を遅らせることができる。

141 名前:名前は開発中のものです。 mailto:sage [2015/01/28(水) 19:28:52.88 ID:tBFCEOiA.net]
古いからといってバグが無いとは限らないけどな。
特に昔のコードは脆弱性対策が練られてない事が多い

142 名前:名前は開発中のものです。 mailto:sage [2015/01/28(水) 20:15:35.81 ID:RgnZVm9M.net]
FirefoxはJavaScriptの速度がChromeを超えたとか言われている割にもっさりしている感が否めない
後発のChromeの方が速い

143 名前:名前は開発中のものです。 [2015/01/28(水) 20:18:09.19 ID:t3hT+Wje.net]
>>138
感覚でなく実測で。

144 名前:名前は開発中のものです。 mailto:sage [2015/01/28(水) 20:33:36.08 ID:RgnZVm9M.net]
ブラウザの使用感はスクリプトの実行速度だけで決まるわけじゃないからな
読み込み時間の短縮も大事
v8の方がバイトコードを通さず直接マシン語を生成するから読み込み速いんじゃないか

全体の速度はTom's Hardwareが調べていたが
スコアを合計したら何かFirefoxが速いという結論になっているのが理解できなかった
どんな計算をしたのやら
www.tomshardware.com/reviews/chrome-27-firefox-21-opera-next,3534.html

古い記事だけど



145 名前:名前は開発中のものです。 mailto:sage [2015/01/28(水) 20:35:32.45 ID:GO27aJnJ.net]
関係ないけど体感速度を速く感じさせるって大事な事だね

Chromeはメモリの使い方や優先順位の割り振りが上手いんじゃないかと

146 名前:名前は開発中のものです。 mailto:sage [2015/01/28(水) 21:30:30.57 ID:zOtKlcou.net]
chromeはメモリ馬鹿食いするしな
ブラウザしか起動しないならそれでもいいんだが

147 名前:名前は開発中のものです。 mailto:sage [2015/01/28(水) 23:41:47.26 ID:gWUJCc9x.net]
わずかな妥協さえ許さずチューニングに血道を上げ
DNSの応答時間すら惜しむ
そりゃ比べる相手が悪すぎる

148 名前:名前は開発中のものです。 mailto:sage [2015/01/29(木) 00:04:26.59 ID:iAJNBuYX.net]
0.3を0.1にする前に,10が1になるツールを作ろう

149 名前:名前は開発中のものです。 mailto:sage [2015/01/29(木) 08:56:31.18 ID:KH1X7ZAq.net]
メモリが多めのマシンだとChromeが最速だろうね
逆にChromeでメモリ不足に陥るマシンなら最速はFirefoxセーフモードかと

150 名前:名前は開発中のものです。 mailto:sage [2015/01/29(木) 09:36:37.60 ID:6+mjNHtZ.net]
FirefoxはブックマークとかタブとかRSSあたりが使いやすい
あとはDuckDuckGoに対応してたりとか
まあ好きな方使えばいいんじゃない?

151 名前:名前は開発中のものです。 mailto:sage [2015/01/29(木) 10:09:11.55 ID:c6VwBThb.net]
Chromeの最低動作環境は一応メモリ512MB
タブをいくつ同時に開けるのか分からないが

152 名前:名前は開発中のものです。 [2015/01/29(木) 11:20:16.55 ID:XKuc65oW.net]
JavaScriptとブラウザの速度が一緒くたにしてる。
ChromeはJavaScript不使用であってもメモリ食う。
ChromeにIE,FirefoxのJavaScriptエンジン搭載したらメモリ消費が減ると思えん。

153 名前:名前は開発中のものです。 mailto:sage [2015/01/29(木) 13:39:58.83 ID:c6VwBThb.net]
ブラウザ全体が確保したメモリを使いまわしているのだろう

新しいのページ等はHTML5で書かれているので実質JavaScriptを完全にオフにはできない。

v8もメモリが十分にある環境だとメモリ使用量が200MBを超えたぐらいにならないとGCされない。

154 名前:名前は開発中のものです。 mailto:sage [2015/01/29(木) 13:45:00.34 ID:au4Qd8+o.net]
C++でブラウザゲーム開発?



155 名前:名前は開発中のものです。 mailto:sage [2015/01/29(木) 15:54:12.53 ID:PqqQ3LUQ.net]
ただの荒らしでは?

156 名前:名前は開発中のものです。 mailto:sage [2015/01/29(木) 19:20:51.28 ID:QDO0WN3U.net]
>>150
emscripten?

157 名前:名前は開発中のものです。 mailto:sage [2015/01/30(金) 17:01:12.20 ID:1O7TniCL.net]
「国産フリーゲームの舞台をPCスタンドアロン(主にC++)から
ブラウザゲーム(クラウド、HTML5)やスマートフォンアプリ(非C++多)に移行」
させようという思惑を、最近この板でひしひしと感じる。

158 名前:名前は開発中のものです。 mailto:sage [2015/01/30(金) 17:49:20.89 ID:Uwc5t0gr.net]
エサに飢えたスマホ厨や企業やその信者のステマ工作員だろ ほっとけ

159 名前:名前は開発中のものです。 mailto:sage [2015/01/30(金) 17:52:07.48 ID:9l7Lplvm.net]
スマホはAppmethodというC++環境もあるが?

160 名前:名前は開発中のものです。 mailto:sage [2015/01/30(金) 18:28:39.45 ID:cceEvulu.net]
一般企業 : C++って難しいんでしょ?
奴隷商人 : 新しいxx言語やツールを使えば簡単ですよ
奴隷商人 : C++なんか使う必要ありません
奴隷商人 : 素人でもちょっと勉強すれば使えますよ
奴隷商人 : わが社では優秀なxx言語エンジニアを多く確保しています
奴隷商人 : 非常にリーズナブルな値段で派遣できますよ
一般企業 : じゃあxx言語とツールで開発するからnn人派遣して
奴隷商人 : まいどw

奴隷商人 : さてと在庫減ったし新しいボンクラ雇うかな、安い金でw
奴隷商人 : Appmethod? ボンクラがC++使えるわけねーだろw
奴隷商人 : うちは安さが売りなの

C++プログラマ : 仕事ないすか?
一般企業 : うちはxx言語とツールで開発するからC++いらないよ
一般企業 : C++高くつくし

ユーザ : みためはそれなりだけど、手抜き感ありありのクソゲー増えたな
ユーザ : 今売れてる○○なんか△△をパクッて版権キャラゲーにしただけだし
ユーザ : そのくせバグが多くて元の△△より面白くない

161 名前:名前は開発中のものです。 mailto:sage [2015/01/30(金) 18:54:29.18 ID:8M4ey3DN.net]
まいどw

162 名前:名前は開発中のものです。 mailto:sage [2015/01/30(金) 19:11:37.72 ID:WJ9MDokc.net]
>>156
C++でも買い叩かれる

163 名前:名前は開発中のものです。 mailto:sage [2015/01/30(金) 20:07:26.54 ID:eOqAWtJ/.net]
(給与だけなら)Python最強、C++は微妙

プログラミング言語別求人給与額の第2位はRuby、第1

164 名前:位は? | 開発・SE | マイナビニュース
http://s.news.mynavi.jp/news/2014/11/04/084/
[]
[ここ壊れてます]



165 名前:名前は開発中のものです。 mailto:sage [2015/01/30(金) 20:33:11.20 ID:8M4ey3DN.net]
>>159
件数の軸だけ見ると、Javaが断トツなんだな。
ま、自分はC++しかしないけど。

166 名前:名前は開発中のものです。 mailto:sage [2015/01/30(金) 21:50:27.80 ID:xDmuU9zY.net]
民度が高過ぎる(笑)。

自分は案件減や開発コスト軽減からC#やPHPに日和ってしまってるけど
やっぱりちゃんとC++で「アセンブラレベルで何が起こってるか」意識した
プログラムしないとダメになっちゃうかもね。

167 名前:名前は開発中のものです。 mailto:sage [2015/01/30(金) 23:02:06.31 ID:8M4ey3DN.net]
>>161
C++は遣り甲斐があるぞ〜、と誘惑してみるw

168 名前:名前は開発中のものです。 mailto:sage [2015/01/30(金) 23:29:11.58 ID:lEERAgAH.net]
正直C++もC#も言語使用は簡単でしょ?
問題はオブジェクト指向とかアルゴリズムじゃないの?

169 名前:名前は開発中のものです。 [2015/01/30(金) 23:48:33.71 ID:mPLLQnOv.net]
ラインパーティクルみたいな細長くて透明な部分があるテクスチャが
交差するときって
どうすればいいですか?
というか、Zソートってテクスチャが貼られた面の重心を使ってやるんですか?

170 名前:名前は開発中のものです。 mailto:sage [2015/01/31(土) 00:04:49.27 ID:XljQIOh1.net]
メモリを意識して書かないといけないのはC/C++くらいでないの
メモリアドレス扱う言語って他になんかある?

171 名前:名前は開発中のものです。 mailto:sage [2015/01/31(土) 00:15:01.69 ID:vx9WzsVv.net]
>>163
C++は根底にCとしての組み込み系やら、ドライバとかの知識が有るかどうかでかなり変わると思う
まーもうニッチな世界になってしまってるけど、ゲームに絞るとコンシューマとかで何かを極めようとしたときに需要は有るかと

172 名前:名前は開発中のものです。 mailto:sage [2015/01/31(土) 00:23:27.83 ID:08SnV/iE.net]
ZソートってZバッファのかわりに遠い方から描くって意味?
厳密にやるなら、ポリゴンを無限平面とした場合に交差する他のポリゴンを
交差する線で分割する処理をすべてのポリゴンにして
って文章で書いてもわかりにくいな。
分割のあとは2分木のクイックソートで、あるポリゴンの面から見て
別の比較するポリゴンが手前側か向こう側でソート判定する。

多分それなりに有名な方法と思うから検索すれば見つかると思うけど
手法の名前は知らない。
あと、赤黒木でもできるのかしらない。

173 名前:名前は開発中のものです。 mailto:sage [2015/01/31(土) 01:24:39.63 ID:vx9WzsVv.net]
プレステやらサターンの時のZソートなら、重心か頂点の順番忘れたが二頂点のZ値を加算したものでソートしてたよ
でも組み込み方としては実際にソートではなく、リスト構造で管理してたと思う
だから解像度が低いとバキバキになってた
wソートってのも出たけど、流行る前にZバッファでパフォーマンス出るようになって無くなったと思う

174 名前:名前は開発中のものです。 mailto:sage [2015/01/31(土) 01:26:13.53 ID:H+AZbHjO.net]
>>168
wソートってのがあったのかw
興味深いw



175 名前:名前は開発中のものです。 mailto:sage [2015/01/31(土) 02:31:32.35 ID:MYAY0/XK.net]
>>162
じつはC#でXNAやってたんよ。

C++に戻るということは、ここ数年で作った自分ライブラリと
そこから呼び出しているXNAライブラリをDirectXに移植することを意味する。
けっこう大変だったり。

あとMonoGameが実用に足りるようになったらC#のままの方が楽というのも
正直、ある。C++でクロスプラットフォームの3Dライブラリがあれば
別なんだけど…。

176 名前:166 mailto:sage [2015/01/31(土) 02:34:23.55 ID:08SnV/iE.net]
> 手法の名前は知らない。
多分、BSPツリー法だと思う。wikipediaにバイナリ空間分割でのってる。

wソートってどんなのかちょっと興味あるけど、説明されても難いと読ま

177 名前:ないだろうなw []
[ここ壊れてます]

178 名前:名前は開発中のものです。 mailto:sage [2015/01/31(土) 05:16:44.71 ID:dLJDPFMl.net]
>>171
wバッファなら下にあったけど。たぶん今はwバッファとは呼ばない。
webcache.googleusercontent.com/search?q=cache:iuYaNXjit0oJ:www.daionet.gr.jp/~masa/column/98-06-25.html
wソートははじめて聞いた。

179 名前:名前は開発中のものです。 mailto:sage [2015/01/31(土) 08:12:54.84 ID:e0isyZ8t.net]
C#ってある意味理想的な言語だよね

・オブジェクトはすべて参照渡し
・値は参照渡しは出来るが参照で持つことはできない
・共有したい変数はクラス(構造体)にする

180 名前:名前は開発中のものです。 mailto:sage [2015/01/31(土) 08:17:29.88 ID:XljQIOh1.net]
VBもそんな感じじゃなかったっけ

181 名前:名前は開発中のものです。 mailto:sage [2015/01/31(土) 12:13:09.01 ID:H+AZbHjO.net]
>>172
おお、川瀬さんのページか。
清水さんと交流あったんだな。

>>173
>・共有したい変数はクラス(構造体)にする
C#がやたらクラスだらけなのはそういうことだったのか・・・

182 名前:名前は開発中のものです。 mailto:sage [2015/01/31(土) 12:39:15.50 ID:jayN4xwq.net]
C#って、構造体の参照渡しで「メソッド側で書き換え不可能」指定ができないのが難。

ref:入出力を兼ねる参照渡し
out:出力のみの参照渡し(意外と便利)

C++のconst 型 *やconst 型 &がないと言えばいいか。

183 名前:名前は開発中のものです。 mailto:sage [2015/01/31(土) 12:44:18.35 ID:dP8uz4HA.net]
Wソートってもしかしてローカルな話だったのか?
Zソートはリストだって話を書いたけど、そのリストを更にソートすることで込み合ってる部分を細かく前後入れ換える事で若干バリバリを押さえる感じだった
当時は描画よりも演算の方が圧倒的に早かったのとダブルバッファやトリプルバッファでの空き時間を有効にって感じだったよ
でも自分では研究以外では使ってない
理由は当時は整数演算だったから、ほとんど効果が感じられなかったから

184 名前:名前は開発中のものです。 mailto:sage [2015/01/31(土) 12:46:07.85 ID:ehZNZ4NM.net]
書き換えなきゃ良いだけだろ
なんでそんな事を言語仕様に入れなきゃならないんだ



185 名前:名前は開発中のものです。 mailto:sage [2015/01/31(土) 12:51:54.53 ID:vx9WzsVv.net]
>>178
書き換えちゃダメって言っても書き換える人が居るから言ってるんだと思うよ
全員自分なら楽な話だけどさ

186 名前:名前は開発中のものです。 mailto:sage [2015/01/31(土) 12:55:33.58 ID:jayN4xwq.net]
あ、連投ごめん。

上のリンク先とMSの解説で、ZバッファとWバッファの意味が逆になってる気がする。
https://msdn.microsoft.com/ja-jp/library/cc324546.aspx

リンク先は「割るほうがWバッファ、割らないほうがZバッファ」、
MSだと「割るほうがZバッファ、割らないほうがWバッファ」に読める。
用語の混乱があるのか、自分が何か勘違いしてるのか。


で、Wソートって何?
昔のPSみたくバッファリングしないでポリゴン単位でソートするけど、Wでやるってことかね。

187 名前:名前は開発中のものです。 mailto:sage [2015/01/31(土) 13:05:31.10 ID:+0dbs7Ey.net]
const必要になるのはライブラリ作成とかチーム開発とかだろうし
ひとりでシコシコ作ってる分には別に不便もないよな
コーディングルールは自分ルールだし

188 名前:名前は開発中のものです。 mailto:sage [2015/01/31(土) 13:12:28.57 ID:H+AZbHjO.net]
自分も、自分用プログラムばっかり作ってて、const利用はハードコーディングな定数以外は0。
自分以外を考慮に入れると、たしかにconst修飾子は重要になると思うけど、
ある程度小規模なチームなら、ルールで十分賄えると思う。

189 名前:名前は開発中のものです。 mailto:sage [2015/01/31(土) 14:06:11.93 ID:9fyUH/Hj.net]
struct, classのコピーを避けるために参照・ポインタを多用してると確実にミス出るし
constは値を中身を書き換えない保障でもあるから、内部処理を忘れたときとかに役立つ

190 名前:名前は開発中のものです。 mailto:sage [2015/01/31(土) 14:13:16.03 ID:ehZNZ4NM.net]
オブジェクトの参照を渡し

191 名前:ス時に中身を書き換えてくれるなよ、という要求はある
それをC++のようにconstで表現するのがいいかどうか
C#ではイラネってなったし要らないと思う
[]
[ここ壊れてます]

192 名前:名前は開発中のものです。 mailto:sage [2015/01/31(土) 14:18:46.16 ID:4UKOkNc6.net]
ところで、const 同士の operater== は operater==(const) const; でいいのか?
最後の const で数時間悩んだんだが。ゲーム以外のところで…

193 名前:名前は開発中のものです。 mailto:sage [2015/01/31(土) 14:47:44.78 ID:g0EkdIoS.net]
friend operator == (const&, const&)

194 名前:名前は開発中のものです。 mailto:sage [2015/01/31(土) 15:27:49.35 ID:PEZyYsg9.net]
jbbs.shitaraba.net/sports/42269/



195 名前:名前は開発中のものです。 mailto:sage [2015/01/31(土) 16:27:45.39 ID:4UKOkNc6.net]
あー、ここで friend 使うのかサンクス。スレチすまん

196 名前:名前は開発中のものです。 mailto:sage [2015/01/31(土) 19:40:50.51 ID:LvLYpCGK.net]
単に規約の問題だけじゃなくて。
constというかC#のreadonlyは構造体にも指定できるんだけど、
それを先述のref指定でメソッドに渡せないんだよ。

既存のライブラリでref指定(参照渡し)になっているものが
少なからずある。まあ別の変数に代入してから値渡しできるんだけど、
微妙にパフォーマンス落ちるでしょう。






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<177KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef