1人でゲームが作れるように修行します。2 (487レス)
1人でゲームが作れるように修行します。2 http://mevius.5ch.net/test/read.cgi/gamedev/1272901469/
上
下
前次
1-
新
通常表示
512バイト分割
レス栞
抽出解除
レス栞
94: 名前は開発中のものです。 [sage] 2010/09/18(土) 01:56:17 ID:ZJvrb5gA >>92 >Vector3 a1={848,544,0}; >fp.xy(←これは昨日書いていたオブジェクト.構造体変数名の事)=a1; ちょっとこのレスで、代入のコストが気になったんで検証してみた struct A{ A(){} A(int x_, int y_, int z_): x(x_), y(y_), z(z_){} int x,y,z; }; struct B{ B(){} B(int x_, int y_, int z_): x(x_), y(y_), z(z_){} int x,y,z; void operator=(B &val){ x=val.x; y=val.y; z=val.z; } }; AとBの違いはoperator=を使用してるかどうかだけ A a,b; a = b; こんな感じでただ代入するだけの式を、それぞれ100万回ずつ実行 結果は予想外にもBの方が7倍も遅かった(単位はミリ秒) A 5 B 35 そこで試しに、構造体に「double a[256];」を追加して実行 今度はBは変わらず、Aが極端に遅くなった A 255 B 36 http://mevius.5ch.net/test/read.cgi/gamedev/1272901469/94
96: SGGK ◆6pZCoAtaxk [sage] 2010/09/20(月) 00:00:13 ID:y8zi6Evk >>93、>>94、>>95 詳細な解説に感謝します。 自分にはまだ難しすぎるのですが、「c++ 構造体の代入 問題点」で検索してみたところ、 以下のHPがこれらを理解するのに参考になり(理解は出来ず雰囲気だけなんとなく自分に伝わったような感じ。)、 リンク先はpdfなので要注意かもしれませんが、 ttp://ist.ksc.kwansei.ac.jp/~ishiura/xcpl/note/cpp3.pdf の12〜13ページあたりで、C++にはいろいろな種類のコンストラクタがあり、 結果は同じようでもその書き方によっては、コンストラクタが多く呼び出されて処理に時間がかかるらしい。 あと>>94のコンストラクタの書き方が見たことない書き方だったけど、 ちょうど17ページにある説明と似てるので、これかな?と思ってみたりで勉強になりました。 バグの方は、126個まで減少。 http://mevius.5ch.net/test/read.cgi/gamedev/1272901469/96
メモ帳
(0/65535文字)
上
下
前次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.017s