栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 游戏开发 > Unity3D

Unity 对GPU的基础性能优化

Unity3D 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Unity 对GPU的基础性能优化

Unity GPU 性能优化
  • 遇到的问题
  • 分析工具
  • 解决方法
    • 1.不在代码层面的优化方法
    • 2.部分在代码层面进行优化
  • 特别说明

遇到的问题

因为项目中采用的主机为工控机,不带有独立显卡,CPU采用的是i7-8750H,集显型号620
在运行中GPU长期处于高占用、高功耗运行。

分析工具
  1. Unity自带的Profiler(虽然有很大误差,但只是作为分析帧数和卡顿脚本的话是够用的)。
  2. windows的任务管理器,在性能中可以看到大致的占用率。
解决方法

1.不在代码层面的优化方法
  1. 上图中右侧为对系统启动环境的设置,根据自身系统的情况可以多做几次适合的调整(分辨率均为16:9的屏幕可选分辨率),这样的操作是在发布系统启动的分辨率设置界面中设置。
    如图中的图形质量等级,Unity编辑器是有六个等级可以选择的。设置方法为 Edit-Project Setting-Quality(质量) 中
    在这里可以设置不同的差异等级。
2.部分在代码层面进行优化
  1. 对于第一点的优化方式如果需要取消分辨率设置界面,可以通过代码进行调整。
Screen.SetResolution(1366, 768, true);    //设置分辨率大小
QualitySettings.SetQualityLevel(3, true);   //设置图形质量等级
  1. 在关闭垂直同步的图形质量等级下
   Application.targetFrameRate = 30;   //强制帧率

这句代码生效(PS:在没关闭的是无法设置的)
关闭垂直同步的方法:
打开 Edit-Project Setting-Quality(质量)的等级下找到V Sync Count(垂直同步数)就可以修改这个等级的垂直同步数,将垂直同步数改为Don’t Sync即可对帧率进行调整。

特别说明

这篇文章意在帮大家做一些基础的性能优化,没有对代码做出大改动,在Profiler中可以看到突然降帧的脚本函数是什么,锁定问题所在后更改即可
因为笔者所知甚浅,只能做一些基础的工作,对于在底层的优化方式还所知甚少,希望看到的大佬可以私信教导。不胜感激。

参考的大佬文章:

  1. Unity性能优化.
  2. Unity优化之CPU与GPU.
  3. Unity3D降低性能方法.
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/900839.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号