【发布时间】:2020-08-19 07:00:41
【问题描述】:
我是一名业余应用开发人员,并且一直在调整我的一个项目以通过减少过度绘制、删除不必要的代码和确保仅在必要时进行屏幕更新来提高性能。我的应用程序运行良好,没有我知道的错误,但是当我分析 GPU 渲染时,我得到了很好的结果,除了 GPU 配置文件显示中偶尔出现无法解释的尖峰。我一直在研究 Frame Pacing,但没有成功。我的主要测试是使用三星 GS4 设备完成的,我正在努力解决的问题是 GPU 渲染的一致性。在大多数情况下,令牌移动到新位置的动画很流畅,我看不到任何问题,但间歇性动画似乎很跳跃。
部分设备上的 GooglePlay 发布前报告显示一小部分设备上的 VSync 错误/Slow Ui Thread 和 Slow Draw 命令,发布前报告中的大多数设备不会报告相同的性能错误。
我已经尽可能多地搜索了您的电子管并在 Google 上搜索,以寻求实施 Frame Pacing (Swappy) 的任何帮助,并且我已经下载了 Android 开发人员“games/sdk”。我发现很难遵循开发人员的 Frame Pacing 指南,而且我一直无法找到我能理解的 Frame Pacing 示例。
https://developer.android.com/games/sdk/frame-pacing/opengl/update-build-settings
我正在使用带有 Gradle 6.1.1 的 4.0.1 版本的 Android Studio,我的代码是 Java 并包含以下我的应用程序未引用的依赖项,我怀疑这些依赖项可以解决性能问题我的应用程序。
// To use the Android Frame Pacing library
implementation "androidx.gaming:gaming-frame-pacing:1.5.0-alpha01"
// To use the Android Performance Tuner
implementation "androidx.gaming:gaming-performance-tuner:1.0.0-alpha01"
我希望我不需要学习 C/C++ 或将我的代码转换为 Unity,因为我刚刚熟悉 Java。
任何有助于在我的应用中实施 Swappy for Open GL 的帮助或建议/示例将不胜感激。
【问题讨论】: