查看完整版本: [-- 关于嵌入式Qt的显示加速---EXA驱动 --]

QTCN开发网 -> Qt嵌入式开发 -> 关于嵌入式Qt的显示加速---EXA驱动 [打印本页] 登录 -> 注册 -> 回复主题 -> 发表主题

大漠之鹰 2017-03-03 09:59

关于嵌入式Qt的显示加速---EXA驱动

对于有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来进行双缓冲切换,不会出现闪屏现象


wangmingxiao 2017-08-21 11:20
楼主有没有测试下性能相对于直接framebuffer的提升幅度?

大漠之鹰 2017-08-22 15:37
wangmingxiao:楼主有没有测试下性能相对于直接framebuffer的提升幅度? (2017-08-21 11:20) 

qtperf4测试的性能大概提升了10倍

angelus 2017-08-25 21:30
不是有OpenGL es2模式嘛


查看完整版本: [-- 关于嵌入式Qt的显示加速---EXA驱动 --] [-- top --]



Powered by phpwind v8.7 Code ©2003-2011 phpwind
Gzip disabled