系列博客总目录:https://blog.youkuaiyun.com/cRGBc/article/details/120412614
介绍原文 11 章、部分 12 章和 17 章的内容。
1 指令缓存:GPUCommandBuffer
指令缓存(又译作命令缓冲区),GPUCommandBuffer,是一个能事先存储 GPU 指令的存储容器。它可以提交给 GPUQueue 执行。每个 GPU 指令代表一个要被 GPU 执行的任务,可以是绘图、设置数据、复制资源等。
[Exposed=(Window, DedicatedWorker), SecureContext]
interface GPUCommandBuffer {
readonly attribute Promise<double> executionTime;
};
GPUCommandBuffer includes GPUObjectBase;
它有一个 resolve 值是 double 数值的 Promise,其 resolve 值是指令缓存上的预存 GPU 指令的执行时间。
如果在创建指令编码器时,其参数对象的 measureExecutionTime 若为 true 才有效,若为 false,这个 Promise 会 reject,你可以捕获一个 OperationError 错误。
如何创建
调用 [指令编码器](#2 指令编码器:GPUCommandEncode
本文详细介绍了WebGPU中的指令缓存、指令编码器和指令队列。重点讲解了如何创建和使用GPUCommandBuffer、GPUCommandEncoder,以及它们在启动通道、缓存复制、图像/纹理复制中的应用。此外,还阐述了GPUQueue的writeBuffer和writeTexture等方法,以及相关数据类型如GPUImageCopyBuffer、GPUImageCopyTexture等。
订阅专栏 解锁全文
375

被折叠的 条评论
为什么被折叠?



