标题:关于嵌入式Qt的显示加速---EXA驱动
作者:大漠之鹰
日期:2017-03-03 09:59
内容:
对于有GPU的嵌入式设备,可以使用GPU硬件对Qt显示进行加速,可以加速的接口是QScreen下的SolidFill和blit两个接口。而对于嵌入式设备来说,一般文件系统不会加入庞大的Xorg。所以嵌入式Qt只能使用系统默认的framebuffer来显示,发挥不了GPU的性能。在Xorg下,采用的是EXA驱动对图形进行加速的,EXA驱动的加速接口包括Copy,Solid和Composite,正好和Qt下的Solid和blit接口对应。对Xserver下的EXA驱动进行部分删减,保留了与Copy和Solid相关的结构体和函数,通过drm来实现初始化显示设备,重新封装了Qt的SolidFill和blit函数,完美实现了Qt的2D加速。最后通过drmModePageFlip来进行双缓冲切换,不会出现闪屏现象
#1 [wangmingxiao 08-21 11:20]
楼主有没有测试下性能相对于直接framebuffer的提升幅度?
#2 回 wangmingxiao 的帖子 [大漠之鹰 08-22 15:37]
wangmingxiao:楼主有没有测试下性能相对于直接framebuffer的提升幅度? (2017-08-21 11:20)
qtperf4测试的性能大概提升了10倍
#3 [angelus 08-25 21:30]
不是有OpenGL es2模式嘛