Pointer在scene中创建,全局唯一;
目标: 1、提供:创建(分配)、释放(释放内存)、resize(调整大小)、 2、GPU侧不需要管理,直接适用GPUBufferBinding即可; 3、GPU侧有两种访问方式 A、静态:直接使用GPUBufferBinding,无变化的情况 B、动态:在DC等使用者中通过箭头函数动态获取GPUBufferBinding: a、 数据有resize操作,需要动态调整GPUBufferBinding。 b、 BOL进行内存块调度,优化CPU到GPU的数据传输时(如:优化批量写入)。(此种情况,BOL的block一定是动态情况) 4、初期不考虑CPU侧的跨BOL的内存管理,调度范围限制在BOL的Block内。
最后一个指针ID
指针ID集合 1、设计为自增,所以需要记录最后一个ID。 2、ID删除后,也不再使用
检查TypedArray的byteSize是否符合要求
创建指针
Optional
创建指针ID
获取指针的CPUBufferView
获取指针的GPUBufferBinding
释放指针
重置指针大小
更新指针数据
更新指针偏移量和BOLID
更新指针写入时间
指针ID或指针结构体
是否更新成功
Pointer在scene中创建,全局唯一;
目标: 1、提供:创建(分配)、释放(释放内存)、resize(调整大小)、 2、GPU侧不需要管理,直接适用GPUBufferBinding即可; 3、GPU侧有两种访问方式 A、静态:直接使用GPUBufferBinding,无变化的情况 B、动态:在DC等使用者中通过箭头函数动态获取GPUBufferBinding: a、 数据有resize操作,需要动态调整GPUBufferBinding。 b、 BOL进行内存块调度,优化CPU到GPU的数据传输时(如:优化批量写入)。(此种情况,BOL的block一定是动态情况) 4、初期不考虑CPU侧的跨BOL的内存管理,调度范围限制在BOL的Block内。