Asynchronous cleanup #9

Closed
opened 2022-02-10 05:46:10 +00:00 by cosmonaut · 1 comment

Right now we have to vkWaitForFences inside of VULKAN_Submit so that we can rotate resources, reset descriptor sets, etc. This is mostly fine in single-window scenarios but in multi-window it means we waste a lot of time waiting on operations that shouldn't really be waited on.

We can probably have one idle thread per window that gets kicked off at the end of Submit that does the wait and then cleans up. We'll need to wall certain resources off with mutexes but it's a lot better than blocking the main thread on every submission.

Right now we have to `vkWaitForFences` inside of `VULKAN_Submit` so that we can rotate resources, reset descriptor sets, etc. This is mostly fine in single-window scenarios but in multi-window it means we waste a lot of time waiting on operations that shouldn't really be waited on. We can probably have one idle thread per window that gets kicked off at the end of `Submit` that does the wait and then cleans up. We'll need to wall certain resources off with mutexes but it's a lot better than blocking the main thread on every submission.
Poster
Owner

Resolved by 0319c26f6a

Resolved by https://gitea.moonside.games/MoonsideGames/Refresh/commit/0319c26f6aae75bb9e5a933b282cc2e0a15704cf
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#9
There is no content yet.