Unity 对GPU的基础性能优化
Posted 日于
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Unity 对GPU的基础性能优化相关的知识,希望对你有一定的参考价值。
Unity GPU 性能优化
遇到的问题
因为项目中采用的主机为工控机,不带有独立显卡,CPU采用的是i7-8750H,集显型号620
在运行中GPU长期处于高占用、高功耗运行。
分析工具
- Unity自带的Profiler(虽然有很大误差,但只是作为分析帧数和卡顿脚本的话是够用的)。
- windows的任务管理器,在性能中可以看到大致的占用率。
解决方法
1.不在代码层面的优化方法
- 上图中右侧为对系统启动环境的设置,根据自身系统的情况可以多做几次适合的调整(分辨率均为16:9的屏幕可选分辨率),这样的操作是在发布系统启动的分辨率设置界面中设置。
如图中的图形质量等级,Unity编辑器是有六个等级可以选择的。设置方法为 Edit-Project Setting-Quality(质量) 中
在这里可以设置不同的差异等级。
2.部分在代码层面进行优化
- 对于第一点的优化方式如果需要取消分辨率设置界面,可以通过代码进行调整。
Screen.SetResolution(1366, 768, true); //设置分辨率大小
QualitySettings.SetQualityLevel(3, true); //设置图形质量等级
- 在关闭垂直同步的图形质量等级下
Application.targetFrameRate = 30; //强制帧率
这句代码生效(PS:在没关闭的是无法设置的)
关闭垂直同步的方法:
打开 Edit-Project Setting-Quality(质量)的等级下找到V Sync Count(垂直同步数)就可以修改这个等级的垂直同步数,将垂直同步数改为Don’t Sync即可对帧率进行调整。
特别说明
这篇文章意在帮大家做一些基础的性能优化,没有对代码做出大改动,在Profiler中可以看到突然降帧的脚本函数是什么,锁定问题所在后更改即可
因为笔者所知甚浅,只能做一些基础的工作,对于在底层的优化方式还所知甚少,希望看到的大佬可以私信教导。不胜感激。
参考的大佬文章:
以上是关于Unity 对GPU的基础性能优化的主要内容,如果未能解决你的问题,请参考以下文章