設定された最大周波数の間隔より早く処理が進まないように、必要に応じてビジーウェイトをするクラスです。 [詳解]
#include <OnlineCore/src/Core/Pacer.h>
公開メンバ関数 | |
Pacer (qReal dFrequency=0) | |
コンストラクタです。 [詳解] | |
virtual | ~Pacer () |
デストラクタです。 [詳解] | |
qReal | GetFrequency () const |
最大周波数を取得します。 [詳解] | |
void | GetStats (TimeInterval *ptiTotal, TimeInterval *ptiTotalProcessing, TimeInterval *ptiMinProcessing, TimeInterval *ptiMaxProcessing, qUnsignedInt32 *puiLoops) const |
統計情報を取得します。 [詳解] | |
void | Interrupt () |
Pace()実行時のビジーウェイトをキャンセルします。 [詳解] | |
virtual void | Pace () |
最大周波数より早くならないペースになるように、必要に応じてビジーウェイトします。 [詳解] | |
void | ResetStats () |
統計情報をリセットします。 [詳解] | |
void | SetFrequency (qReal dFrequency) |
最大周波数を設定します。 [詳解] | |
設定された最大周波数の間隔より早く処理が進まないように、必要に応じてビジーウェイトをするクラスです。
設定された周波数より遅い場合は、ウェイトしません。
nn::nex::Pacer::Pacer | ( | qReal | dFrequency = 0 | ) |
コンストラクタです。
dFrequency | 最大周波数[Hz]を設定します。デフォルトは0で、ウェイトなしです。 |
|
virtual |
デストラクタです。
void nn::nex::Pacer::SetFrequency | ( | qReal | dFrequency | ) |
qReal nn::nex::Pacer::GetFrequency | ( | ) | const |
void nn::nex::Pacer::Interrupt | ( | ) |
Pace()実行時のビジーウェイトをキャンセルします。
|
virtual |
最大周波数より早くならないペースになるように、必要に応じてビジーウェイトします。
Pacerクラスのメインメソッドです。
void nn::nex::Pacer::GetStats | ( | TimeInterval * | ptiTotal, |
TimeInterval * | ptiTotalProcessing, | ||
TimeInterval * | ptiMinProcessing, | ||
TimeInterval * | ptiMaxProcessing, | ||
qUnsignedInt32 * | puiLoops | ||
) | const |
統計情報を取得します。
[out] | ptiTotal | ResetStats()もしくは、生成からの経過時間を返します。 |
[out] | ptiTotalProcessing | Pace()とPace()の間の他の処理合計時間を返します。 |
[out] | ptiMinProcessing | 二つのPace()間の他の処理時間の最小値を返します。 |
[out] | ptiMaxProcessing | 二つのPace()間の他の処理時間の最大値を返します。 |
[out] | puiLoops | ResetStats()もしくは、生成からのPace()が呼ばれた回数を返します。 |
void nn::nex::Pacer::ResetStats | ( | ) |
統計情報をリセットします。