Specifying Memory Type for a Resource(MSDN翻译)

Specifying Memory Type for a Resource

当UMD收到创建surface资源请求的时候需要使用收到关于内存内存类型的信息。内存类型可以通过D3DDDIPOOL_SYSTEMMEM或D3DDDIPOOL_VIDEOMEMORY指定为系统内存或者显存,该信息在D3DDDIARG_CREATERESOURCE的Pool成员中。另外MSFT D3D RT在Pool中了给出了驱动使用的显存类型:

  • D3DDDIPOOL_LOCALVIDMEM

    RT 建议驱动使用本地显存.

  • D3DDDIPOOL_NONLOCALVIDMEM

    RT 建议驱动使用非本地显存(例如 AGP内存).

RT提供了一些信息让UMD来提升性能。例如CPU对Surface写操作, RT可能指定使用D3DDDIPOOL_NONLOCALVIDMEM,因为CPU写入非本地显存会更快。

UMD通过D3DDDI_ALLOCATIONINFO和DXGK_ALLOCATIONINFO的pPrivateDriverData提供了一些信息给KMD。KMD在被调用DxgkDdiCreateAllocation时,通过DXGK_ALLOCATIONINFO的HintedSegmentId返回内存段的标识符给VMM使用适当的内存段。

无论使用哪种显存类型创建资源,UMD不能让RT感觉到任何的操作不一致(PS: 也就是对于本地显存或是非本地显存RT的操作是一致的)。 对每个现存类型,驱动渲染的一样的内容必须返回同样的值。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值