技术美术个人笔记(九)——GPU入门(上)

本文是技术美术的学习笔记,深入探讨GPU入门,重点讲解渲染基础、Pipeline详解、性能优化策略。介绍了GPU的内存结构、Draw Call、Render State、Shader以及如何节约性能,如批处理、实例化和减少过度渲染。内容涵盖GPU核心功能和良好的渲染习惯,旨在帮助游戏开发者提升图形渲染效率。
摘要由CSDN通过智能技术生成

《Render Hell——GPU入门》学习笔记

系列原文:Render Hell —— 史上最通俗易懂的GPU入门教程(一)

第一部分 · 渲染基础

当 VRAM 显存中的纹理不再被需要时, RAM 内存中将其删除, 而顶点数据则仍然需要保留在 RAM 中,因为大多数情况下 CPU 仍需要访问这些数据(比如碰撞检测(Collision Detection))。

GPU中含一小片内存 片上缓存(on-chip Cache) 拷贝小部分数据到此缓存以加快效率;其中含 二级缓存(L2 Cache) 访问速度要比 VRAM 快很多 、一级缓存(L1 Cache)十分靠近 GPU 的 Core;GPU还有一块专用于 GPU Core 数据输入与输出的预留内存:寄存器寄存器堆(register file)

Draw Call (绘图调用)所谓 Draw Call 就是一条用来渲染网格的命令,它由 CPU 发出,并被 GPU 接收。该命令仅指向一个需要被渲染的网格,它不包含任何材质信息,因为这些信息早已在 Render State 中被设置。此时的网格正位于你的显卡中(VRAM) 。

Render State 是网格渲染方式的一种全局定义,它包含顶点、像素着色器、纹理、材质、光照、透明度等。

GPU 使用 Render State(材质、纹理、着色器)和所有顶点数据,通过代码魔法将这些信息转换为屏幕上的彩色像素,这个转换过程也被称为 Pipeline(流水线/管线)。 允许多条 Pipeline 同时运行

渲染 说白了就是 在同一时刻做大量的简单小任务,比如:计算上千个顶点,或者在屏幕上绘制数百万个像素点,这些任务至少要满足 30fps 的要求。 如今的 CPU 已经有6-8个 Core 了,而 GPU 却有上千个 Core。

CPU将绘图指令放入 FIFO 先入先出的Command Buffer(命令缓冲区),其中含 Draw Call 命令和 修改 Render State 命令。</

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值