HardwareBuffer 的 shadow buffer

HardwareBuffer在使用shadow buffer时,会在内存中创建一个镜像,用于动态或静态读写的场景。当需要读写时,操作的是内存中的shadow buffer,而非硬件buffer本身。在最后的unlock阶段,会将shadow buffer的内容同步到硬件buffer。尽管内存中已经有了buffer,但依然使用`HardwareBuffer* mpShadowBuffer;`来表示,可能是为了逻辑一致性,尽管这可能导致理解上的混淆。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

shadow buffer

从字面上理解影子缓冲?e文不好理解不能。。

 

仔细看代码,HardwareBuffer在构造的时候有这么一句

 

 

当要对buffer进行读写操作的时候,如果使用shadow buffer, 将对内存中的shadow buffer进行读写, 硬件部分的buffer将声明为 write only。修改完后写入硬件的buffer。(注意一下这里有个限制就是只有当buffer为动态的才这么做)

 

 也就是说shadow buffer 只不过是当前hardware buffer的一个内存中的镜像。

 

 

在最终unlock的时候 会将shadowbuffer的内容更新到hardwarebuffer上

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值