2

我们刚刚开发了一款 iOS 游戏,用户一直抱怨它会耗尽电池电量。它以每秒 60 帧的速度播放,并使用专有的游戏引擎(用 C# 编写)。其中一个可能是问题,还是应该首先调查其他常见因素?

4

4 回答 4

3

Apple在他们的 iOS 编程指南中有一些关于降低功耗的指导方针

开始一些技巧的好地方。

于 2012-06-27T20:31:26.100 回答
1

首先,通过 Instruments 运行代码,看看它如何影响 CPU 使用率(持续高 CPU 会耗尽电池电量)。另外,您是否使用任何设备功能,例如 GPS 或 WIFI?这些将进一步耗尽电池。

其次,当您的应用程序应该挂起可能会消耗电池电量时,您是否会运行任何后台进程?

您可以通过检查设备日志的功耗、进行更改和保存另一个日志来跟踪您增强的任何性能。

按照这些说明完成此操作

于 2012-06-28T11:24:10.140 回答
0

可能有一个简单的答案,尝试以 30 FPS 或什至低至 24 FPS 的速度运行游戏。有什么真正的理由需要如此快速地运行它吗???

顺便说一句,我说 24 是“技术上”你的眼睛(对于大多数人来说)可以检测到的最快速度。

在视频中,我们尽量走高,因为从录制过程中可以看到有伪影,但由于游戏有生成场景,一般不需要高于24。

于 2012-06-27T20:34:42.960 回答
0

一个好的第一步是将帧速率降低到 30 FPS。对于任何合理的游戏,60 FPS 都是过大的。在某些时候,您的眼睛无法分辨出差异,除非帧速率在跳跃。该速率大约为 24-30 FPS,这就是它最常用于视频和游戏的原因。

不过,我会提醒您,如果您确实有实时游戏(尤其是基于反射的游戏),请在另一个线程上执行您的游戏逻辑。如果不这样做,您可能会遇到其他游戏存在的缺陷,例如:

使命召唤:现代战争 3 的引擎设计有一个重大缺陷,即你的枪射击的射速完全取决于游戏的帧速率,而不是由后台线程决定。

这使得某些武器比其他武器更危险,因为在大约 60 FPS 的帧速率下,它们每次射击的时间都是整数。

因此,话虽如此,请尝试降低帧速率。仅此一项可能就是消耗大部分电池的原因。

于 2012-06-27T20:35:37.973 回答