我们刚刚开发了一款iOS游戏,用户一直在抱怨它耗尽了电池电量。它以每秒60帧的速度播放并使用专有的游戏引擎(用C#编写)。可能其中一个是问题还是应该先调查其他常见因素?
答案 0 :(得分:3)
Apple对reducing power consumption in their iOS programming guide
有一些指导原则开始使用一些提示的好地方。
答案 1 :(得分:1)
首先,通过Instruments运行代码,看看它如何影响CPU使用率(恒定的高CPU将耗尽电池)。此外,您是否使用GPS或WIFI等任何设备功能?这些会进一步耗尽电池。
其次,当您的应用暂停时,您是否会运行任何后台进程?这可能会耗尽电池电量?
您可以通过检查设备日志的功耗,进行更改并保存另一个日志来跟踪您增强的性能。
答案 2 :(得分:0)
可能有一个简单的答案,尝试以30分钟或甚至低至24 FPS运行游戏。有没有真正的理由你需要快速运行它?
顺便提一下,我说的是24#34;技术上"你的眼睛(大多数人)可以检测到的最快。
在视频中,我们试图更高,因为从录制过程中可以看到有文物,但由于游戏已生成场景,通常你不需要高于24。
答案 3 :(得分:0)
良好的第一步是将帧速率降低到30 FPS。 对于任何合理的游戏,60 FPS都是过度的。在某些时候,除非帧速率正在跳过,否则你的眼睛无法区分。该速率发生在大约24-30 FPS,这就是为什么它最常用于视频&游戏。
我会提醒你,如果你有一个实时游戏(尤其是一个基于反射的游戏),你可以在另一个线程上进行游戏逻辑。如果你不这样做,你可能会遇到其他游戏的缺陷,例如:
使命召唤:现代战争3在它的引擎设计中存在一个主要缺陷,因为你的枪射击的射击率仅由游戏的帧率决定,而不是由后台线程决定。
这使某些武器比其他武器更危险,因为它们的帧速率约为60 FPS,每次射击时间为整数。
所以说,只要尝试降低帧速率。仅这一点可能就是吃大部分电池的原因。