游戏开发论坛

 找回密码
 立即注册
搜索
查看: 6500|回复: 0

UE4开发者不得不知道的几个减少电源消耗的诀窍

[复制链接]

1万

主题

1万

帖子

3万

积分

论坛元老

Rank: 8Rank: 8

积分
36572
发表于 2017-2-7 13:22:32 | 显示全部楼层 |阅读模式
  当虚幻引擎发布的时候我就开始在笔记本上尝试跑代码了。很明显,最突出的特点不是这个引擎在性能上有多么出众,而是它对笔记本电脑电池的消耗让我感到很吃惊。最开始玩儿引擎的时候我的电池显示还能坚持9小时,51分钟以后,我的电脑就挂了。当然,任何高精度密集的CPU和GPU活动都对电源的消耗很大,但相比而言,跑Unity就可以持续大约四小时左右。对于像我这样的开发者,电池寿命对于各处跑的职业要求来说,真的是一个问题了。

  问题的关键是,Unreal引擎编辑器实质上也是一个游戏,运行在近乎完美的编辑器上。问题的关键是,引擎和游戏是同时在运行的,即使你不需要进行实时的渲染。Unreal发布的时候,主要针对的是运行在台式机上,所以功耗的问题会被列在最后被考虑。幸运的是,就算用笔记本开发Unreal,有些事情你也可以做来最大限度的提高电池的寿命。当然,这里我要分享的每一个技巧都是以性能作为代价的。总的来说,如果你用蓝图工作,或者是尝试一些新的C++代码案例,根本没有必要全速运行UE4

  因此,以下是一些提示,最大限度尽可能地提高您的电池寿命

  首先,让我们以电池的使用情况为基础。这是UE4运行Twin Stick shooter 案例时编辑器完全闲的情况

1.jpg

  很明显,这个值是基于是否被focused以及其他干扰因素的影响,但是他给了我们一个基础值

  关闭实时更新

  关闭实时更新最简单的第一步就是关闭实时更新你的视口。在视口左上角的下拉菜单中,取消勾选实时渲染

2.jpg

  这个设置就是为了防止视口不断的渲染,只当你改变视角或者是更新场景时才会更新。你可以使用热键组合Ctrl + R或者是CMD+R来进行上述快捷操作。编辑蓝图时,也可以进行同样的设置。

  在选定背景时,确保使用较少的CPU

  在默认情况下该项是启用的,但请确保已经打开。进入虚幻设置(虚幻编辑器>在Mac上的首选项,文件>在Windows上的首选项),选择其他,然后根据性能验证在后台检查时使用较少的CPU:

3.jpg

  这一点正是你所期望的,当虚幻编辑器不在前端(不是活跃的应用程序)它大量降低CPU消耗,从而提高了电池的使用。

  关闭实时缩略图

  在内容浏览器一个灵巧的选项,它会产生你的资源的实时缩略图。这让你快速预览模型,纹理,等等,但这也是一个很没意义的CPU消耗功能。如果你可以通过在内容浏览器窗口取消勾选实时缩略图视图选项来实现。

4.jpg

  设置最大帧率

  你可以为视口设置一个最大渲染的帧速率,这对CPU / GPU的使用有积极作用。执行此操作有两种方法,一种是临时的,另一种在每次加载时会影响编辑器。

  临时设置最大帧率

  点击 ~ 键来启动控制台

  输入  t.maxfps 10

5.jpg

  这将限制速度10fps。设置这个值,以达到最佳性能和CPU使用之间的平衡。

  永久设置最大帧率

  打开配置文件consolevariables.ini。在我的情况下在MacOS位于

  /Users/Shared/UnrealEngine/4.7/Engine/Config

  然后找到[启动]添加代码 t.maxfps = 10 如下。

6.jpg

  为Unreal 编辑器PID节流CPU

  如果所有这些选项不工作的话,你可以把对于虚幻引擎资源节流到更限制级的步骤。如果你使用的是Optimus运行NVIDIA图形卡,你可以设置虚拟运行使用英特尔GPU而不是NVIDIA的GPU,这应该会减少GPU的开销,因此电池的消耗也相对应减少。还可以将线程优先级设置为更低。这里是一个使用Mac OS的例子

  首先下载并安装cpulimit

  接下来找到运行的虚幻编辑器的PID。

  可以使用命令从终端获取PID。

  ps -ef |grep "UE4Editor.app"

  在下面的结果中找到可用PID:

7.jpg

  或者你可以简单地通过活动监视器定位它

8.jpg

  sudo cpulimit —limit=30 —pid=numberfromabove —verbose

9.jpg

  此命令将运行在终端和硬盘限制CPU可用虚幻引擎到30%。显然这会对性能产生重大影响,但也会极大地限制电池的流失。很明显,你可以设定你想要的值的极限。停止节流按Ctrl + C在终端窗口。正如您从上面的结果中看到的,如果CPU实际指令中指定了阈值,CPU节流就会起作用。

  结果

  在经过这么多调整之后,我们来看一下最后的效果

10.jpg


蛮牛译馆编译

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2025-2-25 00:43

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表