优化性能
游戏开发中平衡 CPU 和 GPU 的性能消耗。
例如:
载入Loading
同样的效果采取两种不同的做法 ,需求的资源量截然不同
1. CPU :可以选择24张图片组成的一个动画序列(如果是24F的情况)
2. GPU :利用shader函数 以图形的中心为旋转中心进行某种合适速度的旋转。
节省内存,降低资源消耗。
优化,尽量的将可能在GPU中进行处理CPU中的内容,进行性能的平衡。
CPU 与 GPU
黄色的是逻辑单元 绿色的是计算单元 橙色的是储存单元
CPU属于复杂的逻辑程式操作;
GPU操作之间相对独立。
CPU 将 程式转到GPU的过程
1 HDD 硬盘(也可以是SSD);
2 RAM 内存;
3 VRAM 显卡内存;
4 Set Render Status 设定状态:需要什么样的(Material)材质 Texture(贴图) 和 Shader;
5 底层API的调用(OpenGL or DirectX中的Direct3D);
shader
流程:
1 输入:参数 Vertex Data 、Texture 、 Variable
2 shader :Math 、Code 数学运算 和 程序编辑(来改变渲染过程)
3 output :输出 Render Result
图形流水线(Graphics Pipeline)
Mesh
1.点 2.线 3.三角面(polygons) 4.网格
网格 ===> 渲染
但是记录mesh的是定点数据(verts)
GPU的处理流程
简单的图形流程
1.mesh(顶点信息) 2.组装成三角形polygons 3.像素化pixel 4.色彩信息 5.输出到显示器
可程式控制图形流程
可以用编写程序来控制GPU的运作
(不可程式控制)老式显卡 默认系统自带的运作模式
1.应用程式阶段:Mesh 传入 GPU的过程
2.几何学阶段:做顶点的处理(做顶点的位置改变,删除摄影机(cammera)外的顶点);从3D的点映射到2D上
3.光栅化:把2D的点信息转化成Pixel,再对pixel进行上色;