PIXRecordMemoryAllocationEvent

Records a memory allocation event. Provides the data that PIX needs to display information about all memory allocations made from within the title’s custom memory allocators in memory profiling captures. By providing this data, PIX will show all the same data for your custom allocators that it does for calls to VirtualAlloc/VirtualFree and HeapAlloc/HeapFree.

Syntax

void PIXRecordMemoryAllocationEvent(
         USHORT allocatorID,
         void *baseAddress,
         size_t size,
         UINT64 metadata
)  

Parameters

allocatorID
Type: USHORT 

An ID you can use to identify groups of memory allocations in the memory profiler. For example, if you have different heaps for things such as graphics, audio, and physics, you can assign each of these categories a different allocatorID so they are easy to identify when viewing a memory capture in PIX.

baseAddress
Type: void *

The address of the memory that has been allocated.

size
Type: size_t 

The size of the memory that has been allocated.

metadata
Type: UINT64 

A 64-bit unsigned integer you can use to tag an allocation with additional data. This extra data is displayed in PIX in a UserData column. You can use this extra data to identify the type of object within your title that is stored at a given memory location, for example. The value passed to PIXRecordMemoryFreeEvent does not have to match the value passed to the corresponding call to PIXRecordMemoryAllocationEvent.

Return value

None.

Requirements

Header: Declared in pixmemory.h.

Library: Use PIXEvt.lib.

See also

PIX

PIX Custom Memory Allocators

PIXRecordMemoryFreeEvent