窗口图像显示方法、设备及存储介质技术

技术编号:30204283 阅读:16 留言:0更新日期:2021-09-29 09:04
本申请实施例提供一种窗口图像显示方法、设备及存储介质,应用于基于wayland协议创建的客户端和服务端,所述方法包括:所述客户端响应于接收到的用于请求图像显示的输入事件,生成窗口对象;所述客户端生成与所述窗口对象对应的窗口表面,所述窗口表面为含有待渲染图像的框架模型;基于所述窗口表面,所述客户端对所述待渲染图像进行渲染,并缓存在预设内存中;所述服务端从所述预设内存中读取渲染后的图像,对所述渲染后的图像进行合成,并将合成的图像发送至终端进行显示。解决现有技术无法克服窗口图像的渲染显示速度慢的问题,进而提高用户体验。高用户体验。高用户体验。

【技术实现步骤摘要】
窗口图像显示方法、设备及存储介质


[0001]本申请实施例涉及计算机图像
,尤其涉及一种窗口图像显示方法、设备及存储介质。

技术介绍

[0002]随着科技的发展,在图像渲染与显示技术中,传统技术采用的是X窗口系统(X Window System,也常称为X11或X)。该系统是一种以位图方式显示的软件窗口系统。X窗口系统通过软件工具及架构协定来创建操作系统所用的图形用户界面,此后则逐渐扩展适用到各形各色的其他操作系统上。现在几乎所有的操作系统都能支持与使用X窗口系统。当前主流的桌面环境——GNOME和KDE也都是以X窗口系统为基础建构成的。
[0003]目前依据X窗口系统的规范架构所开发撰写成的实体中,以X.Org最为普遍。X.Org所用的协定版本是X11。最新的参考实现版本则是X11Release 7.6(简称:X11R7.6)。但是基于X窗口系统的图像渲染显示原理,在对象图像渲染显示过程中,该架构协议中的服务端和合成器频繁交互和数据传递,导致窗口图像的渲染显示速度慢。
[0004]因此,现有技术中无法克服窗口图像的渲染显示速度慢的问题,进而影响用户体验。

技术实现思路

[0005]本申请实施例提供一种窗口图像显示方法、设备及存储介质,以克服现有技术窗口图像的渲染显示速度慢的问题,进而提高用户体验。
[0006]第一方面,本申请实施例提供一种窗口图像显示方法,应用于基于wayland协议创建的客户端和服务端,所述方法包括:
[0007]所述客户端响应于接收到的用于请求图像显示的输入事件,生成窗口对象;
[0008]所述客户端生成与所述窗口对象对应的窗口表面,所述窗口表面为含有待渲染图像的框架模型;
[0009]基于所述窗口表面,所述客户端对所述待渲染图像进行渲染,并缓存在预设内存中;
[0010]所述服务端从所述预设内存中读取渲染后的图像,对所述渲染后的图像进行合成,并将合成的图像发送至终端进行显示。
[0011]在一种可能的设计中,基于所述wayland协议创建所述服务端,包括:
[0012]基于所述wayland协议,生成待创建服务端的display;
[0013]获取所述待创建服务端的epoll_fd,所述待创建服务端支持监听所述客户端的fd的功能;
[0014]基于所述wayland协议,生成待创建服务端的socket;
[0015]通过所述socket将监听到的所述客户端的fd添加到所述待创建服务端的epoll_fd;
[0016]根据添加后的所述待创建服务端的epoll_fd,控制所述待创建服务端注册提供给所述客户端使用的服务,生成所述服务端。
[0017]在一种可能的设计中,基于所述wayland协议,所述服务端内置有合成器;所述对所述渲染后的图像进行合成,包括:
[0018]所述服务端中的合成器对所述渲染后的图像进行合成。
[0019]在一种可能的设计中,一个用于请求显示图像的输入事件对应一个窗口对象,若所述渲染后的图像为多个时,对应的输入事件为多个和对应的窗口对象为多个;
[0020]所述服务端中的合成器对所述渲染后的图像进行合成,包括:
[0021]所述客户端根据终端发送的多个输入事件中图像显示请求,确定图像显示优先级;
[0022]所述服务端中的合成器根据由高到低的顺序对多个所述渲染后的图像进行排列,并将排序后对应的多个窗口对象的视图合并为一个序列。
[0023]在一种可能的设计中,所述生成窗口对象,包括:
[0024]所述客户端调用所述display连接所述服务端,通过所述服务端获取所述客户端对应的display对象;
[0025]所述客户端通过所述display对象获取当前的服务;
[0026]所述客户端根据所述当前的服务,通过窗口管理器,生成所述窗口对象。
[0027]在一种可能的设计中,所述客户端生成与所述窗口对象对应的窗口表面,包括:
[0028]所述客户端获取所述待渲染图像对应的显示分辨率和所述待渲染图像的灰度图像;
[0029]所述客户端根据所述显示分辨率以及所述灰度图像,生成所述窗口表面。
[0030]在一种可能的设计中,所述将合成的图像发送至终端进行显示,包括:
[0031]根据所述合成的图像,通过所述窗口管理器,生成显示窗口;
[0032]所述服务端通过所述显示窗口将所述合成的图像发送至终端并显示。
[0033]在一种可能的设计中,所述方法还包括:
[0034]所述客户端通过所述服务端中的所述合成器,对所述显示窗口进行更新;或者,
[0035]所述客户端通过所述服务端创建共享内存,对所述显示窗口进行更新。
[0036]第二方面,本申请实施例提供一种窗口图像显示设备,包括:至少一个处理器和存储器;
[0037]所述存储器存储计算机执行指令;
[0038]所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述至少一个处理器执行如上述第一方面以及第一方面各种可能的设计所述的窗口图像显示方法。
[0039]第三方面,本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如上述第一方面以及第一方面各种可能的设计所述的窗口图像显示方法。
[0040]本实施例提供的窗口图像显示方法、设备及存储介质,应用于基于wayland协议创建的客户端和服务端,首先客户端响应于接收到的用于请求图像显示的输入事件,生成窗口对象;所述客户端生成与所述窗口对象对应的窗口表面,所述窗口表面为含有待渲染图像的框架模型;基于所述窗口表面,所述客户端对所述待渲染图像进行渲染,并缓存在预设
内存中;所述服务端从所述预设内存中读取渲染后的图像,对所述渲染后的图像进行合成,并将合成的图像发送至终端进行显示。因此,本申请通过wayland协议,实现了客户端与服务端的交互通信,进而达到了窗口图像的渲染、合成以及显示的目的,减少了现有技术中服务端和合成器(Compositor)的频繁交互和数据传递,大大提高了图像渲染的速度,进而提高了用户体验。
附图说明
[0041]为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0042]图1为本申请实施例提供的窗口图像显示方法的流程示意图;
[0043]图2为本申请再一实施例提供的窗口图像显示方法的流程示意图;
[0044]图3为本申请又一实施例提供的窗口图像显示方法得流程示意图;
[0045]图4为本申请另一实施例提供的窗口图像显示方法的流程示意图;
[0046本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种窗口图像显示方法,其特征在于,应用于基于wayland协议创建的客户端和服务端,所述方法包括:所述客户端响应于接收到的用于请求图像显示的输入事件,生成窗口对象;所述客户端生成与所述窗口对象对应的窗口表面,所述窗口表面为含有待渲染图像的框架模型;基于所述窗口表面,所述客户端对所述待渲染图像进行渲染,并缓存在预设内存中;所述服务端从所述预设内存中读取渲染后的图像,对所述渲染后的图像进行合成,并将合成的图像发送至终端进行显示。2.根据权利要求1所述的方法,其特征在于,基于所述wayland协议创建所述服务端,包括:基于所述wayland协议,生成待创建服务端的display;获取所述待创建服务端的epoll_fd,所述待创建服务端支持监听所述客户端的fd的功能;基于所述wayland协议,生成待创建服务端的socket;通过所述socket将监听到的所述客户端的fd添加到所述待创建服务端的epoll_fd;根据添加后的所述待创建服务端的epoll_fd,控制所述待创建服务端注册提供给所述客户端使用的服务,生成所述服务端。3.根据权利要求2所述的方法,其特征在于,基于所述wayland协议,所述服务端内置有合成器;所述对所述渲染后的图像进行合成,包括:所述服务端中的合成器对所述渲染后的图像进行合成。4.根据权利要求3所述的方法,其特征在于,一个用于请求显示图像的输入事件对应一个窗口对象,若所述渲染后的图像为多个时,对应的输入事件为多个和对应的窗口对象为多个;所述服务端中的合成器对所述渲染后的图像进行合成,包括:所述客户端根据终端发送的多个输入事件中图像显示请求,确定图像显示优先级;所述服务端中的合成器根据...

【专利技术属性】
技术研发人员:庄尚志
申请(专利权)人:海信电子科技武汉有限公司
类型:发明
国别省市:

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

1