发行说明

此页面概述了 Android 游戏开发套件 (AGDK) 库每个版本的更改。在 v1.2.4 版本之前,它被称为 Android 游戏 SDK。

2023.3.0.0 (2023 年 6 月 2 日)

此版本包含一些错误修复。

GameActivity

已修复 GameActivityEvents 中的稳定性修复。

Android 内存建议库

功能 更新了为库提供支持的机器学习模型,可以为较新的手机提供改进的结果。

Android 性能调整器

已修复 修复了如果最大检测键多于直方图计数,库会崩溃的错误。
功能 更新了库中的遥测收集功能,允许更精细地报告帧渲染时间。

2023.2.0.0 (2023 年 4 月 27 日)

此版本包含一些错误修复。

GameActivity

已修复 修复了使用 historicalEventTimes 过早释放内存的问题。
已修复 修复了 historicalEventTimesNanos 在 32 位系统上溢出的问题。

Android 内存建议库

已修复 修复了阻止正确链接库的静态版本的错误。
已修复 修复了库无法正确加载所需的 TensorFlow Lite 资源的错误。

2023.1.0.0 (2023 年 3 月 15 日)

此主要版本对构建系统进行了更新,可以更快地从源代码构建库。

GameActivity

已更改 更改了历史事件时间的接口,以克服 32 位限制。
功能 为用户提供了对配置更改的访问权限。
功能 优化了触摸事件处理中的大多数 JNI 调用。
已修复 修复了操作系统对触摸事件的默认处理,例如处理系统按钮。

GameController

功能 增加了检测硬件键盘连接状态的功能。
功能 增加了从主设备(即手机)以及控制器报告运动数据(加速度计/陀螺仪)的功能。
已更改 更改了控制器定义数据库的 API 和格式,以减少内存占用并支持其他功能。

Android 帧速率控制库

功能 添加了 Vulkan 帧统计信息。
功能 添加了用于清除帧统计信息的新 API。
已更改 在发行模式下,所有日志均静默,可以在调试模式下启用。

2022.0.0 (2022 年 3 月 15 日)

此主要版本包括内存建议库以及其他库的若干修复。

GameActivity

功能 添加了对内边距的处理,用于在 IME 和挖孔周围定位游戏 UI。
功能 添加键和运动事件过滤器
已修复 修复以避免输入事件丢失并防止消耗所有输入事件

Android 性能调整器

已更改 内存报告现在为时间序列,而不是直方图
功能 允许以编程方式设置上传间隔
已修复 已修复损坏的 API 密钥错误

Android 帧速率控制库

功能 对自动模式的改进
功能 添加“uninjectTracer”函数

Android 内存建议库

功能 添加了内存建议库

2021.1.0 (2021 年 7 月 12 日)

我们过去将此产品称为 Android 游戏 SDK,现在称为 Android 游戏开发套件。此主要版本包含几个新的库以及 Android 帧速率控制和 Android 性能调整器库中的少量错误修复。

功能 GameActivity 是一个新组件,它取代并改进了 NDK 的 NativeActivity。
功能 GameTextInput 是一个新组件,它改进了与 Android 软键盘的交互。
功能 GameController 是一个新组件,它允许更轻松地与外部控制器交互和管理外部控制器。

1.2.4 (2021 年 4 月 21 日)

此版本是 Android 性能调整器的错误修复版本。

Android 性能调整器

已修复 修复了在具有不一致的 CLOCK_BOOTTIME 的设备上加载时间和持续时间记录的问题。

1.2.3 (2021 年 3 月 10 日)

此版本将 Oboe 添加到游戏 SDK。Android 帧速率控制库和 Android 性能调整器没有更改。

Oboe 是一个开源 C++ 库,用于在 Android 上进行高性能音频处理。Oboe 提供了一个可在 Android 4.1(API 级别 16)及更高版本中使用的单一原生 API。

1.2.2 (2021 年 2 月 12 日)

此版本改进了 Android 性能调整器的加载时间 API,并修复了几个错误。Android 帧速率控制库没有更改。

Android 性能调整器

功能 加载事件现在必须与对 TuningFork_startLoadingGroupTuningFork_stopLoadingGroup 的调用分组。
已修复 调用 TuningFork_flush 会立即上传数据,而不是将其排队以便稍后上传。
已修复 由于时间的 JSON 格式问题导致间歇性上传失败。
已修复 发行版本中存在上传问题。

1.2.1 (2020 年 12 月 16 日)

此版本是 Android 性能调整器的内部功能版本,以及将 Jetpack 库从 alpha 版本升级到 beta 版本。Android 帧速率控制或 Android 性能调整器 API 没有更改。

请注意,现在必须单独引用游戏 SDK 库才能与之链接,而不是链接到通用的“gamesdk”库。请参阅 Android 帧速率控制:OpenGLAndroid 帧速率控制:VulkanAndroid 性能调整器 的构建设置。

Android 性能调整器

功能 当玩家在加载过程中将游戏置于后台时,会发送一个事件,以便稍后分析加载放弃情况。

1.2.0 (2020 年 10 月 29 日)

此版本的主要更改是添加了一种记录加载时间的机制。还有一些错误修复。请注意,游戏 SDK 现在可通过 AGDK 库 Jetpack 库 获取。

Android 帧速率控制库

功能 自动模式刷新率切换支持。
请注意,为了在 Android 11 中支持多种刷新率(无论是否使用自动模式),都应调用SwappyGL_setWindowSwappyVk_setWindow
已修复 自动模式错误修复。
已修复 Vulkan 错误修复。

Android 性能调整器

功能 加载时间。
应调用新的函数 TuningFork_startRecordingLoadingTimeTuningFork_stopRecordingLoadingTime 来记录带注释的加载时间事件。从应用启动到 TuningFork_init 和第一次计时器滴答的时间会自动记录。
已更改 之前的设置加载时间注释的方法将不再有效。
功能 生命周期事件。
调用相应的 Java onCreate 等时,应调用 TuningFork_reportLifecycleEvent。这使得 Android Performance Tuner 可以进行详细的崩溃报告。
已更改 调用 TuningFork_enableMemoryRecording(true) 时,现在会记录更多内存指标。
已更改 内存模型更改。
现在在启动时指定每种类型的最大指标数量,而不是为所有可能的注释组合分配空间。请参阅 tuningfork.h 中的 TuningFork_MetricLimits
已修复 计费连接不上载。

1.1.0(2020 年 6 月 10 日)

此版本的 AGDK 库具有 Android Performance Tuner 指标报告和质量调整库(也称为 Tuning Fork)。此库适用于原生游戏引擎以及 Unity,并具有以下功能:

功能 Android Frame Pacing 库 集成,以自动记录帧时间和其他渲染指标。
功能 帧计时信息记录在直方图中,并定期上传。
功能 使用当前游戏状态对计时数据进行注释。
功能 设备特性、注释和质量设置与计时数据一起上传,以便进行横截面分析。
功能 对表示关卡加载时间的注释进行特殊处理。在加载期间不记录帧计时数据,但会记录每个加载周期的持续时间。
功能 能够记录自定义计时信息(使用 startTraceendTrace)。

1.0.2(2020 年 3 月 30 日)

此版本包含错误修复和自动模式行为的更改。

已修复 修复了 Swappy 销毁和重新初始化的错误。
已更改 现在默认情况下启用流水线。如果启用了自动流水线,Swappy 仍然可以在工作负载非常低时决定将其关闭。
已更改 启用自动模式后,Swappy 只有在 2 秒窗口内 15% 的帧速度比预期快或慢时,才会决定切换交换间隔。请注意,Swappy 的交换速度永远不会低于用户指定的交换间隔。

1.0.1(2020 年 2 月 19 日)

此版本主要是一个错误修复版本。

已修复 在 Vulkan 中的 SwappyFallback 代码路径中清理退出时的资源。
已修复 SwappyVk_destroySwapchain 如果存在多个交换链,则不再销毁设备资源。
已修复 Swappy 版本现在打印在 logcat 中。
已修复 API 级别 24 及以下版本的 Swappy_destroy 中的崩溃和死锁。
功能 支持自定义线程管理器(Swappy_setThreadFunctions)。
功能 支持挂钩 Vulkan 函数(SwappyVk_setFunctionProvider)。

1.0.0(2019 年 12 月 5 日)

此初始版本的 AGDK 库具有 Android Frame Pacing 库

功能 显示缓冲区同步。
功能 自动刷新率模式和流水线支持。
功能 收集帧渲染统计信息。
功能 根据 Swappy 需要 Android、OpenGL 和 Vulkan 功能的存在情况,在运行时优雅地选择行为。
功能 静态和动态链接库。
功能 支持具有多个刷新率的设备。