You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
As far as I can tell, Anvil uses the VMA library, which includes the function vmaCalculateStats, which is handy for determining how much memory is currently in use (approximately) for each memory type.
It would be useful to get access to that function (or something similar) through Anvil, for benchmarking and debugging purposes.
The text was updated successfully, but these errors were encountered:
There's a couple of problems if we were to re-use their implementation:
There's another memory allocator backend supported by Anvil, called "one-shot". It doesn't provide similar functionality
Memory allocators can be released at any time. This means any info gathered by VMA allocator 1 is going to be lost the moment it is destroyed.
What if you had two VMA allocators? vmaCalculateStats() takes VmaAllocator instance. This means we'd need Anvil's memory allocator to sum info returned by the function before passing it down to the app.
VMA does not support mGPU (ie. the device group extensions), while public Anvil is just about to :)
That being said, if you feel like this is something that could come in handy, I believe it shouldn't be a lot of effort to provide memory usage information per each created Vulkan instance. Would that work?
Does EXT_memory_budget support, which is already implemented in Anvil, address this request? At this point, adding manual tracking of the allocated device-local memory feels like duplicating the functionality provided by the extension.
As far as I can tell, Anvil uses the VMA library, which includes the function vmaCalculateStats, which is handy for determining how much memory is currently in use (approximately) for each memory type.
It would be useful to get access to that function (or something similar) through Anvil, for benchmarking and debugging purposes.
The text was updated successfully, but these errors were encountered: