Kivy在三星Exynos5422上使用Mali-T628 MP6表现不佳

时间:2015-05-10 06:30:35

标签: python linux arm kivy mali

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

1 个答案:

答案 0 :(得分:1)

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

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

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

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

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

您可以使用ARM DS-5和ARM STREAMLINE PERFORMANCE ANALYZER以及ARM MALI DEVELOPER CENTER的许多工具:

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

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