Unity性能优化全攻略
本文目录 7 个章节
Unity性能优化全攻略
创建时间:2020/4/23 17:16
标签:| 优化
drawcall
就是cpu对图形绘制接口的调用,CPU通过调用图形库(directx/opengl)接口,命令GPU进行渲染操作。
CPU和GPU是如何进行并行工作和交互的
如何影响性能
每一次绘制CPU都要调用DrawCall,而在调动DrawCall前,CPU还要进行很多准备工作:检测渲染状态、提交渲染所需要的数据、提交渲染所需要的状态。 而GPU本身具有很强大的计算能力,可以很快就处理完渲染任务。 当DrawCall过多,CPU就会很多额外开销用于准备工作,CPU本身负载,而这时GPU可能闲置了。
DrawCall优化:减少DrawCall
Statistics
FPS超过30,就不卡(每秒渲染多少帧) CPU:进行计算的绝对时间值 batches:对某些drawcall进行合并,合并成一批 Verts:摄像机视野中的顶点数 Tris:三角面个数 SetPass calls:Shader中包含很多pass
资源优化
声音优化
Decompress On Load 在硬盘上压缩这个文件,并在第一次加载到内存的时候解压它,这是加载声音文件的默认选项,大多数情况下我们应该使用这个选择 。 加载后解压缩声音,声音文件将在他们加载不久后就解压,这个选项适用于较小的压缩声音,以避免即时解压缩的性能开销。要知道在加载时解压 Vorbis编码的声音将使用的内存是压缩状态的十倍或更多(ADPCM编码大概3.5倍)所以不要使用此选项用于大文件。 Decompress On Load 默认选项适用于小文件。 Compressed In Memory 保持声音在内存中是压缩的并在播放时解压缩。这有更多的CPU开销(尤其是OGG / Vorbis格式的压缩文件),但可以提高加载速度并减少内存消 耗,因此这个选项适用于大文件。 在性能窗口可以看”DSP CPU”。 Compressed In Memory 适用于大文件。 Streaming 选项 直接从磁盘流音频数据。这只使用了原始声音占内存大小的很小一部分。 该方法使用最少的内存和最多的CPU,它有个很明显的缺点就是不能被引用超过一次。试着让 Audio Clip产生多个副本的时候会每个都产生数据缓冲区,如果非要这么做会产生大量的内存和cpu消耗。因此这个选择最好是给单实例的Audio Clip,如背景和环境音效。对于手游而言不要优先考虑使用这种方式。 ———————————————— 版权声明:本文为CSDN博主「CZandQZ」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。 原文链接:https://blog.csdn.net/u012565990/article/details/51794486