Qt 4.5 新功能逐一看 - 性能优化 (二)
2009-06-09 15:54
141 查看
“热插拔”图形系统 - Pluggable graphics system,顾名思义,就是说你可以自由的选择不同的引擎去做绘图。Qt自带的软件绘图引擎现在可以工作在Linux,以及Mac上,也实现了跨平台。具体来说,当运行任何Qt的应用的时候,你可以加上下面某个参数,从而让Qt选择相应的绘图引擎进行绘图操作。
-graphicssystem native - 本地引擎
-graphicssystem raster - Qt自带Raster(光栅)引擎
-graphicssystem opengl - OpenGL引擎(显卡需要支持OpenGL)
可以根据需要选择合适的引擎,如果需要高性能,特别是高的刷新率,OpenGL就很合适,如果需要像素级精确地显示,Qt自带的Raster引擎的效果则会好很多。
上面这些是对于桌面系统而言,对于嵌入式系统,则要复杂的多。通常情况下,嵌入式系统的显示系统有以下几种模式:
1) 无加速 (帧缓冲 - framebuffer)
2) 硬件Blitter和 alpha-blending 混合
3) 硬件2D 矢量绘图函数
4) 固定渲染管线 3D引擎
5) 可编程渲染管线 3D 引擎
所以在嵌入式系统中,可以根据不同的硬件显示系统,选择合适的引擎。这样带来的性能提升将比桌面明显的多,下面是一个针对不同显示系统,参考的选择:
在Qt4.5中,1/集成了全新的OpenGL ES2.x引擎,2/大幅提升了Qt本身Raster引擎的绘图性能,3/改进了对于DirectFB的支持。并且对于OpenVG引擎的支持已经在立项研究,应该很快就可以看到。所以在绝大多数嵌入式系统上,Qt的性能都可以得到提升。而且这些图形引擎中,除了DirectFB之外,都是可以跨平台的。
Developer Blog here
为你的Qt应用或者设备选择一个合适的引擎吧!;-)
-graphicssystem native - 本地引擎
-graphicssystem raster - Qt自带Raster(光栅)引擎
-graphicssystem opengl - OpenGL引擎(显卡需要支持OpenGL)
可以根据需要选择合适的引擎,如果需要高性能,特别是高的刷新率,OpenGL就很合适,如果需要像素级精确地显示,Qt自带的Raster引擎的效果则会好很多。
上面这些是对于桌面系统而言,对于嵌入式系统,则要复杂的多。通常情况下,嵌入式系统的显示系统有以下几种模式:
1) 无加速 (帧缓冲 - framebuffer)
2) 硬件Blitter和 alpha-blending 混合
3) 硬件2D 矢量绘图函数
4) 固定渲染管线 3D引擎
5) 可编程渲染管线 3D 引擎
所以在嵌入式系统中,可以根据不同的硬件显示系统,选择合适的引擎。这样带来的性能提升将比桌面明显的多,下面是一个针对不同显示系统,参考的选择:
Type | Solution |
---|---|
None | Raster |
Blitter | DirectFB |
2D vector | OpenVG |
Fixed-3D | OpenGL (ES) 1.x |
Programmable-3D | OpenGL (ES) 2.x |
Developer Blog here
为你的Qt应用或者设备选择一个合适的引擎吧!;-)
相关文章推荐
- Qt 4.5 新功能逐一看 – 性能优化
- Qt 4.5 新功能逐一看 – 性能优化
- Qt 4.5 新功能逐一看 - 性能优化 (一)
- 跟踪qt 4.5新功能
- QT-Embedded程序性能优化方法
- MySQL性能优化的最佳20+条经验
- Android 应用开发性能优化完全分析(上)
- ORACLE学习笔记--性能优化3
- JS性能优化
- 完全优化MySQL数据库性能的八大巧方法
- 视频讲解——Web服务器性能优化入门介绍
- PHP性能优化的技巧
- Unity技术支持团队性能优化经验分享
- 一些PHP性能的优化
- Mysql进阶:mysql分页性能优化
- MYSQL性能优化--不停机分表,修改mysql表结构
- JBossAS性能优化和瘦身系列(5):Log4j
- 几个ajax js性能优化和内存泄露问题及检测分析工具
- 总结:Spark性能优化上的一些总结
- SQL SERVER性能优化综述