最近工作中聊到了一些Unity优化方面的问题,这里觉得有必要把自己过去关于优化的知识整理整理,写一篇博客。
优化大体上在我这里分为四个部分:
资源优化,渲染优化,代码优化,其他优化。
文章目录
1.一些必要的前置知识了解
(1)CPU和GPU分工
GPU比较适合大量可并行的简单任务。比如场景渲染,光照处理等等。你看到的图像都是显卡渲染出来的。同时现在的GPU也支持一些其他的运算。比如通过GLSL,HLSL和Cg支持并行运算等等。GPU同时也对游戏中的一些物理效果提供支持,比如PhysX.
一般CPU用于一些数值运算,比如伤害,随机数等等。同时你的敌人AI也是CPU运算出来的。
GPU图像图形处理和输出,CPU各种控制,啥都干,但图像图形交给GPU会明显快的多。
简单的说,就是CPU负责游戏逻辑,GPU负责显示特效。
复杂的地图表现,AI逻辑以及伤害计算会用到CPU。而且越是大型的单机游戏。游戏资源量越大。
资源的实时加载以及处理也是大多由CPU来完成的。
游戏基本有三类代表:
孤岛危机:画面特效为主 需要强大显卡的支持
文明系列:海量的数据运算 需要强大计算能力。
模拟人生系列:巨大的数据量 需要硬盘的快速读取。
(2)U3D批处理的静态与动态
在屏幕上渲染物体,引擎需要发出一个绘制调用访问图形API.每个绘制调用需要进行大量的工作来访问图形API,从而导致了
CPU方面显著的性能开销。
Unity在