一种国产计算机平台下QT画图性能的优化方法.pdf

上传人:e2 文档编号:6286010 上传时间:2019-05-28 格式:PDF 页数:10 大小:376.77KB
返回 下载 相关 举报
摘要
申请专利号:

CN201510961218.8

申请日:

2015.12.18

公开号:

CN105608723A

公开日:

2016.05.25

当前法律状态:

授权

有效性:

有权

法律详情:

授权|||实质审查的生效IPC(主分类):G06T 11/60申请日:20151218|||公开

IPC分类号:

G06T11/60

主分类号:

G06T11/60

申请人:

长城信息产业股份有限公司; 长沙湘计海盾科技有限公司

发明人:

王春洁; 赵丹; 王建国; 许新达; 黄卫; 邹清扬; 陈志才

地址:

410100 湖南省长沙市经济开发区东三路5号

优先权:

专利代理机构:

长沙市融智专利事务所 43114

代理人:

杨萍

PDF下载: PDF下载
内容摘要

本发明公开了一种国产计算机平台下Qt画图性能的优化方法,在国产中标麒麟操作系统平台下,通过编译加载Qt软件,开启GPU硬件图形加速后,修改调用的底层Xlib接口函数,以充分利用GPU加速,进而提高国产计算机平台下Qt画图性能。修改后Qt的画点性能提高50~60倍,画字符性能提高3~5倍。

权利要求书

1.一种国产计算机平台下Qt画图性能的优化方法,其特征在于,在国产中
标麒麟操作系统平台下,通过编译加载Qt绘图系统,开启GPU硬件图形加速功
能;
所述Qt绘图系统,针对画点性能下降问题,优化方法为:在判断已启用硬
件图形加速功能时,更新环境状态参数;激发QT层硬件加速画点引擎;调用
Xlib画线函数XDrawLine()或画点函数XDrawpoint();通过Xlib画线函数
XDrawLine()或画点函数XDrawpoint()实现画点。
2.根据权利要求1所述的国产计算机平台下Qt画图性能的优化方法,其特
征在于,所述Qt绘图系统,针对画字符性能下降问题,优化方法为:在判断已
启用硬件图形加速功能时,激发QT层硬件加速画字符引擎;调用Xlib画字符
函数XDrawString16();通过Xlib画字符函数XDrawString16()实现画字符。

说明书

一种国产计算机平台下Qt画图性能的优化方法

技术领域

本发明主要涉及图形图像技术领域,特指一种针对国产平台在开启硬件图形
加速后,提高Qt画图性能的方法。

背景技术

由斯诺登等事件的不断爆发,计算机的自主可控迫在眉睫,但其国产计算机
仍处起步阶段,与主流水平存在一定差距,尤其是在图形处理方面,其性能明显
无法满足如今对多媒体图像处理的需求。而随着计算机技术的不断发展,多媒体
技术还在不断的进步,图形图像处理开发工具也不断更新,人们对图形处理的性
能要求越来越高。

目前,常用的图形开发工具有XWindow上的Qt,Motif,Openwin,GTK等
图形界面库以及Windows平台上的MFC,OWL,VCL,ATL等等。而Qt则
因其特殊的优点在众多开发工具中脱颖而出。

Qt是一个跨平台的C++图形用户界面库,由挪威TrollTech公司出品,目前
包括Qt、基于FrameBuffer的QtopiaCore、快速开发工具QtDesigner和国际化
工具QtLinguist等部分。Qt支持所有的UNIX系统,当然也包括Linux系统,
还支持WinNT/Win2k、Windows95/98平台。基本上Qt同X-Window上的Motif、
Openwin、GTK等图形界面库和Windows平台上的MFC、OWL、VCL、ATL是
同类型的。不过Qt还具有下列一些优点。

(1)优良的跨平台特性。

Qt支持下列操作系统:MicrosoftWindows95/98、MicrosoftWindowsNT、
Linux、Solaris、SunOS、HP-UX、DigitalUNIX(OSF/1、Tru64)、Irix、FreeBSD、
BSD/OS、SCO、AIX、OS390和QNX等。

(2)面向对象。

Qt的良好封装机制使得Qt的模块化程度非常高,可重用性较好,对于用户
开发来说是非常方便的。Qt提供了一种称为信号和槽(signals/slots)的安全类
型来替代回调函数(callback),这使得各个元件之间的协同工作变得十分简单。

(3)丰富的API。

Qt包括多达250个以上的C++类,还提供基于模板的collections、
serialization、file、I/Odevice、directorymanagement和date/time类。甚至还包括
正则表达式的处理功能。

(4)支持2D/3D图形渲染,支持OpenGL。

(5)大量的开发文档。

(6)XML支持。

为充分提高CPU的利用率,Qt支持GPU(图形处理器)硬件图像加速。在
国产计算机中标麒麟操作系统下加载Qt软件,其画图性能在某些方面也有明显
提高尤其是在开启GPU硬件加速后,其画线性能提高10~20倍。但美中不足的
是,当开启GPU硬件加速后,虽然画线的性能有几十倍提升,但其画点和画字
符的性能却明显下降,没有充分利用GPU硬件加速的功能。

发明内容

本发明所解决的技术问题是,针对Qt在国产平台下开启GPU硬件图像加速
后,画线性能提高,但其画点、画字符性能降低的问题,提供一种国产计算机平
台下Qt画图性能的优化方法,通过修改调用底层Xlib画图方式,优化Qt中画
点、画字符的实现方法,来提高对GPU硬件图像加速的利用率,进一步提高国
产计算机平台下Qt的画图性能。

本发明的技术方案为:

一种国产计算机平台下Qt画图性能的优化方法,在国产中标麒麟操作系统
平台下,通过编译加载Qt绘图系统,开启GPU硬件图形加速功能;

所述Qt绘图系统,针对画点性能下降问题,优化方法为:在判断已启用硬
件图形加速功能时,更新环境状态参数;激发QT层硬件加速画点引擎;调用
Xlib画线函数XDrawLine()或画点函数XDrawpoint();通过Xlib画线函数
XDrawLine()或画点函数XDrawpoint()实现画点,充分利用GPU加速。优化后其
Qt的画点性能提高50~60倍。

所述Qt绘图系统,针对画字符性能下降问题,优化方法为:在判断已启用
硬件图形加速功能时,激发QT层硬件加速画字符引擎;调用Xlib画字符函数
XDrawString16();通过Xlib画字符函数XDrawString16()实现画字符,提高了GPU
硬件加速的利用率,优化后其画字符性能提高3~5倍。

与原有Qt画图技术相比,本发明的有益效果在于:

本发明针对国产中标麒麟操作系统,开启GPU硬件图形加速后,Qt软件画
线性能大幅提高约10~20倍,但其画点、画字符性能并未提高,反而比开启GPU
加速前还下降很多的问题,通过更改调用Xlib画图方式,优化Qt画点、画字符
方法,更好的利用GPU硬件图形加速。

1、本发明中优化了Qt画点功能,在国产平台下开启硬件加速后,优化后性
能相比优化前提高50~60倍,大大提高其画点性能;

2、本发明中优化了Qt画字符功能,在国产平台下开启硬件加速后,优化后
性能相比优化前提高3~5倍,进一步提高国产计算机的图形处理性能。

附图说明

图1是优化前Qt画点实现流程;

图2是本发明优化后Qt画点实现流程;

图3是优化前Qt画字符实现流程;

图4是本发明优化后Qt画字符实现流程。

具体实施方式

以下将结合附图和具体实施对本发明做进一步详细说明。

本发明公开了一种国产计算机平台下Qt画图性能的优化方法,在国产中标
麒麟操作系统上通过编译加载Qt软件。为提高Qt的画图性能,开启GPU硬件
图形加速。其中硬件加速(Hardwareacceleration)就是利用硬件模块来替代软件
算法以充分利用硬件所固有的快速特性,硬件加速通常比软件算法的效率要高。
然而在Qt中测试画图性能,其画线性能大幅提高10~20倍,但其画点、画字符
性能反而明显下降,其中画点性能下降百倍左右,并未充分利用GPU的加速功
能。而在Qt中画点、画字符都是通过表层的画图类QPainter的属性层层调用到
最底层的Xlib函数库中的画点、画字符函数;Xlib是一个用c语言编写的X
WindowSystem协议的客户端库,它包含有与X服务器进行通信的函数,编程
者可以在不了解X底层协议的情况下直接使用它进行编程;在Xlib中对于画点、
画字符又有多种实现方式,为优化Qt的画图性能提供了机会。如图1~图4所示,
本发明的优化方法具体如下:

1、优化Qt画点性能

如图1和图2所示,在未启用GPU硬件加速时,Qt画点实现流程不变。在
开启GPU硬件图形加速后,优化前Qt中画点函数是调用XDrawPoints()函数;
针对存在的画点性能下降问题,本发明优化后的方案更改Qt画点路径,调用其
他Xlib接口函数,用Xlib中的画线函数XDrawLine()或画点函数XDrawpoint()
来替代原来QT中画点函数XDrawPoints(),用画线或画点方式实现QT中的画点。
优化前、后Qt画点性能测试的仿真结果如表1所示,表中共包含6次测试数据,
后三列分别表示开启GPU硬件加速后,QT优化前使用XDrawPoints()函数画点、
以及优化后分别使用XDrawPoint()函数和XDrawLine()函数画点的性能测试数
据,相应的测试数据表示平均每毫秒所画点图像的帧数。结果表明,本发明优化
后的Qt画点方式性能提高了50~60倍,充分利了用GPU加速。

表1QT画点优化前后仿真结果对比(F/ms)


2、优化Qt画字符性能

如图3和图4所示,在未启用GPU硬件加速时,Qt画字符实现流程不变。
在开启GPU硬件图形加速后,优化前Qt中画字符函数是调用
XRenderCompositeText32()函数;针对上述画字符性能下降问题,本发明优化后
的方案更改Qt画字符路径,更改Xlib接口函数,用画字符函数XDrawString16()
替代原Qt画字符的接口函数XRenderCompositeText32(),如图4所示。优化前、
后Qt画点性能测试的仿真结果如表2所示,表中共包含6次测试数据,后两列
分别表示开启GPU硬件加速后,QT优化前使用XRenderCompositeText32()画字
符、以及优化后使用XDrawString16()画字符的性能测试数据,相应的测试数据
表示平均每毫秒所画字符图像的帧数。结果显示,本发明优化后的Qt画字符方
式性能提高3~5倍,可以提高GPU加速的利用率,进一步提高Qt画图性能。

表2QT画字符优化前后仿真结果对比(F/ms)



一种国产计算机平台下QT画图性能的优化方法.pdf_第1页
第1页 / 共10页
一种国产计算机平台下QT画图性能的优化方法.pdf_第2页
第2页 / 共10页
一种国产计算机平台下QT画图性能的优化方法.pdf_第3页
第3页 / 共10页
点击查看更多>>
资源描述

《一种国产计算机平台下QT画图性能的优化方法.pdf》由会员分享,可在线阅读,更多相关《一种国产计算机平台下QT画图性能的优化方法.pdf(10页珍藏版)》请在专利查询网上搜索。

本发明公开了一种国产计算机平台下Qt画图性能的优化方法,在国产中标麒麟操作系统平台下,通过编译加载Qt软件,开启GPU硬件图形加速后,修改调用的底层Xlib接口函数,以充分利用GPU加速,进而提高国产计算机平台下Qt画图性能。修改后Qt的画点性能提高5060倍,画字符性能提高35倍。。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 计算;推算;计数


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1