メモリ割り当てイベントを記録します。
構文
void PIXRecordMemoryAllocationEvent(
USHORT allocatorId,
void* baseAddress,
size_t size,
UINT64 metadata
)
パラメーター
allocatorId
型: USHORT
メモリ プロファイラー内のメモリ割り当てのグループを特定するために使用できる ID。 たとえば、グラフィックス、オーディオ、物理計算などのヒープが異なる場合は、これらの各カテゴリに異なる allocatorID を割り当てることができるので、PIX でメモリ キャプチャを参照するときに特定が容易です。
baseAddress
型: void*
割り当てられたメモリの開始アドレス。
size
型: size_t
割り当てられたメモリのサイズ (バイト数)。
metadata
型: UINT64
割り当てに追加データをタグ付けするために使用できる 64 ビット符号なし整数。 この追加データは、PIX の [UserData] 列に表示されます。 この追加データを使用すると、たとえば、特定のメモリ位置に格納されたタイトル内のオブジェクトの型を特定できます。
戻り値
型: void
解説
PIX メモリ追跡イベントは、メモリ プロファイリング キャプチャにおいて、タイトルのカスタム メモリ アロケーター内から実行されたすべてのメモリ割り当てとリリースに関する情報を表示するために PIX が必要とするデータを提供します。 このデータを提供することで、PIX は、VirtualAlloc/VirtualFree と HeapAlloc/HeapFree の呼び出しについて表示するのとまったく同じデータを、カスタム アロケーターについて表示します。
多数のイベントが同時に発生している場合や、システムの負荷が重くなっている場合は、Windows イベント トレーシング (ETW) によってメモリ イベントが失われることがあります。 イベントの損失によって、データの分析が不完全になります。 PIX メモリ キャプチャの UI には、イベント損失があったことを示す警告が表示されます。
複数の PIXRecordMemoryFreeEvent 呼び出しを使用して、単一の割り当てから段階的に解放されているメモリを追跡できます。
カスタムの割り当ておよび解放のデータがメモリ キャプチャでどのように表示されるかの詳細については、「PIX カスタム メモリ アロケーター (NDA トピック)認可が必須です」を参照してください。
要件
ヘッダー: pixmemory.h
ライブラリ: pixevt.lib
サポートされているプラットフォーム: Xbox One ファミリ本体と Xbox Series 本体