QT 性能
D211 有两部分硬件加速可以优化 QT 的性能
- GE: ArtInChip 的 Graphic Engine 的简称,其提供基础的 2D 操作,如缩放,旋转,alpha等, QT 应用借助于 GE 的支持动画效果应该更流畅。
- VE: ArtInChip 的 Video Engine 的简称,其提供 png, jpeg 图片的解码操作, QT 应用借助于 VE 的支持可以更快速的显示图片,并节省 CPU 资源。
1. GE
在 QT 中有两种方案进行硬件加速
1.1. directFB
directFB 是提供 QT 硬件加速的传统框架, ArtInChip 主要在 directFB 中添加了三块逻辑来实现 GE 的支持
- DMA Buffer 接口,提供连续内存块的管理: src/core/dmabuf_surface_pool.c
- GE Driver 接口实现,gfxdrivers/ge/
- GE Device 接口实现,gfxdrivers/ge/
1.2. AIC_MPP
mpp (Media Process Platform)是 ArtInChip 封装的一套操作 DMA Buffer, GE, VE 的统一接口,可以在 QT 代码中直接调用这些接口来完成硬件加速
直接使用 mpp 接口的效率最高,对资源的使用也更安全,但对编码要求也更高
具体代码参考: source/artinchip/qtlauncher/views/aicdashboardview.cpp