Platform SDK: DirectX

DMUS_SYNTHSTATS

IDirectMusicPort::GetRunningStats メソッドは、DMUS_SYNTHSTATS 構造体を使って、シンセサイザの現在の動作ステータスを返す。

typedef struct DMUS_SYNTHSTATS {
    DWORD dwSize; 
    DWORD dwValidStats;
    DWORD dwVoices;
    DWORD dwTotalCPU;
    DWORD dwCPUPerVoice;
    DWORD dwLostNotes;
    DWORD dwFreeMemory;
    long  lPeakVolume;
} DMUS_SYNTHSTATS, *LPDMUS_SYNTHSTATS;

メンバ

dwSize
構造体のサイズ。バイト単位で指定する。この構造体を任意のメソッドに渡す前に、このメンバを sizeof(DMUS_SYNTHSTATS) に初期化しなければならない。
dwValidStats
シンセサイザが、この構造体内のどのフィールドに書き込みを行うかを指定するフラグ。次のフラグが定義されている。

DMUS_SYNTHSTATS_VOICES
DMUS_SYNTHSTATS_TOTAL_CPU
DMUS_SYNTHSTATS_CPU_PER_VOICE
DMUS_SYNTHSTATS_FREE_MEMORY
DMUS_SYNTHSTATS_LOST_NOTES
DMUS_SYNTHSTATS_PEAK_VOLUME

dwVoices
演奏中の発音数の平均値。
dwTotalCPU
CPU 利用率に 100 をかけた合計パーセンテージ。
dwCPUPerVoice
発音あたりの CPU 利用率に 100 をかけたパーセンテージ。
dwLostNotes
失われた音符の数。発音スティーリングや過度に高い CPU 利用率が原因で、音符が欠落することがある。
dwFreeMemory
DLS 楽器を保存するために現在利用できるメモリの量。シンセサイザがシステム メモリを使っていて、利用可能なシステム メモリによりその量が制限を受ける場合、このフィールドは DMUS_SYNTHSTATS_SYSTEMMEMORY を保持する。
lPeakVolume
ピークボリューム。1/100dB (つまり mB) 単位で測定される。

注意

dwFreeMemory を除き、動作中のすべてのステータス パラメータは 1 秒ごとに更新される。たとえば、dwLostNotes は、1 秒間に失われた音符の合計数を提供する。

動作環境

  Windows NT/2000 : Windows 2000 が必要。
  Windows 95/98 : Windows 95 以降が必要。Windows 95 用に再配布可能な形で使用可能。
  ヘッダー : dmusici.h で宣言。