news 2026/7/26 6:22:14

12. CPU → GPU数据上传 + 渲染指令执行流程

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
12. CPU → GPU数据上传 + 渲染指令执行流程

1.CPU → GPU数据上传 + 渲染指令执行流程

2.绑定GPU显存中的VBO/IBO说明


1.CPU → GPU数据上传 + 渲染指令执行流程

以渲染一个3D对象为例,全流程如下1).CPU准备阶段 a.CPU在内存中整理好顶点数据、索引数据、常量缓冲区参数(比如 MVP 矩阵)b.CPU确定本次渲染的渲染状态(深度测试、混合模式等)、Shader 引用、纹理引用
2).CPU写入命令缓冲区 CPU按顺序往"命令缓冲区"(CPU/GPU共享的内存块)写入一系列指令,包括 a.指令1:设置渲染状态(比如开启深度测试、绑定Shader程序)b.指令2:数据上传指令(若数据未上传过)—— 包含"CPU 内存源地址、GPU 显存目标地址、数据长度"c.指令3:绑定GPU显存中的VBO/IBO(顶点/索引缓冲区)d.指令4:更新常量缓冲区(把MVP矩阵、材质参数上传到GPU)e.指令5:DrawCall指令(告诉GPU用当前绑定的VBO/IBO渲染多少个三角形)
3).CPU提交命令缓冲区 CPU把写满指令的命令缓冲区提交给GPU的命令处理器(CommandProcessor),提交后CPU立即返回,去处理游戏逻辑、UI等其 他任务
4).GPU处理命令缓冲区 a.GPU命令处理器按顺序读取命令缓冲区中的指令 b.读到"数据上传指令",GPU命令处理器向DMA控制器(硬件)发送"数据搬运请求",包含源地址、目标地址、长度 c.DMA控制器直接访问CPU内存和GPU显存,完成数据拷贝(全程不占用CPU,也不占用GPU核心)d.DMA拷贝完成后,向GPU命令处理器发送「数据搬运完成信号」(不是给CPU发)e.GPU命令处理器收到信号后,继续执行后续指令(设置渲染状态、绑定资源、执行 DrawCall)f.GPU核心按指令完成渲染,输出画面到帧缓冲区
5).CPU同步 只有当CPU需要读取GPU渲染结果(比如屏幕截图、计算着色器输出),才会主动调用"同步指令"(比如glFinish())—— 此时 CPU会等待GPU完成所有未执行的指令,否则CPU全程不等待GPU

2.绑定GPU显存中的VBO/IBO说明

绑定GPU显存中的VBO/IBO理解成:CPU告诉GPU接下来的渲染指令,要使用显存里的哪一块顶点/索引数据,本质是建立渲染指 令和GPU显存资源的关联关系
a.数据上传阶段(已完成)CPU把顶点/索引数据通过DMA上传到GPU显存,GPU会创建对应的VBO/IBO,并返回一个ID给CPU,CPU把这个ID存在自己的资源 台账里 b.绑定阶段,CPU往命令缓冲区写入一条"绑定指令",指令内容很简单-绑定VBOID=123"顶点数据槽位"-绑定IBOID=456"索引数据槽位"c.指令提交阶段 CPU把包含"绑定指令 + DrawCall 指令"的命令缓冲区提交给GPU d.GPU执行阶段-GPU命令处理器先执行"绑定指令":根据ID找到显存里的VBO/IBO,把它们和对应的槽位关联-接着执行DrawCall指令:GPU从槽位中读取绑定好的顶点/索引数据,再结合Shader、渲染状态完成渲染
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/22 13:44:10

DSCP 标记:差分服务的核心流量标识技术

DSCP 全称 Differentiated Services Code Point(差分服务代码点),是 TCP/IP 协议栈中用于实现流量差异化服务的核心标记字段,隶属于 IETF 定义的 DiffServ(差分服务)架构。它的核心作用是为数据包赋予服务等…

作者头像 李华
网站建设 2026/7/22 15:02:02

ue5 设置分辨率笔记

3种方法: https://blog.csdn.net/weixin_52555766/article/details/134695226 测试没起作用。

作者头像 李华
网站建设 2026/7/22 15:02:03

java中反射机制的应用场景,零基础入门到精通,收藏这篇就够了

1. 动态代理 动态代理是Java反射机制的一个重要应用场景。通过动态代理,可以在运行时创建代理类并处理方法调用。动态代理在Java中的主要应用场景是AOP(面向切面编程),如事务管理、日志记录、权限控制等。 示例: im…

作者头像 李华
网站建设 2026/7/24 20:23:52

django基于python的快递驿站网点管理系统

目录摘要技术实现关于博主开发技术路线相关技术介绍核心代码参考示例结论源码lw获取/同行可拿货,招校园代理 :文章底部获取博主联系方式!摘要 随着电子商务的快速发展,快递业务量激增,传统人工管理方式已难以满足现代快递驿站的高…

作者头像 李华
网站建设 2026/7/21 10:48:02

提示工程架构师揭秘:提示工程如何重塑大数据分析生态

提示工程架构师揭秘:提示工程如何重塑大数据分析生态 1. 引入与连接:大数据分析师的“效率困境”与破局点 深夜十点,小张揉着发涩的眼睛盯着电脑屏幕——他是某零售企业的大数据分析师,今天的任务是分析“2023年双11期间华北地区母…

作者头像 李华