中文第一计算机图形学社区OpenGPU 版权所有2007-2018

 找回密码
 注册

扫一扫,访问微社区

搜索
查看: 1913|回复: 1

请教一个Klay中D3D12的问题

[复制链接]
发表于 2017-9-19 02:05:42 | 显示全部楼层 |阅读模式
Klay中GraphicsBuffer的D3D12的版本有两个方法:
1. CreateHardwareResource 的时候如果有数据则运行步骤是创建一个 UploadBuffer 然后 CopyResource 过去,完成数据就填。
2. UpdateSubresource,它的运行步骤是调用 Map/Unmap 就完成数据填充了。

这两个方法在操作上相差很大,一个需要创建UploadBuffer->Map/Unmap->CopyResource->还得需要一次同步,而另一个只要对Buffer进行 Map/Unmap 就完事了。

我的问题是,这两种方法有什么区别?
在用户看来使用 CreateHardwareResource (pData) 和 CreateHardwareResource (nullptr) 然后 UpdateSubresource(pData) 没有区别。
为什么在 CreateHardwareResource 的时候不直接 Map/Unmap 呢? 难道说数据初始化有什么特殊之处么?
发表于 2017-11-14 09:18:30 | 显示全部楼层
没有特殊之处。只是当时就这么写了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关于我们|小黑屋|Archiver|手机版|中文第一计算机图形学社区OpenGPU

GMT+8, 2018-4-20 20:59 , Processed in 0.036671 second(s), 19 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表