CTR-Pia
5.4.3
Game Communication Engine
|
初期化時に指定する設定構造体です。 [詳細]
Public 型 | |
enum | ClockPriorityJudgeMethod { ClockPriorityJudgeMethod_Simple = 0, ClockPriorityJudgeMethod_Impartial, ClockPriorityJudgeMethod_UserDefine } |
別のステーション間で同時刻に起こった事柄を、どちらが先に起こった事として扱うかを判定する方法を表します。 [詳細] | |
enum | ClockType { ClockType_Rtc = 0, ClockType_Frame } |
何を基準として時刻を進めるかを表します。 [詳細] | |
Public メソッド | |
Setting () | |
デフォルトコンストラクタです。 | |
Public 変数 | |
int | ackBufferNum |
Ack 用バッファの数を指定します。 | |
uint32_t | clockPerFrame |
1 フレームあたりに進める時刻の値を指定します。 | |
float | clockPerSec |
1 秒あたりに進める時刻の値を指定します。 | |
ClockPriorityJudgeFunction | clockPriorityJudgeFunction |
別のステーション間で同時刻に起こった事柄を、どちらが先に起こった事として扱うかを判定する関数を指定します。 | |
ClockPriorityJudgeMethod | clockPriorityJudgeMethod |
別のステーション間で同時刻に起こった事柄を、どちらが先に起こった事として扱うかを判定する方法を指定します。 | |
float | clockRegulationRate |
時刻の再調整を行う際に、時刻の進め方を加速/減速する割合を指定します。 | |
ClockType | clockType |
時刻を進める基準を指定します。 | |
uint32_t | dataCompressionLevel |
送信データの圧縮レベルを指定します。 | |
初期化時に指定する設定構造体です。
通信するステーション間で同じ値を指定する必要があります。
何を基準として時刻を進めるかを表します。
ClockType_Rtc |
RTC を基準に時刻を進めます。 |
ClockType_Frame |
CloneProtocol::UpdateClock() の呼び出し回数を基準に時刻を進めます。 |
|
inline |
デフォルトコンストラクタです。
デフォルト値で初期化されます。
int nn::pia::clone::CloneProtocol::Setting::ackBufferNum |
Ack 用バッファの数を指定します。
バッファ 1 個につき、約 1.5 KB のメモリを消費します。1 以上の値を指定する必要があります。実際に通信中に使用されたバッファの数の最大値は、CloneProtocol::GetAckBufferUsedNumMax() で取得できます。
uint32_t nn::pia::clone::CloneProtocol::Setting::clockPerFrame |
1 フレームあたりに進める時刻の値を指定します。
CloneProtocol::Setting::clockType に CloneProtocol::Setting::ClockType_Frame 以外を指定した場合は、この設定は無視されます。
float nn::pia::clone::CloneProtocol::Setting::clockPerSec |
1 秒あたりに進める時刻の値を指定します。
CloneProtocol::Setting::clockType に CloneProtocol::Setting::ClockType_Rtc 以外を指定した場合は、この設定は無視されます。
ClockPriorityJudgeFunction nn::pia::clone::CloneProtocol::Setting::clockPriorityJudgeFunction |
別のステーション間で同時刻に起こった事柄を、どちらが先に起こった事として扱うかを判定する関数を指定します。
CloneProtocol::Setting::clockPriorityJudgeMethod に CloneProtocol::Setting::ClockPriorityJudgeMethod_UserDefine 以外を指定した場合は、この設定は無視されます。
ClockPriorityJudgeMethod nn::pia::clone::CloneProtocol::Setting::clockPriorityJudgeMethod |
別のステーション間で同時刻に起こった事柄を、どちらが先に起こった事として扱うかを判定する方法を指定します。
CloneProtocol::Setting::ClockPriorityJudgeMethod_UserDefine を指定した場合は、判定関数を CloneProtocol::Setting::clockPriorityJudgeFunction に指定する必要があります。
float nn::pia::clone::CloneProtocol::Setting::clockRegulationRate |
時刻の再調整を行う際に、時刻の進め方を加速/減速する割合を指定します。
CloneProtocol::RegulateClock() で時刻を再調整する際、ここで指定した割合だけ通常時の時刻の進み方より速く/遅く時刻を進めます。 例えば 0.1 を指定した場合、他のステーションより時刻が遅れている場合は、通常時と比べ 110% の速さで時刻が進みます。 逆に他のステーションより時刻が進んでいる場合は、通常時と比べ 90% の速さで時刻が進みます。
ClockType nn::pia::clone::CloneProtocol::Setting::clockType |
時刻を進める基準を指定します。
CloneProtocol::Setting::ClockType_Rtc を指定した場合は、RTC を基準に時刻を進めます。 開始時に時刻調整がされた後はステーション間で時刻がずれることを考慮する必要はありませんが、 CloneProtocol::UpdateClock() の呼び出しのタイミングによって、1 フレームあたりに進む時刻が一定ではなくなります。 時刻を進める速さを clockPerSec で指定する必要があります。
CloneProtocol::Setting::ClockType_Frame を指定した場合は、通常は CloneProtocol::UpdateClock() 呼び出しあたりに進む時刻の値が一定になります。 ただし、処理落ちなどで CloneProtocol::UpdateClock() の呼び出し回数がステーション間でずれた場合に、 ステーション間で時刻が一致しなくなる可能性があります。 時刻を進める速さを clockPerFrame で指定する必要があります。
時刻管理の詳細についてはプログラミングマニュアルを参照してください。
uint32_t nn::pia::clone::CloneProtocol::Setting::dataCompressionLevel |
送信データの圧縮レベルを指定します。
CloneProtocol::CompressionLevelNone を指定すると圧縮を行いません。 CloneProtocol::CompressionLevelLow が速度重視、CloneProtocol::CompressionLevelHigh が圧縮率重視となります。 CloneProtocol::CompressionLevelMiddle はその中間です。 デフォルト値は CloneProtocol::CompressionLevelNone です。 これらの値以外はサポート対象外です。 プラットフォームの CPU 性能によって処理時間が大きく変動します。