器件型号: AM4378
SDK:ti-processor-sdk-linux-AM437X-EVM-09.03.05.02
我的 Qt 嵌入式应用程序在 Qt 版本 5.15.15 的 AM437x 环境中运行。
由于 SDK 从 07.03.00.05 升级到 09.03.05.02、我的系统已更新为内核 6.1.119、并且文件系统也已更改。 更新后、我遇到了以下问题:
在不对应用程序代码进行任何更改(仅将交叉编译器和 sysroot 切换到 SDK 09.03.05.02 中的代码)的情况下、将内核从 5.4.106 升级到 6.1.119 后、我程序的 QSGRenderThread 线程的 CPU 利用率显著提高。 在相同条件下、与内核 5.4.106 上运行的程序相比、CPU 使用率增加了 10%。 Perf 分析表明在 QSGRrenderThread 中进行了大量 memcpy 运算、并且这种 CPU 利用率峰值直接归因于这些 memcpy 运算。
我现在怀疑这是由于渲染操作不是零复制或利用 DMA。
为什么会发生这种情况? 是否有任何可帮助我诊断和解决此问题的配置或操作?