【问题标题】:How can we reduce the power consumption of our iOS game?我们如何降低 iOS 游戏的功耗?
【发布时间】:2012-06-27 20:26:43
【问题描述】:

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

【问题讨论】:

  • 您是否通过 Instruments 运行您的应用程序?有几种模式可以让您专注于某些因素,但即使没有明显的问题,这也是一个好主意。

标签: c# iphone ipad game-engine battery


【解决方案1】:

Apple 对reducing power consumption in their iOS programming guide 有一些指导意见

开始学习一些技巧的好地方。

【讨论】:

    【解决方案2】:

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

    其次,您是否会在您的应用暂停时运行任何可能消耗电池电量的后台进程?

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

    follow these instructions to accomplish this

    【讨论】:

      【解决方案3】:

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

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

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

      【讨论】:

        【解决方案4】:

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

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

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

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

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2012-05-28
          • 1970-01-01
          • 2019-03-23
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多