ふと気になったので質問させていただきます。
ネットワークでのデータ通信はバイナリデータで送りますが(文字列1個とintやfloatが数十個を一まとめ)
リアルタイム性のオンラインゲームにおいては
とやるのは特にMMOのようなさまざまなデータを扱うプログラムでは
ネットワーク通信速度の律速となりそうなイメージがあるのですが
どうなんでしょう?
バイナリデータ⇔構造体データの変換速度について
- softya(ソフト屋)
- 副管理人
- 記事: 11677
- 登録日時: 15年前
- 住所: 東海地方
- 連絡を取る:
Re: バイナリデータ⇔構造体データの変換速度について
最初から送るバッファ・メモリの形に固めておいてバッファ・メモリの内容をポインタ参照で構造体を使っていれば毎回の変換はいりませんよ。[誤字修正]
まぁ、気になるほどの速度低下があるほどのバイト数とも思えませんが。
まぁ、気になるほどの速度低下があるほどのバイト数とも思えませんが。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。
Re: バイナリデータ⇔構造体データの変換速度について
この発想は無かったです。softya(ソフト屋) さんが書きました:最初から送るバッファ・メモリの形に固めておいでバッファ・メモリの内容をポインタ参照で構造体を使っていれば毎回の変換入りませんよ。
早速、理解したてほやほやのポインタを実践するときが来たというわけですね。
- softya(ソフト屋)
- 副管理人
- 記事: 11677
- 登録日時: 15年前
- 住所: 東海地方
- 連絡を取る:
Re: バイナリデータ⇔構造体データの変換速度について
ちなみに意識しない内に関数呼び出しでクラスのコピーは引数で行なっているはずですので結構なバイト数のコピーを1処理で行なっていると思います。
stringとか引数で渡すとき参照渡してませんよね?まぁ、参照渡しは別の意味で危険なんですけどね。
stringとか引数で渡すとき参照渡してませんよね?まぁ、参照渡しは別の意味で危険なんですけどね。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。
Re: バイナリデータ⇔構造体データの変換速度について
C++のstd::stringはconst参照渡しが基本だと思います.softya(ソフト屋) さんが書きました:stringとか引数で渡すとき参照渡してませんよね?まぁ、参照渡しは別の意味で危険なんですけどね。
Re: バイナリデータ⇔構造体データの変換速度について
まだ文字列部分は実装してないです。
今のところは自作関数にintとfloatのみの構造体(例えばS_Pos)を引数に使う場合
void func( S_Pos &a )
みたいにしています。
なので、キャラネームを構造体中に入れようと思っていたので多分そのまま
内部でa->Strとかやっていたと思います。
今のところは自作関数にintとfloatのみの構造体(例えばS_Pos)を引数に使う場合
void func( S_Pos &a )
みたいにしています。
なので、キャラネームを構造体中に入れようと思っていたので多分そのまま
内部でa->Strとかやっていたと思います。