Memory Management #3

Open
opened 2022-01-12 22:50:07 +00:00 by cosmonaut · 0 comments

The memory management system needs a rework to make it more like FNA3D's Vulkan renderer. Namely we need to keep track of both free and used regions, and we need to defragment when necessary to keep memory usage low.

One outstanding question is how to deal with the case where resources like images need to be moved, causing associated VkImageViews to require destruction. In FNA3D pretty much all resources are managed internally but this isn't the case for Refresh. We might need to think about doing some pointer indirection so that we can replace internal handles for things like Framebuffers without affecting the user.

The memory management system needs a rework to make it more like FNA3D's Vulkan renderer. Namely we need to keep track of both free and used regions, and we need to defragment when necessary to keep memory usage low. One outstanding question is how to deal with the case where resources like images need to be moved, causing associated VkImageViews to require destruction. In FNA3D pretty much all resources are managed internally but this isn't the case for Refresh. We might need to think about doing some pointer indirection so that we can replace internal handles for things like Framebuffers without affecting the user.
Sign in to join this conversation.
No Label
No Milestone
No project
No Assignees
1 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: MoonsideGames/Refresh#3
There is no content yet.