메모리 해제 이벤트를 기록합니다.
구문
void PIXRecordMemoryFreeEvent(
USHORT allocatorId,
void* baseAddress,
size_t size,
UINT64 metadata
)
매개 변수
allocatorId
형식: USHORT
메모리 프로파일러에서 메모리 할당 그룹을 식별하기 위해 사용할 수 있는 ID입니다. 예를 들어 그래픽, 오디오, 물리와 같은 항목에 대해 다른 힙을 갖고 있으면 이러한 각 범주에 다른 allocatorID를 할당하여, PIX에서 메모리 캡처를 볼 때 이를 쉽게 식별하도록 할 수 있습니다.
baseAddress
형식: void*
해제된 메모리의 시작 주소입니다.
size
형식: size_t
해제된 메모리의 크기(바이트)입니다.
metadata
형식: UINT64
추가 데이터를 사용하여 해제되는 메모리에 태그를 지정하기 위해 사용할 수 있는 64비트 부호 없는 정수입니다. 이 추가 데이터는 PIX에서 UserData 열에 표시됩니다. 예를 들어 이 추가 데이터를 사용하여 지정된 메모리 위치에 해제된 타이틀 내의 개체 유형을 식별할 수 있습니다.
PIXRecordMemoryFreeEvent에 전달된 값은 PIXRecordMemoryAllocationEvent에 관한 해당 호출에 전달되는 값과 일치할 필요가 없습니다.
반환 값
형식: void
설명
PIX 메모리 추적 이벤트는 PIX가 메모리 프로파일링 캡처에서 타이틀의 사용자 지정 메모리 할당자 내에서 수행되는 모든 메모리 할당 및 해제에 대한 정보를 표시하는 데 필요한 데이터를 제공합니다. 이 데이터를 제공함으로써, PIX는 VirtualAlloc/VirtualFree 및 HeapAlloc/HeapFree 호출을 위해 수행하는 사용자 지정 할당자에 대해 모든 동일한 데이터를 표시합니다.
PIX는 baseAddress 및 size 매개 변수를 사용하여 다음과 같이 해당 할당을 찾습니다. baseAddress가 PIXRecordMemoryAllocationEvent에 관한 해당 호출에 전달된 baseAddress와 일치할 경우 PIX는 할당을 일치시키고 단순히 주소를 비교하여 해제합니다. 이 경우 size 매개 변수로 0을 전달할 수 있습니다. baseAddress가 해당 할당에 지정된 값과 다르면 size 매개 변수를 0이 아닌 값으로 지정해야 합니다. 이 경우 PIX는 baseAddress와 size를 모두 사용하여 해당 할당을 찾습니다.
동시에 많은 이벤트가 발생하거나 시스템의 부하가 높을 경우 ETW(Windows용 이벤트 추적)에 의해 메모리 이벤트가 손실될 수 있습니다. 이벤트 손실이 발생하면 데이터 분석이 완료되지 않습니다. PIX 메모리 캡처 UI는 이벤트 손실을 나타내는 경고를 표시합니다.
요건
헤더: pixmemory.h
라이브러리: pixevt.lib
지원되는 플랫폼: Xbox One 패밀리 콘솔 및 Xbox Series 콘솔
참고 항목
PIX 사용자 지정 메모리 할당자(NDA 항목)권한 부여 필요PIX API 참조
PIXRecordMemoryAllocationEvent
PIX(NDA 항목)권한 부여 필요