← 02 实验索引

第一个三角形:九步动画

左边九步,每点一次就真实执行一次 WebGPU 调用。注意第 ⑤ 到 ⑧ 步画布一直是空的—— 这几步只是在录命令,第 ⑨ 步提交之后三角形才出现。

先点「下一步」。

    画布未配置

    灰白格子是网页背景。画布默认是透明黑,提交之前什么都没有。

    这一帧录到的命令

      真实返回值

        对应代码

        为什么 ⑤~⑨ 每次点击都会重放

        getCurrentTexture() 拿到的纹理只在当前帧有效。规范里 「Expire the current texture」这一步会对它调用 destroy(), 所以慢慢点按钮(跨了很多帧)之后再提交,用的就是一张已经销毁的纹理。 这个页面的做法是:点 ⑤~⑨ 里的任一步,都在同一个 requestAnimationFrame 里 从 ⑤ 重放到当前步——录命令本身不改画布,只有 ⑨ 的 submit 会。