WIL説明書(C++)  3.0.0
全メンバ一覧 | 公開メンバ関数 | 限定公開変数類
FVCL::CFvTimeCounter クラス

処理時間計測クラス [詳解]

詳解

処理時間計測クラス

namespace FVCL

Windows API の QueryPerformanceCounter を用いて時間計測を行います。 高分解能パフォーマンスカウンタがサポートされていないマザーボードでは使用できません。

マルチプロセッサのコンピュータを使っている場合、どのプロセッサを呼び出しても問題はありません。 但し、BIOS または HAL のバグが原因で、異なったプロセッサを呼び出すと、異なった結果を取得する可能性があります。 その場合は、このクラスを使用するスレッドに対して特定のプロセッサを指定する必要があります。

必要条件:
ヘッダー: FVCLbasic.h
+ FVCL::CFvTimeCounter の継承関係図

公開メンバ関数

 CFvTimeCounter ()
 標準のコンストラクタ [詳解]
 
virtual ~CFvTimeCounter ()
 デストラクタ [詳解]
 
bool QueryFrequency ()
 周波数の問い合わせ [詳解]
 
bool Start ()
 計測開始 [詳解]
 
DOUBLE Stop ()
 計測停止 [詳解]
 
DOUBLE GetTime (bool blReset)
 計測時間の取得 [詳解]
 
bool GetTime (DOUBLE *pdbMilliSecond, bool blReset=true)
 計測時間の取得 [詳解]
 
bool GetTime (struct timeval *ptvTime, bool blReset=true)
 計測時間の取得 [詳解]
 
virtual CFvTimeCounteroperator= (const CFvTimeCounter &src)
 代入オペレータ [詳解]
 
virtual bool operator== (const CFvTimeCounter &src) const
 比較オペレータ (==) [詳解]
 
virtual bool operator!= (const CFvTimeCounter &src) const
 比較オペレータ (!=) [詳解]
 
- 基底クラス FVCL::CFvObject に属する継承公開メンバ関数
 CFvObject ()
 標準のコンストラクタ [詳解]
 
virtual ~CFvObject ()
 デストラクタ [詳解]
 
INT SetErrorCode (INT err)
 エラーコードの設定 [詳解]
 
INT SetErrorCode (INT err) const
 エラーコードの設定 [詳解]
 
INT GetErrorCode () const
 エラーコードの取得 [詳解]
 
bool SetAllocateOption (INT value)
 画像領域確保時のオプションの設定 [詳解]
 
INT GetAllocateOption () const
 画像領域確保時のオプションの取得 [詳解]
 
void * operator new (size_t uiSize)
 new オペレータ [詳解]
 
void * operator new[] (size_t uiSize)
 new[] オペレータ [詳解]
 
void operator delete (void *pvObject)
 delete オペレータ [詳解]
 
void operator delete[] (void *pvObject)
 delete[] オペレータ [詳解]
 
void * operator new (size_t uiSize, LPCSTR szFileName, INT iLine)
 new オペレータ [詳解]
 
void * operator new[] (size_t uiSize, LPCSTR szFileName, INT iLine)
 new[] オペレータ [詳解]
 
void operator delete (void *pvObject, LPCSTR szFileName, INT iLine)
 delete オペレータ [詳解]
 
void operator delete[] (void *pvObject, LPCSTR szFileName, INT iLine)
 delete[] オペレータ [詳解]
 
virtual CFvObjectoperator= (const CFvObject &src)
 代入オペレータ [詳解]
 
virtual bool operator== (const CFvObject &src) const
 比較オペレータ (==) [詳解]
 
virtual bool operator!= (const CFvObject &src) const
 比較オペレータ (!=) [詳解]
 

限定公開変数類

LARGE_INTEGER m_time
 計測開始時間 [詳解]
 
LARGE_INTEGER m_freq
 周波数 [詳解]
 
- 基底クラス FVCL::CFvObject に属する継承限定公開変数類
INT m_ErrorCode
 エラーコード [詳解]
 
INT m_AllocateOption
 画像領域確保時のオプション [詳解]
 

その他の継承メンバ

- 基底クラス FVCL::CFvObject に属する継承静的公開メンバ関数
static bool SetDefaultAllocateOption (INT value)
 既定の画像領域確保時のオプションの設定 [詳解]
 
static INT GetDefaultAllocateOption ()
 既定の画像領域確保時のオプションの取得 [詳解]
 
- 基底クラス FVCL::CFvObject に属する継承限定公開メンバ関数
INT fnCPUCheck ()
 CPU情報の取得 [詳解]
 

構築子と解体子

FVCL::CFvTimeCounter::CFvTimeCounter ( )

標準のコンストラクタ

高分解能パフォーマンスカウンタの周波数(更新頻度)を取得して メンバ変数(m_freq)に格納します。

FVCL::CFvTimeCounter::~CFvTimeCounter ( )
virtual

デストラクタ

関数詳解

FVCL::CFvTimeCounter::QueryFrequency ( )

周波数の問い合わせ

現在のプロセッサの周波数を問い合わせます。

戻り値
正常の場合は true を返します。 高分解能パフォーマンスカウンタがサポートされていない場合は false を返します。
解説:
高分解能パフォーマンスカウンタの周波数(更新頻度)を取得して メンバ変数(m_freq)に格納します。 コンストラクタがこの関数を呼び出していますので、 m_freq は更新されています。 通常は、ユーザが意識的に呼び出す必要はありません。
FVCL::CFvTimeCounter::Start ( )

計測開始

時間計測を開始します。

戻り値
正常の場合は true を返します。 高分解能パフォーマンスカウンタがサポートされていない場合は false を返します。
解説:
高分解能パフォーマンスカウンタの現在値を取得して m_time に格納します。
FVCL::CFvTimeCounter::Stop ( )

計測停止

計測時間を取得します。

戻り値
計測開始からの経過時間をミリ秒単位で返します。 高分解能パフォーマンスカウンタがサポートされていない場合は 0.0 を返します。
解説:
高分解能パフォーマンスカウンタの現在値を取得して、 計測開始(m_time)からの経過時間をミリ秒単位で返します。 計測開始時間(m_time)の値は変更されません。
FVCL::CFvTimeCounter::GetTime ( bool  blReset)

計測時間の取得

計測時間を取得します。

引数
[in]blResetリセット指示
  • true : リセットする
  • false : リセットせず継続する

戻り値
計測開始からの経過時間をミリ秒単位で返します。 高分解能パフォーマンスカウンタがサポートされていない場合は 0.0 を返します。
解説:
高分解能パフォーマンスカウンタの現在値を取得して、 計測開始(m_time)からの経過時間をミリ秒単位で取得します。 引数 blResettrue が指定された場合、 計測開始時間(m_time)を現在値で更新します。
FVCL::CFvTimeCounter::GetTime ( DOUBLE pdbMilliSecond,
bool  blReset = true 
)

計測時間の取得

計測時間を取得します。

引数
[out]pdbMilliSecond計測時間 (ミリ秒)
[in]blResetリセット指示
  • true : リセットする
  • false : リセットせず継続する

戻り値
正常の場合は true を返します。 高分解能パフォーマンスカウンタがサポートされていない場合は false を返します。
解説:
高分解能パフォーマンスカウンタの現在値を取得して、 計測開始(m_time)からの経過時間をミリ秒単位で取得します。 引数 blResettrue が指定された場合、 計測開始時間(m_time)を現在値で更新します。
FVCL::CFvTimeCounter::GetTime ( struct timeval *  ptvTime,
bool  blReset = true 
)

計測時間の取得

計測時間を取得します。

引数
[out]ptvTime計測時間 (秒とμ秒)
[in]blResetリセット指示
  • true : リセットする
  • false : リセットせず継続する

戻り値
正常の場合は true を返します。 高分解能パフォーマンスカウンタがサポートされていない場合は false を返します。
解説:
高分解能パフォーマンスカウンタの現在値を取得して、 計測開始(m_time)からの経過時間を timeval 構造体に格納して返します。 引数 blResettrue が指定された場合、 計測開始時間(m_time)を現在値で更新します。
FVCL::CFvTimeCounter::operator= ( const CFvTimeCounter src)
virtual

代入オペレータ

引数
[in]src代入するオブジェクト
戻り値
自身のオブジェクトへの参照を返します。
FVCL::CFvTimeCounter::operator== ( const CFvTimeCounter src) const
virtual

比較オペレータ (==)

引数
[in]src比較対象のオブジェクト
戻り値
true一致
false不一致
FVCL::CFvTimeCounter::operator!= ( const CFvTimeCounter src) const
virtual

比較オペレータ (!=)

引数
[in]src比較対象のオブジェクト
戻り値
true不一致
false一致

メンバ詳解

LARGE_INTEGER FVCL::CFvTimeCounter::m_time
protected

計測開始時間

計測を開始した時の高分解能パフォーマンスカウンタの現在値を保持します。

参照
CFvTimeCounter::Start
LARGE_INTEGER FVCL::CFvTimeCounter::m_freq
protected

周波数

高分解能パフォーマンスカウンタの周波数(更新頻度)を保持します。

参照
CFvTimeCounter::QueryFrequency

Documentation copyright © 2007 FAST Corporation. [B-001864]
Generated on 2023年11月02日(木) 10時12分57秒 for WIL説明書(C++) by doxygen 1.8.11