利用Adaptive Performance打造运行流畅的精彩移动游戏

DAVID BERGER / UNITY TECHNOLOGIESContributor
Mar 30, 2021|6 Min
利用Adaptive Performance打造运行流畅的精彩移动游戏
为方便起见,此网页已进行机器翻译。我们无法保证翻译内容的准确性或可靠性。如果您对翻译内容的准确性有疑问,请参阅此网页的官方英文版本。

了解如何使用Adaptive Performance来调整您的手机游戏 - 平衡帧速率和图形。获取有关 Adaptive Performance 的设备模拟器、样本和缩放器更新的最新详细信息。

开发人员必须密切关注他们的游戏在玩家设备上的表现,特别是在构建更复杂的手机游戏时。毕竟,性能问题会影响游戏体验并耗尽设备电池。更具体地说,手机产生过多的热量也会引起热节流,从而导致帧速率下降——这是一个很难恢复的问题。

那么为什么热节流会影响你的手机游戏的性能呢?嗯,当您的游戏尝试做更多的工作时,例如渲染或处理游戏逻辑,CPU 和 GPU 会消耗更多的电量。功率的增加意味着会产生更多的热量,从而降低设备性能以降低其温度。

借助Unity和三星的 Adaptive Performance,您现在可以监控设备的热量和电源状态,以确保您已准备好做出适当的反应。例如,在长时间玩游戏时,您可以动态降低细节级别或LOD偏差以确保游戏继续流畅运行。Adaptive Performance允许开发人员以可控的方式提高性能,从而最大限度地降低图形保真度。

Adaptive Performance如何发挥作用?
编辑器内截图

Adaptive Performance适用于所有三星 Galaxy 设备。换句话说,只有三星设备可以直接受益于Adaptive Performance的实施。

根据 AppBrain 的数据,三星是领先的 Android 设备制造商,占有全球三分之一以上的市场份额。这意味着在游戏中添加Adaptive Performance是提高数亿设备性能的可靠方法。

虽然您可以使用Adaptive PerformanceAPI 来微调您的应用程序,但Adaptive Performance也提供自动模式。在这些模式下,Adaptive Performance会根据几个关键指标确定要调整的游戏设置,其中包括:

  • 根据先前帧确定所需的帧速率
  • 设备温度水平
  • 设备接近热事件
  • 受 CPU 或 GPU 限制的设备

这四个指标决定了设备的状态,以便Adaptive Performance可以调整设置以减少瓶颈。这是通过提供一个整数值(称为索引器)来描述设备的状态来实现的。索引器是一个跟踪设备的热量和性能状态并提供量化质量指数的系统。

缩放器代表游戏中的各个功能,包括但不限于图形和物理设置。缩放器根据索引器的值进行自我调整。您可以查看设备模拟器的Adaptive Performance扩展中可用的缩放器。

在设备模拟器中模拟瓶颈
带场景视图的屏幕

模拟瓶颈可能很困难,但由于 Adaptive Performance 与 Device Simulator 的集成,您可以直接在编辑器中测试各种场景,而不必等待设备升温后再进行基准测试。

使用设备模拟器中的热设置,您可以将设备设置为节流,或者在即将节流时发出警告。您还可以将水平和趋势调整为正值,这表明设备正在产生热量。

同时,性能设置允许您将任何当前瓶颈设置为 CPU、GPU 或目标帧速率。同样,您可以设置 CPU 和 GPU 级别来模拟它们的性能频率。

热设置和性能设置都会影响Adaptive Performance如何通过索引器和缩放器改变游戏的性能。使用设备模拟器,您可以启用不同的缩放器来查看Adaptive Performance在设备节流时如何适应您的设备。

例如,当 GPU 被设置为瓶颈并且警告级别设置为节流时,您可以允许Adaptive Performance调整阴影设置,同时增加热趋势和水平。您还可以使用滑块覆盖缩放器来测试单个设置。

创建自定义缩放器
编辑器内截图

Adaptive Performance支持创建自定义缩放器,以增强和扩展游戏设置的控制方式。这包括未自动提供的设置。

要实现自定义缩放器,您必须实现 AdaptivePerformanceScaler 类。

例如,设置 QualitySettings.masterTextureLimit 会提示您描述每个级别的纹理质量和大小。

根据当前的比例级别,您可以重写 OnLevel 虚拟函数并实现比例逻辑。Adaptive Performance报告的 CurrentLevel 可以通知您将 QualitySettings.masterTextureLimit 设置为更高的值,然后它将使用所有纹理的较低比例的纹理 mipmap。处理纹理大小时,您可以看到自定义缩放器会影响视觉效果,并且专门针对 GPU。

描述最大级别和边界还可确保游戏的视觉效果不会完全丢失,因为较高级别的 mipmap 纹理占较低级别的 mipmap 纹理尺寸的一半。

Adaptive Performance提供了开箱即用的功能,使您的游戏能够对设备的当前状态做出适当的反应。要了解有关Adaptive Performance的更多信息,您可以通过选择 “包管理器”>“Adaptive Performance”>“示例”来查看我们在包管理器中提供的 示例 。每个样本都与特定的缩放器交互,因此您可以看到每个缩放器如何影响您的游戏。我们还强烈建议您查看 最终用户文档, 以了解有关Adaptive Performance配置的更多信息以及如何直接与API交互。该文档以及其他相关链接可以在下面找到。

观看 视频来了解有关Adaptive Performance的更多信息。您还可以通过我们的 文档了解如何实现Adaptive Performance。