Skip to content

GPU: D3D12 resource memory management #10632

Open
@thatcosmonaut

Description

@thatcosmonaut

Explicit APIs like D3D12 and Vulkan want you to assign resource memory by allocating big chunks of memory and then sub-allocating them. The Vulkan backend currently does this, and it can also defragment these chunks without stalling, which is pretty neat.

D3D12 provides a shortcut in the form of CreateCommittedResource, which creates a resource on its own implicit heap. The D3D12 backend is using this approach right now, and because of this the performance will be inferior to Vulkan.

We should definitely have the D3D12 backend follow the same allocation strategy as Vulkan, but it's a lot of work. For now at least we should probably prefer Vulkan on Windows, at least until this is resolved.

Metadata

Metadata

Assignees

No one assigned

    Labels

    help wantedExtra attention is needed

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions