我是一个业余的应用程序开发人员,一直在调整我的一个项目,以提高性能,减少透支,删除不必要的代码,并确保屏幕更新只发生在必要的时候。我的应用程序工作得很好,没有任何错误,我知道,但当我概况的gpu渲染我得到了很好的结果,除了偶尔不明原因的峰值在gpu配置文件显示。我一直在研究框架起搏但没有成功。我的主要测试是使用三星gs4设备完成的,我正在努力解决的问题是gpu渲染的一致性。在大多数情况下,代币移动到新位置的动画是平滑的,我看不到任何问题,但动画似乎是间歇性的跳跃。
一些设备上的googleplay pre-launch报告指出了vsync错误/slow ui thread和一小部分设备上的slow draw命令,pre-launch报告中的大多数设备都没有报告相同的性能错误。
我已经搜索了youtube,并在google上搜索了尽可能多的关于实现帧调(swappy)的帮助,还下载了android开发者“games/sdk”。我发现很难遵循开发人员的帧调整指导原则,而且我也找不到一个我能理解的帧调整示例。
https://developer.android.com/games/sdk/frame-pacing/opengl/update-build-settings
我使用的是4.0.1版本的android studio和gradle 6.1.1,我的代码是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。
任何帮助或建议/例子,以帮助实施开放式总账交换到我的应用程序将不胜感激。
1条答案
按热度按时间wwwo4jvm1#
威尔在这里,来自谷歌的安卓游戏团队。
android游戏sdk是一个只针对c/c++和unity游戏的解决方案,因此它恐怕不能帮助你在java应用程序中进行帧调整。
我们建议查看firebase性能监视工具:https://firebase.google.com/docs/perf-mon/screen-traces 这将有希望给你的见解,在哪里和为什么你的框架jank是发生的。
致以最诚挚的问候。