我想使用Unity进行跨平台非游戏开发,但电池消耗很痛苦。大多数用法是只读/静态的,即画布不会改变,最多只是平移(有时是缩放,但不是频繁)。是否可以将FPS设置为0并降低CPU使用率?
答案 0 :(得分:2)
犹豫“是”因为除了一些我无法知道的一般预测,或者实际上可能没有节省任何CPU使用量之外,你可能需要自己处理副作用。
但你可以尝试摆弄Time.timeScale
以免游戏更新频率降低,但它有一些相当广泛的含义(如果TimeScale为0,则你的平移和缩放不会起作用 如果它们依赖deltaTime(可能为零)或使用FixedUpdate(不会被调用)。)
一般来说,如果某些东西使用了大量CPU,那么你需要进入并找出原因并进行优化。使用the Profiler。如果您完全确定您的应用程序正在执行 nothing 并且CPU仍处于启动状态,则可能 您可以执行任何操作(这是引擎问题)。< / p>
答案 1 :(得分:1)
Application.targetFrameRate
设置每秒计算和渲染的帧数,因此将其设置为较低值实际上会节省功耗。不确定这在移动设备上的支持程度如何。特别是iOS帧速率可能取决于XCode项目中的静态设置。
Application.targetFrameRate
州的Unity文档:
- On mobile platforms the default frame rate is less than the maximum
achievable frame rate due to need to conserve battery power. Typically
on mobile platforms the default frame rate is 30 frames per second.
这应该意味着将目标帧速率设置为较低的值会消耗更少的电池电量。