Tuesday, April 5, 2011

Arena/heap memory APIs

Telemetry currently has a simple API to let you mark memory allocations and frees (tmAlloc and tmFree respectively). You can specify a hierarchical path-like structure to categorize the type of allocations, e.g.: tmAlloc( cx, ptr, size, "/meshes/vehicles/supertank" ); A commonly requested feature is the ability to handle different heaps/allocators/arenas such as:

  • arenas that are freed in one shot (so you don't have to call tmFree on all the suballocations)

  • handle or index based allocators with a base and range, resulting in overlapping 'address spaces'

  • small allocators for strings, particles, and small temporaries

And there are many other examples I'm sure, which is why I'm posting here -- what are your needs in terms of expressive memory allocation tracking? Drop me a line (or post here) at telemetry@radgametools.com since I'd like to tackle this right after the PS3/PPU release!

No comments:

Post a Comment