0

我正在使用 Python 开发应用程序,并使用“Kivy”来创建 UI。在具有 Intel CPU 和 nVidia GPU 机器的 Windows 上,一切都按预期进行,但在具有 ARM CPU 和 Mali GPU 的 Ubuntu 和 Android 机器上,性能非常非常差,即:1 秒动画/过渡需要几秒钟,并且每一帧都滞后,另一个例子:当我单击/点击按钮时,即使背景更改也需要一些时间!!!我该如何解决?先感谢您

4

1 回答 1

1

如果不首先了解设备/平台、硬件、设备/平台中的确切芯片组(那里有许多不同的 ARM 芯片组)、确切的操作系统和软件环境以及每个设备的配置,可能很难回答这些在您的特定设备上。

我个人没有使用过 Kivy,但总的来说,我建议尝试使用一个非常简单的程序,并与您的桌面环境进行评估或比较。如果这显示出非常糟糕的性能,那么您就知道问题出在您使用的框架和库中。如果一个简单的应用程序没有显示任何问题,那么您可以继续添加更复杂的组件和更多 UI 元素,直到您可以看到导致性能问题的原因。

当谈到图形应用程序的性能问题时,首先要回答的问题是瓶颈是 CPU 还是 GPU。根据答案,您解决问题的方法会有所不同。

您使用的框架(Python+Kivy)会产生很大的影响。如今,较新的移动设备通常非常强大,通常具有以高频率(通常为 1GHz+)运行的多个 CPU 和 GPU 内核。但是,如果框架没有针对您的特定平台(以及您设备的特定配置)进行优化,那么它们的性能可能会非常糟糕。所以我还建议您确保这些框架和库针对您的目标设备进行了优化(是否有其他应用程序使用这些框架并且性能良好?)。

您还可以尝试进行一些性能监控,以确定是 CPU 还是 GPU 导致了问题,并找出软件堆栈的哪一部分导致了此问题。这样做需要一些为移动设备开发图形应用程序的经验,但您可以查看 ARM 提供的一些资源,以帮助您调查潜在问题。

您可以使用 ARM DS-5 和 ARM STREAMLINE PERFORMANCE ANALYZER 以及 ARM MALI 开发人员中心的一些工具:

http://ds.arm.com/ds-5-community-edition/

http://malideveloper.arm.com/develop-for-mali/tools/software-tools/

于 2015-06-09T10:45:18.390 回答