Microsoft DirectX 8.0 (C++)

DMUS_SYNTHSTATS8

シンセサイザの現在の動作ステータスを取得するために、IDirectMusicPort8::GetRunningStats メソッドで使用される。

typedef struct DMUS_SYNTHSTATS {
    DWORD dwSize; 
    DWORD dwValidStats;
    DWORD dwVoices;
    DWORD dwTotalCPU;
    DWORD dwCPUPerVoice;
    DWORD dwLostNotes;
    DWORD dwFreeMemory;
    long  lPeakVolume;
    DWORD   dwSynthMemUse;
} DMUS_SYNTHSTATS8;
 
typedef struct _DMUS_SYNTHSTATS8 *LPDMUS_SYNTHSTATS8;

メンバ

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) 単位で測定される。
dwSynthMemUse
シンセサイザ ウェーブ データで使用されるメモリ。

注意

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

動作環境

  ヘッダー : dmusici.h で宣言。