typedef struct _tagKMSYSTEMMETRICS { KMDWORD flags; /* RENDER Performance */ KMDWORD nLastRenderTime[KM_MAX_RENDER_TIME]; KMDWORD nLastDMATime[KM_MAX_DISPLAY_LIST_PASS]; /* TimeOut Setting Data */ KMDWORD nCurrentTimeOutCount; KMDWORD nDMATimeOutCount; KMDWORD nRenderTimeOutCount; KMDWORD nOBJOverflowCount; KMDWORD nParamOverflowCount; KMDWORD nParamCurrent; KMDWORD nOBJCurrent; KMDWORD nOBJLimit; KMDWORD nParamLimit; /* VertexBuffer Information */ KMDWORD VertexBufferSize[KM_MAX_DISPLAY_LIST_PASS][KM_MAX_DISPLAY_LIST]; KMDWORD MaxVertexSize[KM_MAX_DISPLAY_LIST_PASS][KM_MAX_DISPLAY_LIST]; KMDWORD Reserved[16]; }KMSYSTEMMETRICS, *PKMSYSTEMMETRICS;
flags 取得データ指定フラグ nLastRenderTime 過去8回分のレンダリングタイム nLastDMATime 前回のDMA転送にかかった時間 nCurrentTimeOutCount 現在のタイムアウト設定(VBLANK単位) nDMATimeOutCount システム起動よりDMAタイムアウトが発生した回数 nRenderTimeOutCount システム起動よりRenderingタイムアウトが発生した回数 nOBJOverflowCount Object Listがオーバーフローした回数 nParamOverflowCount Parameter Listがオーバーフローした回数 nParamCurrent 前回のDMAで消費したパラメータ量[Byte] nOBJCurrent 前回のDMAで消費したObjectList量[Byte] nOBJLimit ObjectListのLimit値 nParamLimit ParameterListのLimit値 VertexBufferSize 実際に内部でアロケートされている頂点バッファの容量 MaxVertexSize システム起動時より現在まで、消費した頂点バッファ容量のmax値 Reserved リザーブ
Kamui2内部の各種情報を格納する構造体です。Kanui2の各種情報を取得する関数 kmGetSystemMetrics()は、内容内部の高速化のため構造体のメンバflagsに指定した情報のみ取得します。
メンバflagsに指定可能な値は以下のとおりです。
定義 意味 KMSYSTEMMETRICS_VERTEXBUFFER_INFO システムメモリ内の頂点バッファ情報 KMSYSTEMMETRICS_RENDERPERFORM_INFO レンダリングパフォーマンスに関する情報 KMSYSTEMMETRICS_TIMEOUT_INFO レンダリングタイムアウトなどの情報 KMSYSTEMMETRICS_NATIVE_INFO ネイティブコマンドバッファに関する情報
kmGetSystemMetrics() Kamui2内部情報の取得