DirectX 12: Uploading multiple buffers to 1 default heap using the UpdateSubresources API without explicit copies
UpdateSubresources is a helper function. Inside it is another memcpy. I would recommend simply rewriting it - source is in d3dx12.h. Then you will be able to copy your data no more than necessary.