一种基于龙芯平台Linux操作系统下rdesktop的优化方法技术方案

技术编号:9865516 阅读:194 留言:0更新日期:2014-04-02 23:20
本发明专利技术提供一种基于龙芯平台Linux操作系统下rdesktop的优化方法,包括如下步骤:打开Linux操作系统内核的帧缓冲支持,构建开发环境;将DirectFB移植于基于龙芯平台的机器上;创建一个标准图形卡含有的显示层,创建主表面、离屏表面、鼠标;设置窗口的背景、大小和位置参数,创建客户端窗口;创建该客户端窗口所在表面的句柄、事件缓冲区和消息缓冲区,为事件缓冲区和消息缓冲区创建文件描述符;监听所有消息缓冲区和事件缓冲区的文件描述符;使用双缓冲技术实现绘图操作和显示。本发明专利技术相对于现有技术,从通信机制、显示输出和本地事件处理三个方面对rdesktop进行优化,避免了因使用rdesktop时占用过多的CPU资源,造成图形用户界面无法启动的问题。

【技术实现步骤摘要】
—种基于龙芯平台Linux操作系统下rdesktop的优化方法
本专利技术涉及Linux操作系统
,特别涉及基于龙芯平台Linux操作系统下rdesktop的优化方法。
技术介绍
目前龙芯平台Linux操作系统下支持Windows远程桌面连接的RDP客户端程序使用的是rdesktop。Rdesktop的使用会对CPU资源造成较大的占用,而基于龙芯平台的终端本身存在存储空间小、内存容量少、CPU处理能力不强的特点,在基于龙芯平台的机器上使用rdesktop时若占用过多的CPU资源,可能造成图形用户界面无法启动的问题。
技术实现思路
针对现有技术存在的问题,本专利技术的主要目的在于提供一种避免对CPU资源造成较大占用,以致造成无法启动图形用户界面的基于龙芯平台Linux操作系统下rdesktop的优化方法。为实现上述目的,本专利技术提供,该方法包括如下步骤S1-S7:S1、在基于龙芯平台的机器上,打开Linux操作系统内核的帧缓冲支持,构建开发环境;S2、将图形处理库DirectFB移植于该基于龙芯平台的机器上;S3、在Linux操作系统下创建一个标准图形卡含有的显示层,创建主表面、离屏表面以及鼠标;S4、设置窗口的背景、大小和位置参数,并基于该窗口的背景、大小和位置参数在主表面创建客户端窗口;S5、创建该客户端窗口所在表面的句柄、事件缓冲区和消息缓冲区,为事件缓冲区和消息缓冲区创建文件描述符;S6、监听所有消息缓冲区和事件缓冲区的文件描述符;S7、使用双缓冲技术实现绘图操作和显示。进一步地,该步骤S2将图形处理库DirectFB移植于该基于龙芯平台的机器上包括如下步骤S21-S28:S21、获取图形处理库DirectFB的源码包;S22、搭建交叉编译工具链;S23、设置编译安装所需的环境变量;S24、编译安装该步骤S21获取的源码包;S25、将该步骤S24编译安装的文件制作一个新的文件系统;S26、将该步骤S25制作的文件系统烧写到基于龙芯平台的机器上;S27、运行测试图形处理库DirectFB的样例;S28、若测试稳定通过则重启该基于龙芯平台的机器,再运行测试,如果测试仍然稳定通过,那么移植完成;否则重复步骤S21?S27直至移植完成。步骤S25制作一个新的文件系统具体包含如下步骤S251-S254:S251、将交叉编译后的图形处理库DirectFB放置于根文件系统目录;S252、设置图形处理库DirectFB程序所需的库文件路径;S253、创建帧缓冲驱动的设备文件;S254、链接终端,得到文件系统的镜像文件。更进一步地,该步骤S6监听所有消息缓冲区和事件缓冲区的文件描述符包含如下步骤S61-S66:S61、连接客户端与终端服务器;S62、将消息缓冲区与事件缓冲区的文件描述符加入到监听的文件描述符集合;S63、判断消息缓冲区是否可读,若消息缓冲区可读,则进入步骤S64,否则,若消息缓冲区不可读,则事件缓冲区可读,进入步骤S65 ;S64、将消息缓冲区的消息传递给消息处理程序执行,处理完毕后进入步骤S62 ;S65、调用本地事件处理函数处理事件缓冲区中的事件;S66、处理完毕后判断用户是否请求退出客户端,若是,则关闭客户端,若否,则进入步骤S62。更进一步地,步骤S7使用双缓冲技术实现绘图操作和显示包含如下步骤S71-S76:S71、在内存中开辟堆栈区域;S72、锁住窗口的离屏表面,将离屏表面与该堆栈区域挂接,并将离屏表面设为可读写方式;S73、利用绘图函数将需要绘制的图像数据写入所述内存中开辟的堆栈区域;S74、写入完成后释放离屏表面;S75、设置需要进行内存拷贝的剪裁区;S76、将主表面与离屏表面进行不断的翻转与交换,轮流显示主表面与离屏表面内容,实现主表面和离屏表面的显示输出。相对于现有技术,首先,本专利技术为将rdesktop从C/S结构的X Window中脱离出来,选择图形处理库DirectFB作为开发所使用的图形用户界面(GUI),并将图形处理库DirectFB移植于基于龙芯平台的机器,同时补充X Window体系下的客户端窗口初始化、事件与消息循环的实现、绘图操作与显示的实现等的一些基本功能;其次,本专利技术从通信机制、显示输出和本地事件处理三个方面对rdesktop进行优化,使得远程桌面协议(RDP)客户端能够在存储空间小、内存容量少以及CPU处理能力不强的龙芯终端上达到最优性能,使得界面程序运行时间、内存占用以及视频播放效果有较大幅度的性能提高,避免了因使用rdesktop时占用过多的CPU资源,造成图形用户界面无法启动的问题。【附图说明】图1是本专利技术实施例的流程图图2是本专利技术步骤S2将图形处理库DirectFB移植于所述基于龙芯平台的机器上方法流程图图3是本专利技术步骤S25制作一个新的文件系统方法流程图图4是本专利技术步骤S6监听所有消息缓冲区和事件缓冲区的文件描述符方法流程图图5是本专利技术步骤S7使用双缓冲技术实现绘图操作和显示方法流程图【具体实施方式】下面结合附图,详细说明本专利技术的【具体实施方式】。 Rdesktop是一个在Unix/Linux下访问Windows远程桌面的客户端程序,基于龙芯终端存储空间小、内存容量少以及CPU处理能力不强的特点,应放弃使用“大而全”的图形用户界面,因此本专利技术基于龙芯平台Linux操作系统下rdesktop的优化方法实施例在基于龙芯平台的机器上对Linux下的RDP客户端rdesktop进行适当的修改、裁剪(把rdesktopX层中的调用X Windows的绘图函数用图形处理库DirectFB中的绘图函数替换)和优化,使得RDP客户端在基于龙芯平台的机器上达到最理想的性能目标。如图1所示,是本专利技术一个实施例的流程图,该优化方法的实施例包含如下步骤S1-S7:S1、在基于龙芯平台的机器上,打开Linux操作系统内核的帧缓冲(FrameBuffer)支持,构建开发环境。该基于龙芯平台的机器指龙芯2H机器,即集成了 CPU,图形处理器,以及北桥和南桥芯片的龙芯2H开发板;另外,帧缓冲(Frame Buffer)是出现在2.2.XX内核当中的一种驱动程序接口,这种接口将显示设备抽象为帧缓冲区,可以看成是显示内存的一个映像,将其映射到进程地址空间之后,就可以直接进行读写操作,而读写操作可以立即反应在屏幕上,该驱动程序的设备文件一般是/dev/fb0、/dev/fbl等;S2、将图形处理库DirectFB移植于该基于龙芯平台的机器上。其中图形处理库DirectFB是一个针对嵌入式系统设计的图形库,运行在提供帧缓冲(Frame Buffer)支持的Linux操作系统中,能在尽可能少的资源使用上提供最大的硬件加速性能,以增强嵌入式系统的图形功能;DirectFB是一个完整的硬件抽象层,支持基于Linux帧缓冲(FrameBuffer)实现的半透明的窗口和多层显示技术,提供硬件图形加速绘制和输入处理等功能。S3、在Linux操作系统下创建一个标准图形卡含有的显示层,创建主表面、离屏表面以及鼠标,其中被当前屏幕显示的表面称为主表面,不被当前屏幕显示的表面称为离屏表面;S4、设置窗口的背景、大小和位置参数,并基于该窗口的背景、大小和位置参数在该主表面创建客户端窗口本文档来自技高网...

【技术保护点】
一种基于龙芯平台Linux操作系统下rdesktop的优化方法,所述方法包括如下步骤:S1、在基于龙芯平台的机器上,打开Linux操作系统内核的帧缓冲支持,构建开发环境;S2、将图形处理库DirectFB移植于所述基于龙芯平台的机器上;S3、在Linux操作系统下创建一个标准图形卡含有的显示层,创建主表面、离屏表面以及鼠标;S4、设置窗口的背景、大小和位置参数,并基于所述窗口的背景、大小和位置参数在所述主表面创建客户端窗口;S5、创建所述客户端窗口所在表面的句柄、事件缓冲区和消息缓冲区,为所述事件缓冲区和消息缓冲区创建文件描述符;S6、监听所有消息缓冲区和事件缓冲区的文件描述符;S7、使用双缓冲技术实现绘图操作和显示。

【技术特征摘要】
1.一种基于龙芯平台Linux操作系统下rdesktop的优化方法,所述方法包括如下步骤: S1、在基于龙芯平台的机器上,打开Linux操作系统内核的帧缓冲支持,构建开发环境; S2、将图形处理库DirectFB移植于所述基于龙芯平台的机器上; S3、在Linux操作系统下创建一个标准图形卡含有的显示层,创建主表面、离屏表面以及鼠标; S4、设置窗口的背景、大小和位置参数,并基于所述窗口的背景、大小和位置参数在所述主表面创建客户端窗口; S5、创建所述客户端窗口所在表面的句柄、事件缓冲区和消息缓冲区,为所述事件缓冲区和消息缓冲区创建文件描述符; S6、监听所有消息缓冲区和事件缓冲区的文件描述符; S7、使用双缓冲技术实现绘图操作和显示。2.根据权利要求1所述的基于龙芯平台Linux操作系统下rdesktop的优化方法,其特征在于,所述步骤S2将图形处理库DirectFB移植于所述基于龙芯平台的机器上包括如下步骤: S21、获取图形处理库DirectFB的源码包; S22、搭建交叉编译工具链; S23、设置编译安装所需的环境变量; S24、编译安装所述步骤S21获取的源码包; S25、将所述步骤S24编译安装的文件制作一个新的文件系统; S26、将所述步骤S25制作的文件系统烧写到基于龙芯平台的机器上; S27、运行测试图形处理库DirectFB的样例; S28、若测试稳定通过则重启所述基于龙芯平台的机器,再运行测试,如果测试仍然稳定通过,那么移植完成;否则重复步骤S21~S27直至移植完成。3.根据权利要求2所述的基于龙芯平台Linux操作系统下rdesktop的优化方法,其特征在于,所述步骤S25制作...

【专利技术属性】
技术研发人员:杨涌张戈苏丹王湘林小光
申请(专利权)人:重庆绿色智能技术研究院
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1