【发布时间】:2018-02-20 16:34:55
【问题描述】:
我正在使用 DJI OSMO+ 云台开发 Android 相机应用程序,我注意到在使用 Android PlayStore 与使用官方 DJI Go 应用程序(CPU 使用率 ~10% 到 15%)时 CPU 使用率存在巨大差异. DJI FPV Demo app (CPU Usage ~40% to 50%)。以下是我的开发环境的一些细节:
您使用的是哪款 DJI 产品? - DJI OSMO+
您使用的是哪个 DJI SDK? - DJI Android Mobile SDK V4.4.1
您使用的是哪个 Android 设备和 Android 系统版本? - 设备:Pixel XL;安卓系统:7.1.2(安卓N)
您使用的是哪个 Android Studio 版本? - 安卓工作室:3.0.1; JRE:1.8
您的问题的简短描述包括调试日志或屏幕截图。 - 我注意到使用 Android PlayStore 中的官方 DJI Go 应用程序(CPU 使用率 ~10% 至 15%)与 DJI FPV 演示应用程序(CPU 使用率 ~40% 至 50%)时,CPU 使用率存在巨大差异。我使用“adb shell top”命令来分析 CPU 使用率。
DJI FPV Demo:
6044 u0_a125 16 -4 51% S 151 1597524K 154936K ta com.dji.FPVDemo
6044 u0_a125 16 -4 40% S 154 1601524K 156208K ta com.dji.FPVDemo
6044 u0_a125 16 -4 43% S 157 1604996K 155932K ta com.dji.FPVDemo
6044 u0_a125 16 -4 43% S 159 1607068K 155640K ta com.dji.FPVDemo
6044 u0_a125 16 -4 49% R 163 1611676K 156136K ta com.dji.FPVDemo
6044 u0_a125 16 -4 44% S 166 1614516K 155000K ta com.dji.FPVDemo
6044 u0_a125 16 -4 43% S 167 1616440K 156840K ta com.dji.FPVDemo
6044 u0_a125 16 -4 40% S 170 1619948K 156568K ta com.dji.FPVDemo
6044 u0_a125 16 -4 43% S 173 1623292K 156680K ta com.dji.FPVDemo
DJI Go:
4009 u0_a158 16 -4 13% S 139 2261940K 223852K ta dji.pilot
4009 u0_a158 16 -4 13% S 136 2258952K 226304K ta dji.pilot
4009 u0_a158 16 -4 14% S 131 2253212K 227052K ta dji.pilot
4009 u0_a158 16 -4 14% S 130 2252356K 226992K ta dji.pilot
4009 u0_a158 16 -4 13% S 131 2253640K 223644K ta dji.pilot
4009 u0_a158 16 -4 14% S 128 2250664K 225868K ta dji.pilot
4009 u0_a158 16 -4 13% S 129 2251020K 226740K ta dji.pilot
请注意,即使在 ConnectionActivity 上(即在 MainActivity 中开始视频解码之前),CPU 使用率也保持在 30% 左右。我的设备上似乎有很多垃圾无缘无故地占用 CPU...
问题: - 有谁知道这种巨大的 CPU 使用率差异背后的原因是什么? - 请就使用 DJI FPV Demo 应用程序时如何降低 CPU 使用率提出建议;请分享代码 sn-p 或使用示例代码更新 Github。
谢谢!
【问题讨论】:
-
作为记录,使用 DJI iOS SDK 观察到相同的性能。这是一个巨大的问题,使得这个 SDK 对于想要自己完成任何额外 CPU 工作的实际应用程序几乎无法使用。