WO2021052100A1 - Wayland protocol-based graphics compositing method, apparatus and system, and computer-readable storage medium - Google Patents

Wayland protocol-based graphics compositing method, apparatus and system, and computer-readable storage medium Download PDF

Info

Publication number
WO2021052100A1
WO2021052100A1 PCT/CN2020/110345 CN2020110345W WO2021052100A1 WO 2021052100 A1 WO2021052100 A1 WO 2021052100A1 CN 2020110345 W CN2020110345 W CN 2020110345W WO 2021052100 A1 WO2021052100 A1 WO 2021052100A1
Authority
WO
WIPO (PCT)
Prior art keywords
graphics
window
manager
application client
input
Prior art date
Application number
PCT/CN2020/110345
Other languages
French (fr)
Chinese (zh)
Inventor
胡冲
梁玉平
Original Assignee
中兴通讯股份有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 中兴通讯股份有限公司 filed Critical 中兴通讯股份有限公司
Publication of WO2021052100A1 publication Critical patent/WO2021052100A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • G06F3/1407General aspects irrespective of display type, e.g. determination of decimal point position, display with fixed or driving decimal point, suppression of non-significant zeros
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units

Abstract

A wayland protocol-based graphics compositing method, apparatus and system, and a computer-readable storage medium. The wayland protocol-based graphics compositing method is applied to a graphics display compositor, and comprises: acquiring a kernel input event, calculating a window focus according to the kernel input event, and sending, by means of an input management channel, the kernel input event to a graphics application client corresponding to the window focus (S4010); receiving, by means of the window management channel, a window management request sent by at least one graphics application client (S4020); receiving, by means of the graphics management channel, graphics cache drawn by the at least one graphics application client, and applying the graphics cache drawn by the at least one graphics application client to the window management request sent by the at least one graphics application client, so as to obtain a composited graphics window (S4030); and outputting the composited graphics window to at least one display device (S4040).

Description

基于wayland协议的图形合成方法、装置、系统和计算机可读存储介质Graphic synthesis method, device, system and computer readable storage medium based on wayland protocol
相关申请的交叉引用Cross-references to related applications
本申请基于申请号为201910878092.6、申请日为2019年9月17日的中国专利申请提出,并要求该中国专利申请的优先权,该中国专利申请的全部内容在此引入本申请作为参考。This application is filed based on a Chinese patent application with an application number of 201910878092.6 and an application date of September 17, 2019, and claims the priority of the Chinese patent application. The entire content of the Chinese patent application is hereby incorporated by reference into this application.
技术领域Technical field
本申请涉及终端设备,例如涉及一种基于wayland协议的图形合成方法、装置、系统和计算机可读存储介质。This application relates to terminal equipment, for example, to a method, device, system and computer-readable storage medium for graphics synthesis based on the Wayland protocol.
背景技术Background technique
Wayland是一种图形显示协议(Protocol),wayland协议将一个图形系统分为图形应用客户端(client)和图形显示合成端(compositor)。图形应用客户端和图形显示合成端通过wayland协议进行通信。Wayland is a graphics display protocol (Protocol). The wayland protocol divides a graphics system into a graphics application client (client) and a graphics display compositor (compositor). The graphic application client and the graphic display synthesis terminal communicate through the wayland protocol.
其中图形应用客户端通过协议定义的事件(event)与图形显示合成端进行通信,图形显示合成端通过协议定义的请求(request)与图形应用客户端进行通信。Wayland协议中存在多个图形应用客户端与一个图形显示合成端进行通信的情况。Among them, the graphic application client communicates with the graphic display synthesis terminal through an event defined by the protocol, and the graphic display synthesis terminal communicates with the graphic application client through a protocol defined request (request). In the Wayland protocol, multiple graphic application clients communicate with a graphic display synthesis terminal.
目前基于wayland协议设计的图形显示合成端,由于设计的结构限制,很难达到显示设备的刷新帧率,随着需要合成的图形应用客户端的数量越多,刷新帧率下降的越快,可能造成显示不流畅、卡顿等现象,影响用户使用体验。At present, the graphics display synthesis terminal designed based on the wayland protocol is difficult to achieve the refresh frame rate of the display device due to the structural limitation of the design. As the number of graphics application clients that need to be synthesized increases, the refresh frame rate decreases faster, which may cause Phenomena such as unsmooth display and freezes affect the user experience.
发明内容Summary of the invention
本申请提供一种基于wayland协议的图形合成方法、装置、系统和计算机可读存储介质,可以提高基于wayland协议的图形显示系统的显示流畅度。This application provides a graphic synthesis method, device, system and computer-readable storage medium based on the Wayland protocol, which can improve the display fluency of the graphic display system based on the Wayland protocol.
本申请实施例提供一种基于wayland协议的图形合成方法,应用于图形显示合成端,包括:获取内核输入事件,根据内核输入事件计算窗口焦点,并通过输入管理通道将内核输入事件发送到窗口焦点对应的图形应用客户端;通过窗口管理通道接收至少一个图形应用客户端发送的窗口管理请求;通过图形管理通道接收至少一个图形应用客户端绘制的图形缓存,将至少一个图形应用客户端绘制的图形缓存应用至少一个图形应用客户端发送的窗口管理请求,得到合成后的图形窗口;将合成的图形窗口输出到至少一个显示设备。The embodiment of the application provides a graphics synthesis method based on the wayland protocol, which is applied to the graphics display synthesis terminal, including: obtaining kernel input events, calculating window focus according to the kernel input events, and sending the kernel input events to the window focus through the input management channel Corresponding graphics application client; receive window management requests sent by at least one graphics application client through the window management channel; receive graphics cache drawn by at least one graphics application client through the graphics management channel, and store graphics drawn by at least one graphics application client Cache the window management request sent by at least one graphics application client to obtain the synthesized graphics window; and output the synthesized graphics window to at least one display device.
本申请实施例提供一种基于wayland协议的图形显示合成端,其中,包括:窗口管理器、合成管理器、输入管理器、输出管理器、消息管理器和资源管理器;窗口管理器通过窗口管理通道与至少一个图形应用客户端连接,用于为至少一个图形应用客户端分配窗口,确定窗口焦点,接收至少一个图形应用客户端发送的窗口管理请求;合成管理器通过图形管理通道与至少一个图形应用客户端连接,用于接收至少一个图形应用客户端绘制的图形 缓存,将至少一个图形应用客户端绘制的图形缓存应用至少一个图形应用客户端发送的窗口管理请求,得到合成后的图形窗口;输入管理器通过输入管理通道与至少一个图形应用客户端连接,用于从内核获取输入事件,并将内核输入事件根据窗口管理器确定的窗口焦点发送给对应的图形应用客户端;输出管理器用于将合成管理器合成的图形窗口输出到至少一个显示设备;消息管理器用于为窗口管理器、合成管理器、输入管理器和输出管理器之间提供传输消息通道;资源管理器用于管理窗口管理器、合成管理器、输入管理器和输出管理器的资源分配,以及输入管理通道、窗口管理通道和图形管理通道的资源分配。The embodiment of the application provides a graphic display synthesis terminal based on the wayland protocol, which includes: a window manager, a synthesis manager, an input manager, an output manager, a message manager, and a resource manager; the window manager manages through the window The channel is connected to at least one graphics application client, and is used to allocate windows for at least one graphics application client, determine the window focus, and receive window management requests sent by at least one graphics application client; the composition manager communicates with at least one graphics through the graphics management channel The application client connection is used to receive the graphics cache drawn by at least one graphics application client, and apply the window management request sent by the at least one graphics application client to the graphics cache drawn by the at least one graphics application client to obtain a synthesized graphics window; The input manager is connected to at least one graphics application client through the input management channel, and is used to obtain input events from the kernel, and send the kernel input events to the corresponding graphics application client according to the window focus determined by the window manager; the output manager is used for The graphic window synthesized by the composition manager is output to at least one display device; the message manager is used to provide a transmission message channel between the window manager, the composition manager, the input manager and the output manager; the resource manager is used to manage the window manager The resource allocation of, composition manager, input manager and output manager, and resource allocation of input management channel, window management channel and graphics management channel.
本申请实施例提供一种基于wayland协议的图形显示系统,其中,包括:图形显示合成端和至少一个图形应用客户端;图形显示合成端和至少一个图形应用客户端之间包括输入管理通道、窗口管理通道和图形管理通道;图形显示合成端用于获取内核输入事件,根据内核输入事件计算窗口焦点,并通过输入管理通道将内核输入事件发送到窗口焦点对应的图形应用客户端;通过窗口管理通道接收至少一个图形应用客户端发送的窗口管理请求;通过图形管理通道接收至少一个图形应用客户端绘制的图形缓存,将至少一个图形应用客户端绘制的图形缓存应用至少一个图形应用客户端发送的窗口管理请求,得到合成后的图形窗口;将合成的图形窗口输出到至少一个显示设备;图形应用客户端用于根据内核输入事件绘制图形缓存,获取用户输入的窗口调整指令,根据窗口调整指令重绘图形缓存并生成窗口管理请求。The embodiment of the application provides a graphics display system based on the wayland protocol, which includes: a graphics display synthesis terminal and at least one graphics application client; the graphics display synthesis terminal and the at least one graphics application client include an input management channel and a window Management channel and graphics management channel; the graphics display synthesis terminal is used to obtain kernel input events, calculate the window focus according to the kernel input events, and send the kernel input events to the graphics application client corresponding to the window focus through the input management channel; through the window management channel Receive a window management request sent by at least one graphics application client; receive a graphics cache drawn by at least one graphics application client through a graphics management channel, and cache the graphics drawn by at least one graphics application client to a window sent by at least one graphics application client Manage the request to obtain the synthesized graphics window; output the synthesized graphics window to at least one display device; the graphics application client is used to draw the graphics buffer according to the kernel input event, obtain the window adjustment instructions input by the user, and redraw according to the window adjustment instructions Shape cache and generate window management request.
本申请实施例提供一种计算机可读存储介质,存储有一个或多个计算机程序,其中,所述一个或多个计算机程序可被一个或多个处理器执行,以实现基于wayland协议的图形合成方法的步骤。附图说明The embodiment of the present application provides a computer-readable storage medium storing one or more computer programs, where the one or more computer programs can be executed by one or more processors to realize graphics synthesis based on the wayland protocol Method steps. Description of the drawings
图1为一实施例提供的一种基于wayland协议的图形显示系统的结构示意图;FIG. 1 is a schematic structural diagram of a graphic display system based on the wayland protocol provided by an embodiment;
图2为一实施例提供的另一种基于wayland协议的图形显示系统的结构示意图;FIG. 2 is a schematic structural diagram of another graphic display system based on the wayland protocol provided by an embodiment;
图3为一实施例提供的另一种基于wayland协议的图形显示系统的结构示意图;FIG. 3 is a schematic structural diagram of another graphic display system based on the wayland protocol provided by an embodiment;
图4为一实施例提供的一种基于wayland协议的图形显示方法的流程图;FIG. 4 is a flowchart of a graphic display method based on the wayland protocol provided by an embodiment;
图5为一实施例提供的一种基于wayland协议的图形显示合成端的结构示意图。FIG. 5 is a schematic diagram of a structure of a graphic display synthesis terminal based on the wayland protocol provided by an embodiment.
具体实施方式detailed description
下文中将结合附图对本申请的实施例进行详细说明。Hereinafter, the embodiments of the present application will be described in detail with reference to the accompanying drawings.
图1为一实施例提供的一种基于wayland协议的图形显示系统的结构示意图,如图1所示,本实施例提供的基于wayland协议的图形显示系统包括:图形显示合成端11和至少一个图形应用客户端12。Figure 1 is a schematic structural diagram of a graphics display system based on the Wayland protocol provided by an embodiment. As shown in Figure 1, the graphics display system based on the Wayland protocol provided by this embodiment includes: a graphics display synthesis terminal 11 and at least one graphic Application client 12.
图形显示合成端11和至少一个图形应用客户端12之间包括输入管理通道14、窗口管理通道15和图形管理通道16。The graphics display synthesis terminal 11 and the at least one graphics application client 12 include an input management channel 14, a window management channel 15 and a graphics management channel 16.
图形显示合成端11用于获取内核输入事件,根据内核输入事件计算窗口焦点,并通过输入管理通道14将内核输入事件发送到窗口焦点对应的图形应用客户端12;通过窗口 管理14通道接收至少一个图形应用客户端12发送的窗口管理请求;通过图形管理通道16接收至少一个图形应用客户端12绘制的图形缓存,将至少一个图形应用客户端12绘制的图形缓存应用至少一个图形应用客户端12发送的窗口管理请求,得到合成后的图形窗口;将合成的图形窗口输出到至少一个显示设备13。The graphics display synthesis terminal 11 is used to obtain the kernel input event, calculate the window focus according to the kernel input event, and send the kernel input event to the graphics application client 12 corresponding to the window focus through the input management channel 14; receive at least one through the window management channel 14 Window management request sent by graphics application client 12; receiving graphics cache drawn by at least one graphics application client 12 through graphics management channel 16, and sending graphics cache drawn by at least one graphics application client 12 to at least one graphics application client 12 Window management request to obtain the synthesized graphic window; output the synthesized graphic window to at least one display device 13.
图形应用客户端12用于根据内核输入事件绘制图形缓存,获取用户输入的窗口调整指令,根据窗口调整指令重绘图形缓存并生成窗口管理请求。The graphics application client 12 is used to draw the graphics cache according to the kernel input event, obtain the window adjustment instructions input by the user, redraw the graphics cache according to the window adjustment instructions, and generate a window management request.
Wayland是一种图形显示协议,将图形系统分为图形应用客户端和图形显示合成端。图形应用客户端和图形显示合成端通过wayland协议进行通信,其中图形应用客户端通过协议定义的事件(event)与图形显示合成端进行通信,图形显示合成端通过协议定义的请求(request)与图形应用客户端进行通信,图形显示合成端可以同时与多个图形应用客户端进行通信。基于wayland协议可以设计不同的图形显示系统,但目前基于wayland协议的图形显示系统,在图形应用客户端和图形显示合成端之间通过一个协议域套接字(domain socket)连接,也就是图形应用客户端和图形显示合成端之间通过一个单通道进行连接,那么当需要合成的图形应用客户端的数量增多将造成帧率的下降,从而造成显示不流畅、卡顿等现象。Wayland is a graphics display protocol that divides the graphics system into a graphics application client and a graphics display synthesis terminal. The graphics application client and the graphics display synthesis terminal communicate through the wayland protocol, where the graphics application client communicates with the graphics display synthesis terminal through the event defined by the protocol, and the graphics display synthesis terminal communicates with the graphics through the protocol defined request (request) The application client communicates, and the graphic display synthesis terminal can communicate with multiple graphic application clients at the same time. Different graphics display systems can be designed based on the wayland protocol, but the current graphics display system based on the wayland protocol uses a protocol domain socket connection between the graphics application client and the graphics display synthesis terminal, that is, the graphics application The client and the graphics display synthesis terminal are connected through a single channel, so when the number of graphics application clients that need to be synthesized increases, the frame rate will drop, which will cause the display to be unsmooth and stuck.
在对wayland协议进行分析后,可以将wayland协议中的事件分成三个种类,分别为:输入相关的事件与请求、图形显示相关的事件与请求、窗口管理相关的事件与请求。那么就可以将三个种类的事件与请求分开,分别通过不同的通道在图形应用客户端和图形显示合成端之间传输三个种类的事件与请求。因此在本实施例提供的基于wayland协议的图形显示系统中,在图形显示合成端11和至少一个图形应用客户端12之间建立了输入管理通道14、窗口管理通道15和图形管理通道16。After analyzing the wayland protocol, the events in the wayland protocol can be divided into three categories, namely: input-related events and requests, graphic display-related events and requests, and window management-related events and requests. Then the three types of events and requests can be separated, and the three types of events and requests can be transmitted between the graphics application client and the graphics display synthesis terminal through different channels. Therefore, in the graphics display system based on the wayland protocol provided in this embodiment, an input management channel 14, a window management channel 15, and a graphics management channel 16 are established between the graphics display synthesis terminal 11 and at least one graphics application client 12.
输入管理通道14用于传输输入相关的事件与请求;窗口管理通道15用于传输窗口管理相关的事件与请求;和图形管理通道16用于传输图形显示相关的事件与请求。The input management channel 14 is used to transmit input-related events and requests; the window management channel 15 is used to transmit window management-related events and requests; and the graphics management channel 16 is used to transmit graphics display-related events and requests.
详细来说,每个应用程序具有对应的图形应用客户端12,图形应用客户端12用于为对应的应用程序绘制图形窗口所需的图形缓存,将绘制的图形缓存发送至图形显示合成端11后再由图形显示合成端11发送至显示设备进行显示。那么图形显示合成端首先为各图形应用客户端12分配窗口,通过窗口管理通道15与图形显示合成端11连接,确定各图形应用客户端12对应的窗口焦点,并提供给各图形应用客户端12各种设置接口,例如移动、调整大小、最大化、最小化、全屏等。那么各图形应用客户端12在接收到用户的输入后,即获取到用户输入的窗口调整指令后,图形应用客户端12会改变对应的窗口,执行如移动、调整大小、最大化、最小化、全屏等处理,然后使用图形管理器(Graphics Processing Unit,GPU)进行重绘处理,重新绘制窗口对应的图形缓存,同时图形应用客户端12生成窗口管理请求。图形显示合成端11就可以通过窗口管理通道15接收至少一个图形应用客户端12发送的窗口管理请求。In detail, each application has a corresponding graphics application client 12, and the graphics application client 12 is used to draw the graphics buffer required by the corresponding application for the graphics window, and send the drawn graphics buffer to the graphics display synthesis terminal 11. Then it is sent to the display device by the graphic display synthesis terminal 11 for display. Then the graphics display synthesis terminal first allocates windows to each graphics application client 12, connects to the graphics display synthesis terminal 11 through the window management channel 15, determines the window focus corresponding to each graphics application client 12, and provides it to each graphics application client 12 Various setting interfaces, such as move, resize, maximize, minimize, full screen, etc. Then, after each graphics application client 12 receives the user's input, that is, after obtaining the window adjustment instruction input by the user, the graphics application client 12 will change the corresponding window, and perform operations such as moving, resizing, maximizing, minimizing, Full screen and other processing, and then use a graphics manager (Graphics Processing Unit, GPU) to perform redraw processing, redraw the graphics cache corresponding to the window, and at the same time, the graphics application client 12 generates a window management request. The graphic display synthesis terminal 11 can then receive a window management request sent by at least one graphic application client 12 through the window management channel 15.
图形显示合成端11还通过输入管理通道14与多个图形应用客户端12连接,在其获取内核输入事件之后,根据内核输入事件计算窗口焦点,并通过输入管理通道14将内核输入事件发送到窗口焦点对应的图形应用客户端12。The graphics display synthesis terminal 11 is also connected to multiple graphics application clients 12 through the input management channel 14. After it obtains the kernel input event, it calculates the window focus according to the kernel input event, and sends the kernel input event to the window through the input management channel 14. The graphics application client 12 corresponding to the focus.
图形显示合成端11还通过图形管理通道16与多个图形应用客户端12连接,通过图形管理通道16接收至少一个图形应用客户端12绘制的图形缓存,将至少一个图形应用客户端12绘制的图形缓存应用至少一个图形应用客户端12发送的窗口管理请求,得到合成后的图形窗口;将合成的图形窗口输出到至少一个显示设备13。The graphics display synthesis terminal 11 is also connected to multiple graphics application clients 12 through a graphics management channel 16, receives graphics cache drawn by at least one graphics application client 12 through the graphics management channel 16, and stores graphics drawn by at least one graphics application client 12 The window management request sent by at least one graphics application client 12 is cached to obtain the synthesized graphics window; the synthesized graphics window is output to at least one display device 13.
图形应用客户端12用于根据内核输入事件绘制图形缓存,获取用户输入的窗口调整指令,根据窗口调整指令重绘图形缓存并生成窗口管理请求。那么图形应用客户端12的图形缓存、窗口调整指令和内核输入事件分别通过不同的通道与图形显示合成端11进行交互,从而降低了每个数据通道的信息承载量。The graphics application client 12 is used to draw the graphics cache according to the kernel input event, obtain the window adjustment instructions input by the user, redraw the graphics cache according to the window adjustment instructions, and generate a window management request. Then the graphics cache, window adjustment instructions, and kernel input events of the graphics application client 12 interact with the graphics display synthesis terminal 11 through different channels, thereby reducing the information carrying capacity of each data channel.
由于本实施例提供的基于wayland协议的图形显示系统中,将图形显示合成端11和至少一个图形应用客户端12通过三个通道连接,三个通道分别传输不同类别的事件与请求,那么将可以大大加快响应速度,避免图形显示合成端11和至少一个图形应用客户端12之间传输的信息过多而产生拥堵,从而可以提高基于wayland协议的图形显示系统的显示流畅度。Since in the graphics display system based on the wayland protocol provided in this embodiment, the graphics display synthesis terminal 11 and at least one graphics application client 12 are connected through three channels, and the three channels transmit different types of events and requests, then it will be able to The response speed is greatly accelerated, and congestion caused by excessive information transmission between the graphics display synthesis terminal 11 and at least one graphics application client 12 can be avoided, so that the display fluency of the graphics display system based on the wayland protocol can be improved.
本实施例提供的基于wayland协议的图形显示系统包括:图形显示合成端和至少一个图形应用客户端;图形显示合成端和至少一个图形应用客户端之间包括输入管理通道、窗口管理通道和图形管理通道;图形显示合成端用于获取内核输入事件,根据内核输入事件计算窗口焦点,并通过输入管理通道将内核输入事件发送到窗口焦点对应的图形应用客户端;通过窗口管理通道接收至少一个图形应用客户端发送的窗口管理请求;通过图形管理通道接收至少一个图形应用客户端绘制的图形缓存,将至少一个图形应用客户端绘制的图形缓存应用至少一个图形应用客户端发送的窗口管理请求,得到合成后的图形窗口;将合成的图形窗口输出到至少一个显示设备;图形应用客户端用于根据内核输入事件绘制图形缓存,获取用户输入的窗口调整指令,根据窗口调整指令重绘图形缓存并生成窗口管理请求,由于通过三个通道分别传输不同类别的事件与请求,那么将可以大大加快响应速度,避免图形显示合成端和至少一个图形应用客户端之间传输的信息过多而产生拥堵,从而可以提高基于wayland协议的图形显示系统的显示流畅度。The graphics display system based on the Wayland protocol provided in this embodiment includes: a graphics display synthesis terminal and at least one graphics application client; the graphics display synthesis terminal and the at least one graphics application client include an input management channel, a window management channel, and graphics management. Channel; the graphics display synthesis terminal is used to obtain the kernel input event, calculate the window focus according to the kernel input event, and send the kernel input event to the graphics application client corresponding to the window focus through the input management channel; receive at least one graphics application through the window management channel A window management request sent by the client; receiving a graphics cache drawn by at least one graphics application client through the graphics management channel, and applying the graphics cache drawn by at least one graphics application client to the window management request sent by at least one graphics application client to obtain a synthesis After the graphics window; output the synthesized graphics window to at least one display device; the graphics application client is used to draw the graphics buffer according to the kernel input event, obtain the window adjustment instructions input by the user, redraw the shape buffer and generate the window according to the window adjustment instructions Management requests. Since events and requests of different categories are transmitted through the three channels, the response speed can be greatly accelerated, and congestion caused by excessive information transmission between the graphics display synthesis terminal and at least one graphics application client can be avoided. Improve the display fluency of the graphics display system based on the wayland protocol.
图2为一实施例提供的另一种基于wayland协议的图形显示系统的结构示意图,如图2所示,本实施例提供的基于wayland协议的图形显示系统在图1的基础上,图形显示合成端11包括窗口管理器111、合成管理器112、输入管理器113和输出管理器114。Fig. 2 is a schematic structural diagram of another graphic display system based on Wayland protocol provided by an embodiment. As shown in Fig. 2, the graphic display system based on Wayland protocol provided by this embodiment is based on Fig. 1, and the graphic display is synthesized The terminal 11 includes a window manager 111, a composition manager 112, an input manager 113, and an output manager 114.
窗口管理器111通过窗口管理通道15与至少一个图形应用客户端12连接,用于为至少一个图形应用客户端12分配窗口,确定窗口焦点,接收至少一个图形应用客户端12发送的窗口管理请求。The window manager 111 is connected to at least one graphics application client 12 through the window management channel 15 to allocate windows to the at least one graphics application client 12, determine the window focus, and receive a window management request sent by the at least one graphics application client 12.
合成管理器通112过图形管理通道16与至少一个图形应用客户端12连接,用于接收至少一个图形应用客户端12绘制的图形缓存,将至少一个图形应用客户端12绘制的图形缓存应用至少一个图形应用客户端12发送的窗口管理请求,得到合成后的图形窗口。The composition manager is connected to at least one graphics application client 12 through the graphics management channel 16 to receive the graphics cache drawn by the at least one graphics application client 12, and apply at least one graphics cache drawn by the at least one graphics application client 12 The window management request sent by the graphics application client 12 obtains the synthesized graphics window.
输入管理器113通过输入管理通道14与至少一个图形应用客户端12连接,用于从内核获取输入事件,并将内核输入事件根据窗口管理器111确定的窗口焦点发送给对应的图形应用客户端12。The input manager 113 is connected to at least one graphics application client 12 through the input management channel 14, and is used to obtain input events from the kernel, and send the kernel input events to the corresponding graphics application client 12 according to the window focus determined by the window manager 111 .
输出管理器114用于将合成管理器112合成的图形窗口输出到至少一个显示设备13。The output manager 114 is configured to output the graphics window synthesized by the synthesis manager 112 to at least one display device 13.
窗口管理器111、合成管理器112、输入管理器113和输出管理器114分别通过多个线程进行并行处理,可以提高图形显示合成端11的处理效率。The window manager 111, the composition manager 112, the input manager 113, and the output manager 114 respectively perform parallel processing through multiple threads, which can improve the processing efficiency of the graphics display composition terminal 11.
图3为一实施例提供的另一种基于wayland协议的图形显示系统的结构示意图,如图3所示,本实施例提供的基于wayland协议的图形显示系统在图2的基础上,图形显示合成端11还包括消息管理器115和资源管理器116。Fig. 3 is a schematic structural diagram of another graphic display system based on Wayland protocol provided by an embodiment. As shown in Fig. 3, the graphic display system based on Wayland protocol provided by this embodiment is based on Fig. 2, and the graphic display is synthesized The terminal 11 also includes a message manager 115 and a resource manager 116.
消息管理器115用于为窗口管理器111、合成管理器112、输入管理器113和输出管理器114之间提供传输消息通道。消息管理器115主要实现基于wayland协议的图形显示系统与外部服务、以及图形显示合成端11内部各模块之间的通信,采用序列化消息队列方式通信。The message manager 115 is used to provide a transmission message channel between the window manager 111, the composition manager 112, the input manager 113, and the output manager 114. The message manager 115 mainly implements the communication between the graphics display system based on the wayland protocol and external services, and the internal modules of the graphics display synthesis terminal 11, using serialized message queue communication.
资源管理器116用于管理窗口管理器111、合成管理器112、输入管理器113和输出管理器114的资源分配,以及输入管理通道14、窗口管理通道15和图形管理通道16的资源分配。资源管理器116主要管理图形显示合成端11与图形应用客户端12之间的各通道的通信资源,并依据图形应用客户端12的请求进行窗口管理器111、合成管理器112、输入管理器113、输出管理器114的资源分配。The resource manager 116 is used to manage the resource allocation of the window manager 111, the composition manager 112, the input manager 113, and the output manager 114, and the resource allocation of the input management channel 14, the window management channel 15, and the graphics management channel 16. The resource manager 116 mainly manages the communication resources of each channel between the graphic display synthesis terminal 11 and the graphic application client 12, and performs the window manager 111, the synthesis manager 112, and the input manager 113 according to the request of the graphic application client 12 , Resource allocation of output manager 114.
图形显示合成端11中的各模块(包括窗口管理器111、合成管理器112、输入管理器113、输出管理器114、消息管理器115和资源管理器116)分配单独的线程或者线程组提供其微服务功能,各模块之间通过消息管理器115来进行通信,资源管理器116进行资源的分配,保障各模块之间协作运行。Each module (including window manager 111, synthesis manager 112, input manager 113, output manager 114, message manager 115, and resource manager 116) in the graphic display synthesis terminal 11 allocates separate threads or thread groups to provide them For the microservice function, each module communicates through the message manager 115, and the resource manager 116 allocates resources to ensure the cooperative operation between the modules.
在一实施例中,窗口管理器111还用于对至少一个图形应用客户端12的显示窗口进行统一计算,确定顶层可见显示窗口,通过窗口管理通道15通知不可见窗口对应的图形应用客户端12暂停图形绘制。窗口管理器111对各图形应用客户端12的显示窗口的脏区域、透明区域、Z序等统一计算,以便确定顶层可见显示窗口,并通过专用的窗口管理通道15发送命令给处于后台或者被遮挡而使其不可见的图形应用客户端12暂停图形绘制,这些暂停的图形应用客户端12将不再占用GPU资源,以保障顶层窗口的GPU资源的优先占用,而实现在多图形应用客户端12的场景下可以流畅显示。In an embodiment, the window manager 111 is also configured to perform a unified calculation on the display windows of at least one graphics application client 12, determine the top-level visible display window, and notify the graphics application client 12 corresponding to the invisible window through the window management channel 15 Pause graphics drawing. The window manager 111 uniformly calculates the dirty area, transparent area, Z-sequence, etc. of the display windows of each graphics application client 12 to determine the top-level visible display window, and sends commands to those in the background or blocked by the dedicated window management channel 15 While the graphics application client 12 that makes it invisible suspends graphics drawing, these suspended graphics application clients 12 will no longer occupy GPU resources to ensure the priority occupation of the GPU resources of the top-level window, which is implemented in the multi-graphics application client 12 It can be displayed smoothly in different scenes.
图4为一实施例提供的一种基于wayland协议的图形显示方法的流程图,如图4所示,如图4所示,本实施例提供的方法包括如下步骤。FIG. 4 is a flowchart of a graphic display method based on the wayland protocol provided by an embodiment. As shown in FIG. 4, as shown in FIG. 4, the method provided in this embodiment includes the following steps.
步骤S4010,获取内核输入事件,根据内核输入事件计算窗口焦点,并通过输入管理通道将内核输入事件发送到窗口焦点对应的图形应用客户端。Step S4010: Obtain the kernel input event, calculate the window focus according to the kernel input event, and send the kernel input event to the graphics application client corresponding to the window focus through the input management channel.
步骤S4020,通过窗口管理通道接收至少一个图形应用客户端发送的窗口管理请求。Step S4020: Receive a window management request sent by at least one graphics application client through the window management channel.
步骤S4030,通过图形管理通道接收至少一个图形应用客户端绘制的图形缓存,将至少一个图形应用客户端绘制的图形缓存应用至少一个图形应用客户端发送的窗口管理请求,得到合成后的图形窗口。Step S4030: Receive the graphics cache drawn by at least one graphics application client through the graphics management channel, and apply the graphics cache drawn by the at least one graphics application client to the window management request sent by the at least one graphics application client to obtain a synthesized graphics window.
步骤S4040,将合成的图形窗口输出到至少一个显示设备。Step S4040: Output the synthesized graphics window to at least one display device.
本实施例提供的基于wayland协议的图形合成方法应用于图形显示合成端,图形显示合成端可以为图1所示实施例中基于wayland协议的图形合成系统中的图形显示合成端11。本实施例提供的基于wayland协议的图形显示方法的具体实现方法和技术效果已经在图1所示实施例中进行了阐述,此处不再赘述。The graphics synthesis method based on the Wayland protocol provided in this embodiment is applied to the graphics display synthesis terminal, and the graphics display synthesis terminal may be the graphics display synthesis terminal 11 in the graphics synthesis system based on the wayland protocol in the embodiment shown in FIG. 1. The specific implementation method and technical effect of the graphics display method based on the wayland protocol provided in this embodiment have been described in the embodiment shown in FIG. 1, and will not be repeated here.
在一实施例中,本申请实施例提供的基于wayland协议的图形显示方法在图4的基础上,还包括:采用图形管理器为至少一个图形应用客户端分配窗口,确定窗口焦点,通过窗口管理通道接接收至少一个图形应用客户端发送的窗口管理请求;采用合成管理器通过图形管理通道接接收至少一个图形应用客户端绘制的图形缓存,将至少一个图形应用客户端绘制的图形缓存应用至少一个图形应用客户端发送的窗口管理请求,得到合成后的图形窗口;采用输入管理器从内核获取输入事件,并将内核输入事件根据窗口管理器确定的窗口焦点通过输入管理通道发送给对应的图形应用客户端;采用输出管理器将合成的图形窗口输出到至少一个显示设备。In an embodiment, the method for displaying graphics based on the wayland protocol provided by the embodiment of the present application is based on FIG. 4, and further includes: using a graphics manager to allocate windows for at least one graphics application client, determining the window focus, and managing the The channel interface receives the window management request sent by at least one graphics application client; the composition manager receives the graphics cache drawn by at least one graphics application client through the graphics management channel, and applies at least one graphics cache drawn by the at least one graphics application client. The window management request sent by the graphics application client obtains the synthesized graphics window; the input manager is used to obtain input events from the kernel, and the kernel input events are sent to the corresponding graphics application through the input management channel according to the window focus determined by the window manager Client: The output manager is used to output the synthesized graphics window to at least one display device.
在一实施例中,本申请实施例提供的基于wayland协议的图形显示方法在图4的基础上,还包括:采用消息管理器为窗口管理器、合成管理器、输入管理器和输出管理器之间提供传输消息通道;采用资源管理器管理窗口管理器、合成管理器、输入管理器和输出管理器的资源分配,以及输入管理通道、窗口管理通道和图形管理通道的资源分配。In an embodiment, the method for displaying graphics based on the wayland protocol provided by the embodiment of the present application is based on FIG. 4, and further includes: adopting a message manager as one of the window manager, the composition manager, the input manager, and the output manager. Provide a transmission message channel between them; use the resource manager to manage the resource allocation of the window manager, the synthesis manager, the input manager and the output manager, and the resource allocation of the input management channel, window management channel and graphics management channel.
在一实施例中,本申请实施例提供的基于wayland协议的图形显示方法在图4的基础上,采用窗口管理器对至少一个图形应用客户端的显示窗口进行统一计算,确定顶层可见显示窗口,通过窗口管理通道通知不可见窗口对应的图形应用客户端暂停图形绘制。In one embodiment, the graphics display method based on the wayland protocol provided by the embodiment of the present application uses a window manager to perform a unified calculation on the display windows of at least one graphics application client on the basis of FIG. 4 to determine the top-level visible display window. The window management channel notifies the graphics application client corresponding to the invisible window to suspend graphics drawing.
图5为一实施例提供的一种基于wayland协议的图形显示合成端的结构示意图,如图5所示,本实施例提供的基于wayland协议的图形显示合成端包括:Fig. 5 is a schematic structural diagram of a graphic display synthesis terminal based on the Wayland protocol provided by an embodiment. As shown in Fig. 5, the graphic display synthesis terminal based on the Wayland protocol provided in this embodiment includes:
窗口管理器51、合成管理器52、输入管理器53、输出管理器54、消息管理器55和资源管理器56。 Window manager 51, composition manager 52, input manager 53, output manager 54, message manager 55, and resource manager 56.
窗口管理器51通过窗口管理通道与至少一个图形应用客户端连接,用于为至少一个图形应用客户端分配窗口,确定窗口焦点,接收至少一个图形应用客户端发送的窗口管理请求;合成管理器52通过图形管理通道与至少一个图形应用客户端连接,用于接收至少一个图形应用客户端绘制的图形缓存,将至少一个图形应用客户端绘制的图形缓存应用至 少一个图形应用客户端发送的窗口管理请求,得到合成后的图形窗口;输入管理器53通过输入管理通道与至少一个图形应用客户端连接,用于从内核获取输入事件,并将内核输入事件根据窗口管理器51确定的窗口焦点发送给对应的图形应用客户端;输出管理器54用于将合成管理器52合成的图形窗口输出到至少一个显示设备;消息管理器55用于为窗口管理器51、合成管理器52、输入管理器53和输出管理器54之间提供传输消息通道;资源管理器56用于管理窗口管理器51、合成管理器52、输入管理器53和输出管理器54的资源分配,以及输入管理通道、窗口管理通道和图形管理通道的资源分配。The window manager 51 is connected to at least one graphics application client through a window management channel, and is used to allocate windows to at least one graphics application client, determine the window focus, and receive a window management request sent by at least one graphics application client; the composition manager 52 Connected to at least one graphics application client through a graphics management channel, for receiving graphics cache drawn by at least one graphics application client, and applying the graphics cache drawn by at least one graphics application client to a window management request sent by at least one graphics application client , The synthesized graphics window is obtained; the input manager 53 is connected to at least one graphics application client through the input management channel, and is used to obtain input events from the kernel, and send the kernel input events to the corresponding window focus according to the window focus determined by the window manager 51 The output manager 54 is used to output the graphic window synthesized by the synthesis manager 52 to at least one display device; the message manager 55 is used to provide the window manager 51, the synthesis manager 52, the input manager 53 and The output manager 54 provides a transmission message channel; the resource manager 56 is used to manage the resource allocation of the window manager 51, the composition manager 52, the input manager 53, and the output manager 54, as well as the input management channel, window management channel and Graphic management channel resource allocation.
本实施例提供的基于wayland协议的图形显示合成端可以为图3所实施例中的图形显示合成端。The graphic display synthesis terminal based on the wayland protocol provided in this embodiment may be the graphic display synthesis terminal in the embodiment shown in FIG. 3.
在一实施例中,窗口管理器51还用于对至少一个图形应用客户端的显示窗口进行统一计算,确定顶层可见显示窗口,通过窗口管理通道通知不可见窗口对应的图形应用客户端暂停图形绘制。In an embodiment, the window manager 51 is further configured to perform a unified calculation on the display windows of at least one graphics application client, determine the top-level visible display window, and notify the graphics application client corresponding to the invisible window to suspend graphics drawing through the window management channel.
本申请实施例还提供一种包含计算机可执行指令的存储介质,计算机可执行指令在由计算机处理器执行时用于执行一种基于wayland协议的图形合成方法,该方法包括:获取内核输入事件,根据内核输入事件计算窗口焦点,并通过输入管理通道将内核输入事件发送到窗口焦点对应的图形应用客户端;通过窗口管理通道接收至少一个图形应用客户端发送的窗口管理请求;通过图形管理通道接收至少一个图形应用客户端绘制的图形缓存,将至少一个图形应用客户端绘制的图形缓存应用至少一个图形应用客户端发送的窗口管理请求,得到合成后的图形窗口;将合成的图形窗口输出到至少一个显示设备。The embodiment of the present application also provides a storage medium containing computer-executable instructions. When the computer-executable instructions are executed by a computer processor, they are used to execute a wayland protocol-based graphics synthesis method. The method includes: obtaining kernel input events, Calculate the window focus according to the kernel input event, and send the kernel input event to the graphics application client corresponding to the window focus through the input management channel; receive the window management request sent by at least one graphics application client through the window management channel; receive through the graphics management channel The graphics cache drawn by at least one graphics application client applies the window management request sent by the at least one graphics application client to the graphics cache drawn by the at least one graphics application client to obtain the synthesized graphics window; and the synthesized graphics window is output to at least A display device.
以上所述,仅为本申请的示例性实施例而已,并非用于限定本申请的保护范围。The above are only exemplary embodiments of the present application, and are not used to limit the protection scope of the present application.
本领域内的技术人员应明白,术语用户终端涵盖任何适合类型的无线用户设备,例如移动电话、便携数据处理装置、便携网络浏览器或车载移动台。Those skilled in the art should understand that the term user terminal encompasses any suitable type of wireless user equipment, such as a mobile phone, a portable data processing device, a portable web browser, or a vehicle-mounted mobile station.
一般来说,本申请的多种实施例可以在硬件或专用电路、软件、逻辑或其任何组合中实现。例如,一些方面可以被实现在硬件中,而其它方面可以被实现在可以被控制器、微处理器或其它计算装置执行的固件或软件中,尽管本申请不限于此。In general, the various embodiments of the present application can be implemented in hardware or dedicated circuits, software, logic or any combination thereof. For example, some aspects may be implemented in hardware, while other aspects may be implemented in firmware or software that may be executed by a controller, microprocessor, or other computing device, although the present application is not limited thereto.
本申请的实施例可以通过移动装置的数据处理器执行计算机程序指令来实现,例如在处理器实体中,或者通过硬件,或者通过软件和硬件的组合。计算机程序指令可以是汇编指令、指令集架构(InstructionSet Architecture,ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码。The embodiments of the present application may be implemented by executing computer program instructions by a data processor of a mobile device, for example, in a processor entity, or by hardware, or by a combination of software and hardware. Computer program instructions can be assembly instructions, Instruction Set Architecture (ISA) instructions, machine instructions, machine-related instructions, microcode, firmware instructions, state setting data, or written in any combination of one or more programming languages Source code or object code.
本申请附图中的任何逻辑流程的框图可以表示程序步骤,或者可以表示相互连接的逻辑电路、模块和功能,或者可以表示程序步骤与逻辑电路、模块和功能的组合。计算机程序可以存储在存储器上。存储器可以具有任何适合于本地技术环境的类型并且可以使用任何适合的数据存储技术实现,例如但不限于只读存储器(Read-Only Memory,ROM)、随机 访问存储器(Random Access Memory,RAM)、光存储器装置和系统(数码多功能光碟(Digital Video Disc,DVD)或光盘(Compact Disc,CD)等。计算机可读介质可以包括非瞬时性存储介质。数据处理器可以是任何适合于本地技术环境的类型,例如但不限于通用计算机、专用计算机、微处理器、数字信号处理器(Digital Signal Processing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程逻辑器件(Field-Programmable Gate Array,FGPA)以及基于多核处理器架构的处理器。The block diagram of any logic flow in the drawings of the present application may represent program steps, or may represent interconnected logic circuits, modules, and functions, or may represent a combination of program steps and logic circuits, modules, and functions. The computer program can be stored on the memory. The memory can be of any type suitable for the local technical environment and can be implemented using any suitable data storage technology, such as but not limited to read-only memory (Read-Only Memory, ROM), random access memory (Random Access Memory, RAM), optical Memory devices and systems (Digital Video Disc (DVD) or Compact Disc (CD), etc.. Computer-readable media can include non-transitory storage media. The data processor can be any suitable for the local technical environment. Types, such as but not limited to general-purpose computers, special-purpose computers, microprocessors, digital signal processors (Digital Signal Processing, DSP), application specific integrated circuits (ASICs), programmable logic devices (Field-Programmable Gate Array) , FGPA) and processors based on multi-core processor architecture.

Claims (11)

  1. 一种基于wayland协议的图形合成方法,应用于图形显示合成端,包括:A graphic synthesis method based on the wayland protocol, applied to the graphic display synthesis terminal, including:
    获取内核输入事件,根据所述内核输入事件计算窗口焦点,并通过输入管理通道将所述内核输入事件发送到所述窗口焦点对应的图形应用客户端;Acquiring a kernel input event, calculating a window focus according to the kernel input event, and sending the kernel input event to a graphics application client corresponding to the window focus through an input management channel;
    通过窗口管理通道接收至少一个图形应用客户端发送的窗口管理请求;Receiving a window management request sent by at least one graphics application client through a window management channel;
    通过图形管理通道接收所述至少一个图形应用客户端绘制的图形缓存,将所述至少一个图形应用客户端绘制的图形缓存应用所述至少一个图形应用客户端发送的窗口管理请求,得到合成后的图形窗口;Receive the graphics cache drawn by the at least one graphics application client through the graphics management channel, and apply the graphics cache drawn by the at least one graphics application client to the window management request sent by the at least one graphics application client to obtain the synthesized Graphics window
    将所述合成的图形窗口输出到至少一个显示设备。The synthesized graphics window is output to at least one display device.
  2. 根据权利要求1所述的方法,还包括:The method according to claim 1, further comprising:
    采用图形管理器为所述至少一个图形应用客户端分配窗口,确定窗口焦点,通过所述窗口管理通道接接收所述至少一个图形应用客户端发送的窗口管理请求;Using a graphics manager to allocate windows to the at least one graphics application client, determine the window focus, and receive a window management request sent by the at least one graphics application client through the window management channel;
    采用合成管理器通过所述图形管理通道接接收所述至少一个图形应用客户端绘制的图形缓存,将所述至少一个图形应用客户端绘制的图形缓存应用所述至少一个图形应用客户端发送的窗口管理请求,得到合成后的图形窗口;The composition manager is used to receive the graphics cache drawn by the at least one graphics application client through the graphics management channel, and apply the graphics cache drawn by the at least one graphics application client to the window sent by the at least one graphics application client Manage the request and get the combined graphics window;
    采用输入管理器从内核获取输入事件,并将所述内核输入事件根据所述窗口管理器确定的窗口焦点通过所述输入管理通道发送给对应的图形应用客户端;Acquiring input events from the kernel by using an input manager, and sending the kernel input events to the corresponding graphics application client through the input management channel according to the window focus determined by the window manager;
    采用输出管理器将合成的图形窗口输出到至少一个显示设备。The output manager is used to output the synthesized graphics window to at least one display device.
  3. 根据权利要求2所述的方法,还包括:The method according to claim 2, further comprising:
    采用消息管理器为所述所述窗口管理器、所述合成管理器、所述输入管理器和所述输出管理器之间提供传输消息通道;Using a message manager to provide a transmission message channel between the window manager, the composition manager, the input manager, and the output manager;
    采用资源管理器管理所述窗口管理器、合成管理器、输入管理器和输出管理器的资源分配,以及所述输入管理通道、窗口管理通道和图形管理通道的资源分配。A resource manager is used to manage the resource allocation of the window manager, the composition manager, the input manager and the output manager, and the resource allocation of the input management channel, the window management channel and the graphics management channel.
  4. 根据权利要求2或3所述的方法,还包括:The method according to claim 2 or 3, further comprising:
    采用窗口管理器对所述至少一个图形应用客户端的显示窗口进行统一计算,确定顶层可见显示窗口,通过所述窗口管理通道通知不可见窗口对应的图形应用客户端暂停图形绘制。A window manager is used to perform a unified calculation on the display windows of the at least one graphics application client, determine the top-level visible display window, and notify the graphics application client corresponding to the invisible window to suspend graphics drawing through the window management channel.
  5. 一种基于wayland协议的图形显示合成端,包括:A graphic display synthesis terminal based on the wayland protocol, including:
    窗口管理器、合成管理器、输入管理器、输出管理器、消息管理器和资源管理器;Window manager, composition manager, input manager, output manager, message manager and resource manager;
    所述窗口管理器通过窗口管理通道与所述至少一个图形应用客户端连接,用于为所述至少一个图形应用客户端分配窗口,确定窗口焦点,接收所述至少一个图形应用客户端发送的窗口管理请求;The window manager is connected to the at least one graphics application client through a window management channel, and is configured to allocate a window to the at least one graphics application client, determine the window focus, and receive the window sent by the at least one graphics application client Management request;
    所述合成管理器通过图形管理通道与所述至少一个图形应用客户端连接,用于接收所述至少一个图形应用客户端绘制的图形缓存,将所述至少一个图形应用客户端绘制的图形 缓存应用所述至少一个图形应用客户端发送的窗口管理请求,得到合成后的图形窗口;The composition manager is connected to the at least one graphics application client through a graphics management channel, and is configured to receive the graphics cache drawn by the at least one graphics application client, and cache the graphics drawn by the at least one graphics application client. A window management request sent by the at least one graphics application client to obtain a synthesized graphics window;
    所述输入管理器通过输入管理通道与所述至少一个图形应用客户端连接,用于从内核获取输入事件,并将所述内核输入事件根据所述窗口管理器确定的窗口焦点发送给对应的图形应用客户端;The input manager is connected to the at least one graphics application client through an input management channel, and is used to obtain input events from the kernel, and send the kernel input events to the corresponding graphics according to the window focus determined by the window manager Application client
    所述输出管理器用于将所述合成管理器合成的图形窗口输出到至少一个显示设备;The output manager is used to output the graphics window synthesized by the synthesis manager to at least one display device;
    所述消息管理器用于为所述所述窗口管理器、所述合成管理器、所述输入管理器和所述输出管理器之间提供传输消息通道;The message manager is used to provide a transmission message channel between the window manager, the composition manager, the input manager, and the output manager;
    所述资源管理器用于管理所述窗口管理器、合成管理器、输入管理器和输出管理器的资源分配,以及所述输入管理通道、窗口管理通道和图形管理通道的资源分配。The resource manager is used to manage the resource allocation of the window manager, the composition manager, the input manager, and the output manager, and the resource allocation of the input management channel, the window management channel, and the graphics management channel.
  6. 根据权利要求5所述的基于wayland协议的图形显示合成端,其中,所述窗口管理器还用于对所述至少一个图形应用客户端的显示窗口进行统一计算,确定顶层可见显示窗口,通过所述窗口管理通道通知不可见窗口对应的图形应用客户端暂停图形绘制。The graphics display synthesis terminal based on the wayland protocol according to claim 5, wherein the window manager is further configured to perform a unified calculation on the display windows of the at least one graphics application client to determine the top-level visible display window, and pass the The window management channel notifies the graphics application client corresponding to the invisible window to suspend graphics drawing.
  7. 一种基于wayland协议的图形显示系统,包括:图形显示合成端和至少一个图形应用客户端;A graphics display system based on the wayland protocol, including: a graphics display synthesis terminal and at least one graphics application client;
    所述图形显示合成端和所述至少一个图形应用客户端之间包括输入管理通道、窗口管理通道和图形管理通道;The graphic display synthesis terminal and the at least one graphic application client include an input management channel, a window management channel, and a graphics management channel;
    所述图形显示合成端用于获取内核输入事件,根据所述内核输入事件计算窗口焦点,并通过所述输入管理通道将所述内核输入事件发送到所述窗口焦点对应的图形应用客户端;通过所述窗口管理通道接收所述至少一个图形应用客户端发送的窗口管理请求;通过所述图形管理通道接收所述至少一个图形应用客户端绘制的图形缓存,将所述至少一个图形应用客户端绘制的图形缓存应用所述至少一个图形应用客户端发送的窗口管理请求,得到合成后的图形窗口;将所述合成的图形窗口输出到至少一个显示设备;The graphic display synthesis terminal is used to obtain the kernel input event, calculate the window focus according to the kernel input event, and send the kernel input event to the graphics application client corresponding to the window focus through the input management channel; The window management channel receives a window management request sent by the at least one graphics application client; receives the graphics cache drawn by the at least one graphics application client through the graphics management channel, and draws the at least one graphics application client The graphics cache applies a window management request sent by the at least one graphics application client to obtain a synthesized graphics window; and outputs the synthesized graphics window to at least one display device;
    所述图形应用客户端用于根据所述内核输入事件绘制图形缓存,获取用户输入的窗口调整指令,根据所述窗口调整指令重绘图形缓存并生成所述窗口管理请求。The graphics application client is used to draw a graphics cache according to the kernel input event, obtain a window adjustment instruction input by a user, redraw the graphics cache according to the window adjustment instruction, and generate the window management request.
  8. 根据权利要求7所述的系统,其中,所述图形显示合成端包括窗口管理器、合成管理器、输入管理器和输出管理器;7. The system according to claim 7, wherein the graphic display synthesis terminal includes a window manager, a synthesis manager, an input manager, and an output manager;
    所述窗口管理器通过所述窗口管理通道与所述至少一个图形应用客户端连接,用于为所述至少一个图形应用客户端分配窗口,确定窗口焦点,接收所述至少一个图形应用客户端发送的窗口管理请求;The window manager is connected to the at least one graphics application client through the window management channel, and is configured to allocate a window to the at least one graphics application client, determine the window focus, and receive a message sent by the at least one graphics application client Window management request;
    所述合成管理器通过所述图形管理通道与所述至少一个图形应用客户端连接,用于接收所述至少一个图形应用客户端绘制的图形缓存,将所述至少一个图形应用客户端绘制的图形缓存应用所述至少一个图形应用客户端发送的窗口管理请求,得到合成后的图形窗口;The composition manager is connected to the at least one graphics application client through the graphics management channel, and is configured to receive the graphics cache drawn by the at least one graphics application client, and store the graphics drawn by the at least one graphics application client. Cache the window management request sent by the at least one graphics application client to obtain the synthesized graphics window;
    所述输入管理器通过所述输入管理通道与所述至少一个图形应用客户端连接,用于从内核获取输入事件,并将所述内核输入事件根据所述窗口管理器确定的窗口焦点发送给对 应的图形应用客户端;The input manager is connected to the at least one graphics application client through the input management channel, and is used to obtain input events from the kernel and send the kernel input events to the corresponding window focus according to the window focus determined by the window manager. Graphics application client;
    所述输出管理器用于将所述合成管理器合成的图形窗口输出到至少一个显示设备。The output manager is used to output the graphics window synthesized by the synthesis manager to at least one display device.
  9. 根据权利要求8所述的系统,其中,所述图形显示合成端还包括消息管理器和资源管理器;8. The system according to claim 8, wherein the graphic display synthesis terminal further comprises a message manager and a resource manager;
    所述消息管理器用于为所述所述窗口管理器、所述合成管理器、所述输入管理器和所述输出管理器之间提供传输消息通道;The message manager is used to provide a transmission message channel between the window manager, the composition manager, the input manager, and the output manager;
    所述资源管理器用于管理所述窗口管理器、合成管理器、输入管理器和输出管理器的资源分配,以及所述输入管理通道、窗口管理通道和图形管理通道的资源分配。The resource manager is used to manage the resource allocation of the window manager, the composition manager, the input manager, and the output manager, and the resource allocation of the input management channel, the window management channel, and the graphics management channel.
  10. 根据权利要求8或9所述的系统,其中,所述窗口管理器还用于对所述至少一个图形应用客户端的显示窗口进行统一计算,确定顶层可见显示窗口,通过所述窗口管理通道通知不可见窗口对应的图形应用客户端暂停图形绘制。The system according to claim 8 or 9, wherein the window manager is further configured to perform a unified calculation on the display windows of the at least one graphics application client, determine the top-level visible display window, and notify the display window through the window management channel. The graphics application client corresponding to the visible window suspends graphics drawing.
  11. 一种计算机可读存储介质,存储有一个或多个计算机程序,其中,所述一个或多个计算机程序可被一个或多个处理器执行,以实现如权利要求1-4任一项所述的基于wayland协议的图形合成方法的步骤。A computer-readable storage medium that stores one or more computer programs, wherein the one or more computer programs can be executed by one or more processors to implement any one of claims 1 to 4 The steps of the graphics synthesis method based on the Wayland protocol.
PCT/CN2020/110345 2019-09-17 2020-08-20 Wayland protocol-based graphics compositing method, apparatus and system, and computer-readable storage medium WO2021052100A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201910878092.6A CN112527219A (en) 2019-09-17 2019-09-17 Graphics synthesis method, device and system based on WAYLAND protocol
CN201910878092.6 2019-09-17

Publications (1)

Publication Number Publication Date
WO2021052100A1 true WO2021052100A1 (en) 2021-03-25

Family

ID=74883334

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2020/110345 WO2021052100A1 (en) 2019-09-17 2020-08-20 Wayland protocol-based graphics compositing method, apparatus and system, and computer-readable storage medium

Country Status (2)

Country Link
CN (1) CN112527219A (en)
WO (1) WO2021052100A1 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113672321B (en) * 2021-07-26 2023-08-22 中标软件有限公司 Implementation method of lightweight wayside synthesizer supporting client window coordinates
CN113467666B (en) * 2021-09-06 2021-11-16 北京鲸鲮信息系统技术有限公司 Method and device for adjusting application window
CN115131488B (en) * 2022-08-31 2022-11-29 麒麟软件有限公司 Method and system for managing display cache in wayland graphic display environment

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120117508A1 (en) * 2010-11-08 2012-05-10 Sony Corporation Window management for an embedded system
CN103268620A (en) * 2013-04-28 2013-08-28 华为技术有限公司 Graphic processing method, graphic processing device and terminal device
CN105701037A (en) * 2015-12-30 2016-06-22 惠州市德赛西威汽车电子股份有限公司 System and method for simultaneously accessing to display controller by weston and DRM in vehicle-mounted entertainment system
CN107292807A (en) * 2016-03-31 2017-10-24 阿里巴巴集团控股有限公司 A kind of figure synthetic method, window method to set up and system
CN107436760A (en) * 2017-06-30 2017-12-05 百度在线网络技术(北京)有限公司 Multiwindow rendering intent and device

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120117508A1 (en) * 2010-11-08 2012-05-10 Sony Corporation Window management for an embedded system
CN103268620A (en) * 2013-04-28 2013-08-28 华为技术有限公司 Graphic processing method, graphic processing device and terminal device
CN105701037A (en) * 2015-12-30 2016-06-22 惠州市德赛西威汽车电子股份有限公司 System and method for simultaneously accessing to display controller by weston and DRM in vehicle-mounted entertainment system
CN107292807A (en) * 2016-03-31 2017-10-24 阿里巴巴集团控股有限公司 A kind of figure synthetic method, window method to set up and system
CN107436760A (en) * 2017-06-30 2017-12-05 百度在线网络技术(北京)有限公司 Multiwindow rendering intent and device

Also Published As

Publication number Publication date
CN112527219A (en) 2021-03-19

Similar Documents

Publication Publication Date Title
WO2021052100A1 (en) Wayland protocol-based graphics compositing method, apparatus and system, and computer-readable storage medium
TWI585678B (en) Peer-to-peer dynamically appendable logical displays
US9070211B1 (en) Webview tag for a sandboxed multiprocess browser
EP3985658A1 (en) Information display method and apparatus
US8587594B2 (en) Allocating resources based on a performance statistic
WO2018120546A1 (en) Image display method and terminal device
TW201729162A (en) Frame based clock rate adjustment for processing unit
US10062141B2 (en) Server-based fast remote display on client devices
CN114741044B (en) Cross-operation environment display output sharing method based on heterogeneous rendering
US20140111528A1 (en) Server-Based Fast Remote Display on Client Devices
KR102282365B1 (en) Method and apparatus for displaying composition screen by composing the OS screens
US9466089B2 (en) Apparatus and method for combining video frame and graphics frame
US8860740B2 (en) Method and apparatus for processing a display driver in virture desktop infrastructure
US11249771B2 (en) Terminal input invocation
WO2017206893A1 (en) Interface refresh synchronization method and apparatus, terminal, and storage medium
JP2005018613A (en) Information processor, method for controlling window display and program
US20190317716A1 (en) Video display method, electronic device and computer program product thereof
WO2017084351A1 (en) Android platform-based black and white screen display method, device and intelligent terminal
US20180052700A1 (en) Facilitation of guest application display from host operating system
US20160011754A1 (en) Method and system for virtualized sensors in a multi-sensor environment
US20220050795A1 (en) Data processing method, apparatus, and device
EP3522530A1 (en) System performance improvement method, system performance improvement device and display device
WO2019228228A1 (en) Data caching method, data processing method, computer device, storage medium
US6888550B2 (en) Selecting between double buffered stereo and single buffered stereo in a windowing system
CN112988294B (en) Method and device for optimizing virtual pointer of RH850 liquid crystal instrument

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 20866790

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 20866790

Country of ref document: EP

Kind code of ref document: A1

32PN Ep: public notification in the ep bulletin as address of the adressee cannot be established

Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC (EPO FORM 1205A DATED 30.08.2022)

122 Ep: pct application non-entry in european phase

Ref document number: 20866790

Country of ref document: EP

Kind code of ref document: A1