Falcor
Falcor copied to clipboard
Optimize descriptor pools/heap memory usage
Vulkan memory allocation policy seems to be different then DX12. It appears that DX12 lazily allocates memory for the QueryHeap, while VK allocates on request. There are 2 issues:
- Running the FeatureDemo on Vulkan consumes 800MB. DX Consumes about 200MB. Need to figure out where the difference is coming from.
- We should start with smaller heaps/set sizes and reallocate when we are out of the space (that should be straightforward)
I can confirm the behavior reported in #63 for DirectX, with both the release and the debug builds. Just launching the template project consumes 2GB of GPU memory in my case. And as reported in #63, the culprit seems to be https://github.com/NVIDIAGameWorks/Falcor/blob/master/Framework/Source/API/Device.cpp#L84.
I am running the project on a mobile GTX 1070 with the latest drivers as of today.