Unity发热严重iphone直接高温保护不让充电

Unity 之 发布PC端CPU高占用温度高的问题解决方案
Unity 之 发布PC版本CPU高占用问题解决方案
前言
一,问题背景
二,尝试解决
2.1 尝试方案一
2.2 尝试方案二
三,解决方案
四,一个拓展
前言
之前题目写的是Unity 之 发布Mac版本遇到的问题,所以文中的尝试方法和解决方案都是在Mac上操作的。解决问题后发现是Unity的设置问题,也就不分是Mac还是Windows了,所以修改题目为发布PC端遇到的问题。

一,问题背景
使用Unity开发的一款游戏,在启动后第一个界面(登录界面),放着不动,过了一会就发了Mac的CPU占用直接爆满,温度也一直在升高。而登录进入游戏大厅界面之后,数据就慢慢恢复正常了。

修改前登陆界面:

二,尝试解决
尝试过的解决方法:

2.1 尝试方案一
不清楚问什么首个界面会出现这样的情况,于是在加载登录界面前有添加了一个界面,并且添加一个一个键盘按键进入登陆界面的逻辑,除此之外新添加的界面无任何逻辑。

实践后发现情况还是一样,新加界面和登陆界面都有问题。不过这排除了登录界面逻辑有问题的情况。

2.2 尝试方案二
使用同版本Unity在同环境下新建工程,测试是否存在此问题;
实践后发现新工程无此问题,那么经过此测试可以猜测是工程设置问题。

经确认是因为:关闭了垂直同步

点击Unity --> Edit --> Project Setting --> Quality,打开QualitySetting面板,有一个VSync Count参数,该参数表示垂直同步。它有三个值可以选择:

Don’t Sync : 不同步 – 我工程设置了这个
Every V Blank:每隔一个垂直空白同步 – 新工程默认设置
Every Second V Blank:每隔两个垂直空白同步

关于Quality面板的官方API

三,解决方案
经过各种尝试和查找,最终在stackoverflow中看到一个解决方法,是游戏帧率影响的。反推回2.2的尝试方法的思路。

解决问题:
后来我查看了一下代码,原逻辑确实是在进入大厅之后才设置的游戏帧率,在Unity3D中可以通过代码设置来限定游戏帧率。

两个步骤:

打开 Edit-Project Setting-Quality(质量)的等级下找到V Sync Count(垂直同步数)就可以修改这个等级的垂直同步数,将垂直同步数改为Don’t Sync即可对帧率进行调整。
在程序启动后的,自动执行的脚本中的Start方法中添加:
Application.targetFrameRate = 60;
1
再次打包运行,就可以看到比较正常的状态了:

修改后:

四,一个拓展
Application.targetFrameRate:该API设置游戏尝试使用指定的帧率进行渲染;默认情况下该值为-1

表明使用平台的默认帧率进行渲染, 帧率在各个平台有差异:

在PC端,默认帧率就是机器性能上所能达到的最大帧率
对于移动平台,默认帧率是低于硬件能达到的最大帧率的。事实上对于移动平台的最大帧率等于其屏幕的刷新率(比如机器的屏幕刷新率为60Hz,如果targetFrameRate设置-1的话,其最大帧率只能达到60fps)。
对于WebGL,若使用默认帧率,浏览器会选择使用能最优展示效果的帧率。
科普:参考原文地址

科普:VSync垂直同步又称场同步(Vertical Hold),垂直同步信号决定了CRT从屏幕顶部画到底部,再返回原始位置的时间。从CRT显示器的显示原理来看,单个像素组成了水平扫描线,水平扫描线在垂直方向的堆积形成了完整的画面。显示器的刷新率受显卡DAC控制,显卡DAC完成一帧的扫描后就会产生一个垂直同步信号(决定于屏幕的刷新率)。我们平时所说的打开垂直同步指的是将该信号送入显卡3D图形处理部分,从而让显卡在生成3D图形时受垂直同步信号的制约(注意是制约)。如果我们选择等待垂直同步信号(也就是我们平时所说的垂直同步打开),那么在游戏中或许强劲的显卡迅速的绘制完一屏的图像,但是没有垂直同步信号的到达,显卡无法绘制下一屏,只有等垂直同步的信号到达,才可以绘制。这样FPS自然要受到操作系统刷新率运行值的制约。而如果我们选择不等待垂直同步信号(也就是我们平时所说的关闭垂直同步),那么游戏中作完一屏画面,显卡和显示器无需等待垂直同步信号就可以开始下一屏图像的绘制,自然可以完全发挥显卡的实力。但是不要忘记,正是因为垂直同步的存在,才能使得游戏进程和显示器刷新率同步,使得画面更加平滑和稳定。取消了垂直同步信号,固然可以换来更快的帧率,但是在图像的连续性上势必打折扣
————————————————
版权声明:本文为CSDN博主「陈言必行」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/Czhenya/article/details/121801158

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值