Display method, system, device and equipment and storage medium
By determining the occlusion information in a multi-window rendering scene and rendering only the unobstructed window part, the problem of excessive rendering load of electronic devices is solved, achieving more efficient rendering and smooth user experience.
Patent Information
- Application Number
- CN202510515164.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-04-22
- Publication Date
- 2025-08-01
AI Technical Summary
In multi-window rendering scenarios, the rendering load of electronic devices increases, resulting in slow operation, lag and frame drops, reducing rendering quality and efficiency.
By determining the occlusion information of the window to be rendered, only the unoccluded parts are rendered, reducing rendering overhead, and using the node processing mechanism of the view tree to avoid rendering the occluded areas.
Reduce rendering load, avoid lags and frame drops, improve rendering quality and efficiency, and improve the smooth operation of electronic devices.
Smart Images

Figure CN120407066A_ABST
Abstract
Description
Technical Field
[0001] This application belongs to the technical field of electronic devices, and particularly relates to a display method, system, device, equipment, and storage medium. Background Art
[0002] With the development of electronic device technology, electronic devices such as single-screen, double-foldable screen, and triple-foldable screen have emerged. Electronic devices can provide a multi-window function, enabling users to open and operate multiple application or system function windows simultaneously on one electronic device, improving the efficiency and convenience of users operating electronic devices. However, in the scenario of multi-window rendering, the rendering load is usually increased, resulting in slow operation of the electronic device, and even phenomena such as stuttering and frame drops, reducing the rendering quality and efficiency. Summary of the Invention
[0003] The purpose of the embodiments of this application is to provide a display method, system, device, equipment, and storage medium, which can reduce the rendering load, avoid stuttering and frame drops, and improve the rendering quality and efficiency.
[0004] In a first aspect, the embodiments of this application provide a display method, including:
[0005] When at least two windows to be rendered are arranged in a stacked manner, determining the occlusion information of a first window to be rendered among the at least two windows to be rendered, where the first window to be rendered is a window located below a second window to be rendered among the at least two windows to be rendered and at least part of its display area is occluded by the second window to be rendered;
[0006] Determining a first node corresponding to the occlusion information from the view tree corresponding to the first window to be rendered;
[0007] Displaying a first window after rendering the first window to be rendered according to the graphics rendering data of a second node in the view tree, where the second node is a node other than the first node in the view tree.
[0008] In a second aspect, the embodiments of this application provide a display system, including an application layer and a framework layer; the application layer includes a view tree corresponding to a first window to be rendered, and the framework layer includes a window service module and a view module; where
[0009] The window service module is configured to determine the occlusion information of a first window to be rendered among at least two windows to be rendered when the at least two windows to be rendered are arranged in a stacked manner, where the first window to be rendered is a window located below a second window to be rendered among the at least two windows to be rendered and at least part of its display area is occluded by the second window to be rendered;
[0010] The application layer is configured to determine a first node corresponding to the occlusion information from the view tree corresponding to the first window to be rendered;
[0011] A view module, configured to display a first window after rendering of a first window to be rendered according to the graphic rendering data of a second node in a view tree, where the second node is a node in the view tree other than the first node.
[0012] In a third aspect, an embodiment of the present application provides a display device, including:
[0013] A determination module, configured to determine occlusion information of a first window to be rendered in at least two windows to be rendered when the at least two windows to be rendered are arranged in a stacked manner, where the first window to be rendered is a window located below a second window to be rendered in the at least two windows to be rendered and at least part of whose display area is occluded by the second window to be rendered;
[0014] The determination module is further configured to determine a first node corresponding to the occlusion information from the view tree corresponding to the first window to be rendered;
[0015] A display module, configured to display a first window after rendering of a first window to be rendered according to the graphic rendering data of a second node in a view tree, where the second node is a node in the view tree other than the first node.
[0016] In a fourth aspect, an embodiment of the present application provides an electronic device, which includes a processor, a memory, and a program or instruction stored on the memory and executable on the processor. When the program or instruction is executed by the processor, the steps of the display method shown in the first aspect are implemented.
[0017] In a fifth aspect, an embodiment of the present application provides a readable storage medium, on which a program or instruction is stored. When the program or instruction is executed by a processor, the steps of the display method shown in the first aspect are implemented.
[0018] In a sixth aspect, an embodiment of the present application provides a chip, which includes a processor and a display interface. The display interface is coupled to the processor, and the processor is configured to run a program or instruction to implement the steps of the display method shown in the first aspect.
[0019] In a seventh aspect, an embodiment of the present application provides a computer program product, which is stored in a storage medium and is executed by at least one processor to implement the steps of the display method shown in the first aspect.
[0020] In an embodiment of the present application, when at least two windows to be rendered are arranged in a stacked manner, occlusion information of a first window to be rendered among the at least two windows to be rendered is determined, where the first window to be rendered is a window that is located below a second window to be rendered among the at least two windows to be rendered and at least part of whose display area is occluded by the second window to be rendered; a first node corresponding to the occlusion information is determined from the view tree corresponding to the first window to be rendered; a first window after rendering the first window to be rendered is displayed according to the graphic rendering data of a second node in the view tree, where the second node is a node other than the first node in the view tree. In this way, when at least two windows to be rendered are arranged in a stacked manner and part of the windows to be rendered are occluded, the occluded part can be not rendered, reducing the rendering overhead, lowering the rendering load, avoiding the phenomena of freezing and frame dropping, improving the rendering quality and efficiency, and enhancing the smoothness of the operation of the electronic device. BRIEF DESCRIPTION OF THE DRAWINGS
[0021] FIG. 1(a) is a schematic structural diagram of a display system provided by an embodiment of the present application;
[0022] FIG. 1(b) is a schematic structural diagram of a multi-window management module in a display system provided by an embodiment of the present application;
[0023] Figure 2 is a flowchart of a display method provided by an embodiment of the present application;
[0024] Figure 3 is a schematic diagram of multi-window display of an electronic device for a display method provided by an embodiment of the present application;
[0025] Figure 4 is a schematic diagram for determining whether at least two windows to be rendered are arranged in a stacked manner for a display method provided by an embodiment of the present application;
[0026] Figure 5 is a schematic diagram of border dividing lines of windows to be rendered for a display method provided by an embodiment of the present application;
[0027] Figure 6 is a schematic diagram of a view tree for a display method provided by an embodiment of the present application;
[0028] Figure 7 is a flowchart of the interaction between the WMS side and the UI process for a display method provided by an embodiment of the present application;
[0029] Figure 8 is a flowchart of the interaction between the WMS side and the UI process for a display method provided by an embodiment of the present application;
[0030] Figure 9 is a schematic structural diagram of a display device provided by an embodiment of the present application;
[0031] Figure 10 A structural schematic diagram of an electronic device provided by an embodiment of the present application;
[0032] Figure 11 A hardware structural schematic diagram of an electronic device provided by an embodiment of the present application. Specific implementation manners
[0033] Next, the technical solutions in the embodiments of the present application will be clearly described in conjunction with the accompanying drawings in the embodiments of the present application. Obviously, the described embodiments are part of the embodiments of the present application, rather than all the embodiments. Based on the embodiments in the present application, all other embodiments obtained by those of ordinary skill in the art belong to the scope of protection of the present application.
[0034] The terms "first", "second", etc. in the specification and claims of the present application are used to distinguish similar objects, rather than to describe a specific order or sequence. It should be understood that such terms can be interchanged under appropriate circumstances so that the embodiments of the present application can be implemented in an order other than those illustrated or described herein, and the objects distinguished by "first", "second", etc. are generally of the same type, and the number of objects is not limited. For example, the first object can be one or multiple. In addition, "and / or" in the specification and claims means at least one of the connected objects, and the character " / " generally indicates an "or" relationship between the associated objects before and after.
[0035] In the related art, an electronic device renders a window through a rendering pipeline mechanism. However, in the scenario of multi-window rendering, the foregoing method will increase the rendering load, resulting in slow operation of the electronic device, and even phenomena such as freezing and frame drops, reducing the rendering quality and efficiency.
[0036] To solve the problems in the related art, an embodiment of the present application provides a display method, system, device, equipment, and storage medium, which can be oriented to the multi-window rendering scenario, optimize the graphics rendering and drawing process mechanism, and realize that in the case where at least two to-be-rendered windows are stacked and arranged so that some to-be-rendered windows are blocked, the blocked parts can be not rendered, reducing the rendering overhead, reducing the rendering load, avoiding phenomena such as freezing and frame drops, improving the rendering quality and efficiency, and improving the smoothness of the operation of the electronic device.
[0037] Before elaborating on the display method provided by the embodiment of the present application through specific embodiments and their application scenarios, the technical terms in the embodiment of the present application will be elaborated in detail.
[0038] In the embodiments of the present application, the Multi-window function refers to the function of simultaneously opening and operating multiple windows on an electronic device, where the window can be at least one of the windows of the operating system functions and the windows of the application functions. This function can be implemented on different operating systems and applications. Especially when multiple tasks need to be processed simultaneously, it can provide users with higher flexibility and work efficiency.
[0039] The Application Layer is the seventh layer of the Open Systems Interconnection (OSI) model and is also the layer closest to the user. It can directly provide network services for users and applications, and is used to handle communication and data exchange between applications.
[0040] The Framework Layer is an intermediate layer between the Application Layer and the operating system, providing standardized interfaces and tools to simplify application development and manage underlying resources.
[0041] A window refers to the basic interface unit for interacting with users in the operating system of an electronic device. It is a rectangular area that contains elements such as a title bar, menu bar, toolbar, work area, status bar, etc. The window can display elements and interact with users through these elements to complete various operation tasks. If the window is a rectangular area, the window has four sides, and the work area is in the middle, where users can view the displayed content and perform various operations.
[0042] A window to be rendered refers to a window in embedded system or graphical interface development that has prepared window data but has not completed the graphical rendering and drawing operation.
[0043] A view tree refers to a structure in which interface elements are organized in a tree structure in the user interface framework. In the user interface framework, the view tree consists of various nodes. The view tree describes the parent-child relationships of each node on the window, including labels, texts, images, etc., thus constructing a hierarchical structure to represent the layout and interaction of window elements. In the embodiments of the present application, the view tree corresponds to a window one by one, and the window can correspond to an application one by one or the window corresponds to a system function one by one.
[0044] A node is the basic unit of a view tree and is used to represent a visual element in the user interface. These elements can be buttons, text boxes, picture views, etc. Each node has its own attributes, such as position, size, color, content, etc. These attributes define the performance and interaction method of the node on the window. For example, a button node may contain text attributes and click event handling functions, while a picture view node may contain picture resources and display size information.
[0045] The stacked arrangement of at least two windows to be rendered means that at least two windows to be rendered are arranged on the screen in a partially overlapping manner.
[0046] Based on this, in combination with FIGS. 1 to Figure 8 , the display system and method provided by the embodiments of the present application will be described in detail through specific embodiments and their application scenarios.
[0047] First, a display system provided by an embodiment of the present application will be described in detail with reference to FIG. 1(a).
[0048] FIG. 1(a) is a schematic structural diagram of a display system provided by an embodiment of the present application.
[0049] As shown in FIG. 1(a), the display system includes an application layer and a framework layer. Among them, the application layer includes a view tree, and the view tree includes a view tree corresponding to each of at least two windows to be rendered. Specifically, the view tree may include a view tree corresponding to a first window to be rendered. The framework layer includes a window service module and a view module.
[0050] Among them, the Window Manager Service (WMS) is used to determine the occlusion information of a first window to be rendered among at least two windows to be rendered when the at least two windows to be rendered are stacked. The first window to be rendered is a window located below a second window to be rendered among the at least two windows to be rendered and at least part of whose display area is occluded by the second window to be rendered.
[0051] Exemplarily, the window map array of the WMS records the state information (window State) of each window to be rendered, such as the display area and display position of the window to be rendered in the interface, and saves the state information of each window to be rendered in the occluded Rects array. When the new occlusion information of the window to be rendered in the occluded Rects array corresponding to the first window to be rendered changes, it can be determined that the first window to be rendered is occluded by other windows to be rendered, such as the second window to be rendered. At this time, the changed occlusion information in the occluded Rects array corresponding to the first window to be rendered can be determined as the occlusion information of the first window to be rendered. At this time, the User Interface (UI) process of the first application corresponding to the first window to be rendered in the application program module can be notified, so that the UI process traverses the view tree corresponding to the window to be rendered, such as the first window to be rendered, to determine the first node corresponding to the occlusion information in the view tree corresponding to the first window to be rendered.
[0052] Therefore, only when the UI process receives the occlusion information of the first window to be rendered sent by the WMS will it trigger traversing the view tree, which can reduce the computing resources for the UI process to frequently traverse the view tree.
[0053] The application layer is used to determine, from the view tree corresponding to the first window to be rendered, the first node corresponding to the occlusion information. Exemplarily, the first application corresponds to a view tree. Traversing the view tree can obtain the node data of the first window to be rendered. For example, traversing the view tree corresponding to the first application will obtain the nodes (Render Nodes) under the root node (view Root Impl) of at least one view hierarchy corresponding to the controls on the first application, so as to record the second nodes not associated with the occlusion information in the rectangle (rects) matrix array and exclude the second nodes associated with the occlusion information, that is, occluding the first node.
[0054] The view module is used to display the first window after rendering the first window to be rendered according to the graphic rendering data of the second nodes in the view tree, where the second nodes are the nodes other than the first nodes in the view tree. In addition, the view module can also be used to occlude the first nodes in the view tree to obtain an occluded view tree; through the rendering pipeline mechanism, render the second nodes in the occluded view tree to obtain the graphic rendering data of the second nodes. Exemplarily, the second nodes can be rendered through the rendering service in the view module to obtain the graphic rendering data of the second nodes, and display the first window according to the graphic rendering data of the second nodes.
[0055] In this way, in the case where at least two windows to be rendered are stacked and some windows to be rendered are occluded, the occluded parts can not be rendered, reducing the rendering overhead, lowering the rendering load, avoiding the phenomena of jamming and frame dropping, improving the rendering quality and efficiency, and improving the smoothness of the operation of the electronic device.
[0056] In some embodiments, the framework layer further includes a multi-window management module. The multi-window management module can be used to obtain and store the information of the border dividing lines of multiple windows and multiple windows to be rendered, such as the positions of the border dividing lines, to determine whether the multiple windows to be rendered are stacked. Specifically, the multi-window management module can be used to determine that at least two windows to be rendered are stacked according to at least two border dividing lines of each window to be rendered among at least two windows to be rendered.
[0057] Exemplarily, the electronic device is a large window. When the user starts multiple applications, the multi-window mode can be triggered, and the to-be-rendered windows of each application are nested in the screen window to wait to be rendered and then displayed. Based on this, the multi-window management module is used to determine whether there is occlusion between the multiple to-be-rendered windows of the multiple applications opened by the user. Specifically, it will first manage each task corresponding to each to-be-rendered window through the multi-window management module, and record the position of the border dividing line of each to-be-rendered window, and determine whether there is overlap between the to-be-rendered windows based on the position of the border dividing line of each to-be-rendered window.
[0058] It should be noted that in the embodiment of the present application, a unified management module based on the full-screen size (Multi Lands Config Manager) is newly added to the multi-window management module. As shown in Figure 1(b), each window corresponds to a task, and each task corresponds to a division strategy of the border dividing line. When the state of the window changes, such as when the state of the window changes to enter multi-window, exit multi-window, display multi-window, hide multi-window, transparent multi-window, delete multi-window, etc., the window can be determined as a to-be-rendered window, and the position of the border dividing line of each to-be-rendered window can be obtained through the new input management code such as the getMultiDividerPoint() method under the Task class and the Multi Task InfoManager class in the unified management module based on the full-screen size.
[0059] Here, the border dividing line of the to-be-rendered window is actually hidden and invisible to the user, and it will be displayed only when the user interface is set to display. Here, obtaining the position of its border dividing line is to quickly determine whether at least two to-be-rendered windows are arranged in an overlapping manner.
[0060] In this way, by adding a unified management module based on the full-screen size to the framework layer, a mechanism for obtaining the position information of the border dividing line can be provided through the newly added unified management module based on the full-screen size, so as to quickly determine whether at least two to-be-rendered windows are arranged in an overlapping manner, determine the occluded part in the first to-be-rendered window, and avoid rendering the occluded part, reducing the rendering overhead and rendering load.
[0061] Specifically, in some embodiments, the multi-window management module can be used to determine that at least two to-be-rendered windows are arranged in an overlapping manner when at least one border dividing line among at least two border dividing lines of the first to-be-rendered window intersects with at least one border dividing line among at least two border dividing lines of the second to-be-rendered window.
[0062] In some other embodiments, the multi-window management module may be used to determine at least two edge points of the first window to be rendered according to at least two border dividing lines of the first window to be rendered; in the case that the second window to be rendered includes at least one of the at least two edge points, it is determined that at least two windows to be rendered are arranged in a stacked manner.
[0063] Thus, the border dividing lines of the windows to be rendered can be used to determine whether at least two windows to be rendered are arranged in a stacked manner. In the case that at least two windows to be rendered are arranged in a stacked manner and some windows to be rendered are blocked, the blocked parts can be not rendered, reducing communication and rendering overheads, reducing the rendering load, avoiding stuttering and frame dropping phenomena, improving the rendering quality and efficiency, and improving the smoothness of the operation of the electronic device.
[0064] In some embodiments, the application layer further includes an application process module, and the application process module includes the main process of the first application corresponding to the first window to be rendered; wherein, the application process module is used to determine the first application corresponding to the first window to be rendered according to the first window to be rendered; and through the main process of the first application, traverse the nodes in the view tree corresponding to the first application according to the occlusion information to obtain the first node corresponding to the occlusion information.
[0065] In this way, when the main process of the first application corresponding to the first window to be rendered receives communication from the WMS for necessary node occlusion processing, it traverses and calculates the view tree corresponding to the first window to be rendered to divide the first node corresponding to the occlusion information and the second node corresponding to the non-occlusion information, so as to not render the first node and only render the second node, reducing the rendering overhead, reducing the rendering load, avoiding stuttering and frame dropping phenomena, improving the rendering quality and efficiency, and improving the smoothness of the operation of the electronic device.
[0066] Secondly, in combination with Figure 2 A display method provided by an embodiment of the present application will be described in detail.
[0067] Figure 2 It is a flowchart of a display method provided by an embodiment of the present application.
[0068] As Figure 2 shown, the display method provided by an embodiment of the present application can be applied to the above display system, and this display system can be deployed in an electronic device. Based on this, the display method may include the following steps:
[0069] Step 210, when at least two windows to be rendered are arranged in a stacked manner, determine the occlusion information of a first window to be rendered among the at least two windows to be rendered, where the first window to be rendered is a window located below a second window to be rendered among the at least two windows to be rendered and at least a partial display area of which is occluded by the second window to be rendered; Step 220, determine a first node corresponding to the occlusion information from the view tree corresponding to the first window to be rendered; Step 230, display a first window after rendering the first window to be rendered according to the graphics rendering data of a second node in the view tree, where the second node is a node other than the first node in the view tree.
[0070] Exemplarily, the electronic device in the embodiments of the present application may be a single-screen electronic device, a double-foldable screen electronic device, and a triple-foldable screen electronic device. As Figure 3 shown, on the far left is the case of a single-screen electronic device for single-screen display. In the single-screen display interface, there are 3 windows to be rendered, namely, the window to be rendered of Application 1, the window to be rendered of Application 2, and the window to be rendered of Application 3. It can be seen that the window to be rendered of Application 1 is occluded by the window to be rendered of Application 2 and the window to be rendered of Application 3, and the window to be rendered of Application 2 is occluded by the window to be rendered of Application 3, which may represent that the 3 windows to be rendered are arranged in a stacked manner.
[0071] Continuing to refer to Figure 3 , the middle figure is the unfolded state of a double-foldable screen electronic device. In the case of double-screen display of this double-screen electronic device, there are 3 windows to be rendered in the double-screen display interface, namely, the window to be rendered of Application 1, the window to be rendered of Application 2, and the window to be rendered of Application 3. It can be seen that the window to be rendered of Application 1 is occluded by the window to be rendered of Application 2 and the window to be rendered of Application 3, and the window to be rendered of Application 2 is occluded by the window to be rendered of Application 3, which may represent that the 3 windows to be rendered are arranged in a stacked manner.
[0072] Continuing to refer to Figure 3 , the figure on the far right is the unfolded state of a triple-foldable screen electronic device. In the case of triple-screen display of this triple-screen electronic device, there are 3 windows to be rendered in the triple-screen display interface, namely, the window to be rendered of Application 1, the window to be rendered of Application 2, and the window to be rendered of Application 3. It can be seen that the window to be rendered of Application 1 is occluded by the window to be rendered of Application 2 and the window to be rendered of Application 3, and the window to be rendered of Application 2 is occluded by the window to be rendered of Application 3, which may represent that the 3 windows to be rendered are arranged in a stacked manner.
[0073] Based on this, when at least two windows to be rendered are arranged in a stacked manner, as Figure 4As shown in the figure, taking a dual-fold screen electronic device as an example, the window to be rendered of Application 3 occludes the windows to be rendered of Application 1 and Application 2. The windows to be rendered of Application 1 and Application 2 are located below the window to be rendered of Application 3, and the A display area in the window to be rendered of Application 1 is occluded by the window to be rendered of Application 3, and the B display area in the window to be rendered of Application 2 is occluded by the window to be rendered of Application 3. Based on this, the windows to be rendered of Application 1 and Application 2 can be used as the first windows to be rendered, and the window to be rendered of Application 3 can be determined as the second window to be rendered. Then, the area of the A display area and the display elements such as images, texts, etc. in the A display area are determined as the occlusion information 1 of the window to be rendered of Application 1, and the area of the B display area and the display elements such as images, texts, etc. in the B display area are determined as the occlusion information 2 of the window to be rendered of Application 2.
[0074] Next, a first node 1 corresponding to the occlusion information 1 is determined from the view tree 1 corresponding to the window to be rendered of Application 1, and a first node 2 corresponding to the occlusion information 2 is determined from the view tree 2 corresponding to the window to be rendered of Application 2.
[0075] Then, according to the graphic rendering data of the second node 1 other than the first node 1 in the view tree 1, the first window 1 after rendering the window to be rendered of Application 1 is displayed; and according to the graphic rendering data of the second node 2 other than the first node 2 in the view tree 2, the first window 2 after rendering the window to be rendered of Application 2 is displayed.
[0076] In this way, when at least two windows to be rendered are arranged in a stacked manner and part of the windows to be rendered are occluded, the occluded parts can be not rendered, reducing the rendering overhead, reducing the rendering load, avoiding the phenomena of lag and frame drop, improving the rendering quality and efficiency, and improving the fluency of the operation of the electronic device.
[0077] The above steps are described in detail below, as shown specifically as follows.
[0078] First, regarding step 210, in some embodiments, the occlusion information includes at least one of the following: the area of the occluded area in the first window to be rendered, the display elements in the occluded area. Based on this, for different contents in this occlusion information, step 210 can specifically include step 2101, step 2102 or step 2103, as shown specifically as follows.
[0079] Step 2101, when at least two windows to be rendered are arranged in a stacked manner and the occlusion information includes the area of the occluded area in the first window to be rendered, determine the area of the occluded area in the first window to be rendered according to the overlapping area of the first window to be rendered and the second window to be rendered.
[0080] Exemplarily, it can be referred toFigure 4 As shown, taking a double-fold screen electronic device as an example, the window to be rendered of Application 3 obscures the windows to be rendered of Application 1 and Application 2. The windows to be rendered of Application 1 and Application 2 are located below the window to be rendered of Application 3, and the A display area in the window to be rendered of Application 1 is obscured by the window to be rendered of Application 3, and the B display area in the window to be rendered of Application 2 is obscured by the window to be rendered of Application 3. Based on this, the area of the A display area can be determined as the area of the obscured area of the window to be rendered of Application 1, and the area of the B display area can be determined as the area of the obscured area of the window to be rendered of Application 2.
[0081] Step 2102, when at least two windows to be rendered are arranged in a stacked manner and the occlusion information includes the display elements in the obscured area, determine the display elements in the obscured area according to the display elements of the first window to be rendered.
[0082] Exemplarily, determine the display elements such as images, texts, etc. in the A display area as the display elements of Application 1 in the obscured area, and determine the display elements such as images, texts, etc. in the B display area as the display elements of Application 2 in the obscured area.
[0083] Step 2103, when at least two windows to be rendered are arranged in a stacked manner and the occlusion information includes the area of the obscured area in the first window to be rendered and the display elements in the obscured area, determine the area of the obscured area in the first window to be rendered according to the overlapping area of the first window to be rendered and the second window to be rendered; and, determine the display elements in the obscured area according to the display elements of the first window to be rendered.
[0084] Exemplarily, refer to Figure 4 As shown, taking a double-fold screen electronic device as an example, the window to be rendered of Application 3 obscures the windows to be rendered of Application 1 and Application 2. The windows to be rendered of Application 1 and Application 2 are located below the window to be rendered of Application 3, and the A display area in the window to be rendered of Application 1 is obscured by the window to be rendered of Application 3, and the B display area in the window to be rendered of Application 2 is obscured by the window to be rendered of Application 3. Based on this, the area of the A display area can be determined as the area of the obscured area of the window to be rendered of Application 1, and the area of the B display area can be determined as the area of the obscured area of the window to be rendered of Application 2. And, determine the display elements such as images, texts, etc. in the A display area as the display elements of Application 1 in the obscured area, and determine the display elements such as images, texts, etc. in the B display area as the display elements of Application 2 in the obscured area.
[0085] In this way, occlusion information can be obtained so that the main processes of Application 1 and Application 2 can traverse the nodes in the view trees corresponding to their respective applications to determine the first node corresponding to the occlusion information, thereby achieving not rendering the first node corresponding to the occluded part and only rendering the second node corresponding to the unoccluded part, reducing the rendering overhead, lowering the rendering load, avoiding the phenomena of freezing and frame drops, improving the rendering quality and efficiency, and enhancing the smoothness of the electronic device operation.
[0086] In some embodiments of the present application, before step 210, the display method may further include a step of determining whether at least two windows to be rendered are arranged in a stacked manner. Based on this, the display method may further include step 240 of determining that at least two windows to be rendered are arranged in a stacked manner according to the border dividing lines of each window to be rendered among the at least two windows to be rendered.
[0087] Exemplarily, as Figure 5 shown, the window to be rendered may be a rectangular area. Taking the window to be rendered of Application 1 as an example, the border dividing lines of the window to be rendered of Application 1 may include at least the following two, that is, the border dividing lines of the window to be rendered of Application 1 include border dividing line ①, border dividing line ②, border dividing line ③, and border dividing line ④. The border dividing lines of the windows to be rendered of other applications such as Application 2 and Application 3 are the same as those of the window to be rendered of Application 1 and will not be elaborated here.
[0088] Specifically, the following two ways of determining that at least two windows to be rendered are arranged in a stacked manner based on at least two border dividing lines of the window to be rendered are provided as follows.
[0089] In some embodiments, step 240 may specifically include step 2401 of determining that at least two windows to be rendered are arranged in a stacked manner when at least one border dividing line among at least two border dividing lines of the first window to be rendered intersects with at least one border dividing line among at least two border dividing lines of the second window to be rendered.
[0090] Exemplarily, still referring to Figure 4, taking the rendering window to be rendered of Application 1 as an example for illustration. If at least two border dividing lines of the rendering window to be rendered of Application 1 are Border Dividing Lines ① and ② of Application 1, then, as long as one of the border dividing lines ① and ② intersects at least one of the border dividing lines ①, ②, ③, and ④ of Application 3, it can be determined that the rendering window to be rendered of Application 1 and the rendering window to be rendered of Application 3 are arranged in a stacked manner. If at least two border dividing lines of the rendering window to be rendered of Application 1 are Border Dividing Lines ② and ④ of Application 1, then both of the border dividing lines ② and ④ need to intersect at least two of the border dividing lines ①, ②, ③, and ④ of Application 3 to determine that the rendering window to be rendered of Application 1 and the rendering window to be rendered of Application 3 are arranged in a stacked manner.
[0091] Thus, through the position information acquisition mechanism of the newly added border dividing lines in the framework layer, it is possible to quickly determine whether at least two rendering windows to be rendered are arranged in a stacked manner, so as to determine the occluded part in the first rendering window to be rendered, and achieve not rendering the occluded part, reducing the rendering overhead and rendering load.
[0092] In some other embodiments, step 240 may specifically include step 2402 and step 2403.
[0093] Step 2402, determine at least two edge points of the first rendering window to be rendered according to at least two border dividing lines of the first rendering window to be rendered.
[0094] Step 2403, in the case that the second rendering window to be rendered includes at least one of the at least two edge points, determine that the at least two rendering windows to be rendered are arranged in a stacked manner.
[0095] Exemplarily, still referring to Figure 5, through the border dividing lines of the windows to be rendered of Application 1, Application 2, and Application 3, it can be determined that there is no occlusion between the windows to be rendered of Application 1 and Application 2, and there is occlusion between the window to be rendered of Application 3 and the windows to be rendered of Application 1 and Application 2 respectively. Each window to be rendered among the windows to be rendered of Application 1, Application 2, and Application 3 has 4 border dividing lines. For example, the 4 border dividing lines corresponding to the up, down, left, and right of the window to be rendered of Application 1 are ①, ②, ③, and ④ respectively. The positions of the upper left edge point and the lower right edge point of the window to be rendered of Application 1 can be obtained through any two of these border dividing lines. For example, through the upper left edge point and the lower right edge point of Application 1 and the positions of the upper left edge point and the lower right edge point of the window to be rendered of Application 3, if it is obtained that the upper left edge point of the window to be rendered of Application 3 is within the window to be rendered of Application 1, it can be determined that the window to be rendered of Application 3 and the window to be rendered of Application 1 are arranged in a stacked manner. In the same way, it can be determined that the windows to be rendered of Application 1 and Application 2 are not arranged in a stacked manner. There is a stacked arrangement between the window to be rendered of Application 2 and the window to be rendered of Application [the specific application here is not clear in the original text].
[0096] Thus, through the position information acquisition mechanism of the newly added border dividing lines in the framework layer, it is possible to quickly determine whether at least two windows to be rendered are arranged in a stacked manner, so as to determine the occluded part in the first window to be rendered, and achieve not rendering the occluded part, reducing the rendering overhead and rendering load.
[0097] Secondly, regarding step 220, in some embodiments, before step 220, the display method may further include step 250 of determining a first application corresponding to the first window to be rendered according to the first window to be rendered.
[0098] Based on this, step 220 may specifically include:
[0099] Through the main process of the first application, traverse the nodes in the view tree corresponding to the first application according to the occlusion information to obtain a first node corresponding to the occlusion information.
[0100] Exemplarily, taking the window to be rendered of Application 1 as an example of the first window to be rendered for illustration. As Figure 6 shown, the first application is Application 1, and the view tree corresponding to Application 1 can be obtained. This view tree can be as Figure 6 shown. Traversing this view tree, the first node corresponding to the occlusion information can be determined, such as node 7, node 8, and node 9.
[0101] In this way, the occluded part and the non-occluded part can be distinguished, and the occluded part can be not rendered, reducing communication and rendering overhead, reducing the rendering load, avoiding the phenomena of lag and frame drop, improving the rendering quality and efficiency, and improving the smoothness of the operation of the electronic device.
[0102] Then, regarding step 230, in some embodiments, before step 230, the display method may further include step 2601 and step 2602.
[0103] Step 2601, occlude the first node in the view tree to obtain an occluded view tree.
[0104] Exemplarily, the portions of the rendering window of application 1 and the rendering window of application 2 occluded by the rendering window of application 3 are display areas A and B, and the occluded display areas are not visible to the user. Therefore, the first nodes related to display areas A and B can be occluded to reduce the resources for rendering the first nodes.
[0105] In the embodiments of the present application, occlusion may refer to freezing the display elements in the first node or removing the first node from the view tree to ensure that the view module does not render the first node.
[0106] Step 2602, render the second node in the occluded view tree through the rendering pipeline mechanism to obtain the graphic rendering data of the second node.
[0107] Exemplarily, when the UI process receives the occlusion information, in the prepare stage of the rendering pipeline mechanism, each view tree is traversed to obtain the first node, and the first node is occluded to obtain an occluded view tree. Through the rendering service, i.e., Render Node Draw OP, Figure 6 perform an overlay process on the nodes in except for nodes 7, 8, and 9 to obtain the graphic rendering data of the second node. Here, Overlay refers to a rendering mode for displaying a two-dimensional interface. In the Overlay mode, UI elements are directly rendered onto the screen.
[0108] Thus, the occluded portion can be not rendered, reducing the rendering overhead, lowering the rendering load, avoiding the phenomena of stuttering and frame dropping, improving the rendering quality and efficiency, and enhancing the smoothness of the operation of the electronic device.
[0109] Next, in conjunction with Figures 7 to 9 a detailed description of the display method provided by the embodiments of the present application is given as follows.
[0110] As Figure 7As shown, for the scenarios of single-screen electronic devices, double-foldable screen electronic devices, or triple-foldable screen electronic devices, on the WMS side, if it is detected that multiple applications are in at least one of the following situations, step 1 is executed. Among them, at least one situation includes that multiple applications enter the small window or split-screen multi-window mode; the states of the windows of multiple applications in the small window or split-screen multi-window mode change, that is, enter the multi-window, exit the multi-window, display the multi-window, hide the multi-window, make the multi-window transparent, delete the multi-window, etc.; the operation movements of multiple applications in the small window or split-screen multi-window mode change, for example, being dragged by the user so that the display position of the window changes. Step 1, WMS can determine the window of the application as the window to be rendered, and based on the border dividing lines of each window to be rendered, determine whether at least two windows to be rendered are arranged in a stacked manner. Specifically, the steps involved in the above step 220 can be referred to, which will not be elaborated here. If it is determined that at least two windows to be rendered are arranged in a stacked manner, step 2 is executed. Conversely, if it is determined that at least two windows to be rendered are not arranged in a stacked manner, it ends.
[0111] Step 2, as Figure 8 shown, WMS can obtain the occlusion information of the first window to be rendered among at least two windows to be rendered through the occuledRects object in the windowState class from the mWindowMap storage object.
[0112] In this way, through inter-process communication, WMS can send the occlusion information to the UI process of the first application corresponding to the first window to be rendered. Specifically, as Figure 8 shown, the view tree corresponding to the first window to be rendered can be notified to the UI process through the Binder communication mechanism.
[0113] Step 3, as Figure 8 shown, after receiving the occlusion information, the UI process traverses the view tree corresponding to the first application in the prepare stage of frame drawing. Specifically, the view tree can traverse the RootRenderNode of the view tree through the viewRootImpl implementation class.
[0114] Step 4, the UI process determines whether there is a first node corresponding to the occlusion information in the view tree. If so, step 5 is executed. Conversely, if not, it ends.
[0115] Step 5, occlude the first node in the view tree to obtain an occluded view tree.
[0116] Step 6, the UI process can render the second node in the occluded view tree through the rendering pipeline mechanism to obtain the graphic rendering data of the second node.
[0117] In this way, during the instruction processing stage and the instruction submission stage of the over-rendering drawing pipeline mechanism, the drawing instructions for occlusion culling are reduced, the number of drawing instructions is decreased, the operations of redundant instructions are reduced, the rendering overhead is reduced, and the rendering load is decreased. When multiple applications are used in cooperation, the phenomena of freezing and frame dropping are avoided, the rendering quality and efficiency are improved, and the smoothness of the operation of the electronic device is enhanced.
[0118] In the embodiment of the present application, the execution subject of the provided display method may be a display device. In the embodiment of the present application, taking the display device as an example to execute the display, the device of the display method provided by the embodiment of the present application is described.
[0119] Based on the same inventive concept, the present application further provides a display device. Specifically, it is described in detail in combination with Figure 7 for detailed description.
[0120] Figure 9 FIG. is a schematic structural diagram of a display device provided by an embodiment of the present application.
[0121] As Figure 9 shown, the display device 90 may be applied to an electronic device, and the display device 90 may specifically include:
[0122] A determination module 901, configured to determine the occlusion information of a first to-be-rendered window among at least two to-be-rendered windows when the at least two to-be-rendered windows are arranged in a stacked manner, where the first to-be-rendered window is a window located below a second to-be-rendered window among the at least two to-be-rendered windows and at least part of the display area thereof is occluded by the second to-be-rendered window;
[0123] The determination module 901 is further configured to determine a first node corresponding to the occlusion information from the view tree corresponding to the first to-be-rendered window;
[0124] A display module 902, configured to display a first window after rendering the first to-be-rendered window according to the graphics rendering data of a second node in the view tree, where the second node is a node other than the first node in the view tree.
[0125] The display device 90 in the embodiment of the present application is described in detail below, as specifically shown below.
[0126] In some embodiments of the present application, the determination module 901 is further configured to determine that the at least two to-be-rendered windows are arranged in a stacked manner according to the border dividing lines of each to-be-rendered window among the at least two to-be-rendered windows.
[0127] In some embodiments of the present application, the determination module 901 may specifically be configured to determine that the at least two to-be-rendered windows are arranged in a stacked manner when at least one border dividing line among at least two border dividing lines of the first to-be-rendered window intersects at least one border dividing line among at least two border dividing lines of the second to-be-rendered window.
[0128] In some embodiments of the present application, the determining module 901 may specifically be configured to determine at least two edge points of the first window to be rendered according to at least two border dividing lines of the first window to be rendered;
[0129] In the case that the second window to be rendered includes at least one of the at least two edge points, determine that the at least two windows to be rendered are stacked.
[0130] In some embodiments of the present application, the determining module 901 may specifically be configured to, when the occlusion information includes at least one of the following: the area of the occluded area in the first window to be rendered, the display elements in the occluded area, and in the case that the at least two windows to be rendered are stacked, determine the area of the occluded area in the first window to be rendered according to the overlapping area of the first window to be rendered and the second window to be rendered;
[0131] Determine the display elements in the occluded area according to the display elements of the first window to be rendered.
[0132] In some embodiments of the present application, the determining module 901 may specifically be configured to determine a first application corresponding to the first window to be rendered according to the first window to be rendered.
[0133] The display device 90 in the embodiments of the present application may further include a traversing module, configured to traverse the nodes in the view tree corresponding to the first application according to the occlusion information through the main process of the first application to obtain a first node corresponding to the occlusion information.
[0134] In some embodiments of the present application, the display device 90 in the embodiments of the present application may further include an occlusion module, configured to occlude the first node in the view tree to obtain an occluded view tree;
[0135] The display device 90 in the embodiments of the present application may further include a rendering module, configured to render the second node in the occluded view tree through a rendering pipeline mechanism to obtain the graphic rendering data of the second node.
[0136] The display device in the embodiments of the present application may be an electronic device or a component in an electronic device, such as an integrated circuit or a chip. The electronic device may be a terminal or other devices other than terminals. Exemplarily, the electronic device may be a mobile phone, a tablet computer, a laptop computer, a handheld computer, a vehicle-mounted electronic device, a Mobile Internet Device (MID), an augmented reality (AR) / virtual reality (VR) device, a robot, a wearable device, an ultra-mobile personal computer (UMPC), a netbook, or a personal digital assistant (PDA), etc. It may also be a server, a Network Attached Storage (NAS), a personal computer (PC), a television (TV), a teller machine, or a self-service machine, etc. The embodiments of the present application do not make specific limitations.
[0137] The display device in the embodiments of the present application may be a device with an operating system. The operating system may be an Android operating system, an IOS operating system, or other possible operating systems. The embodiments of the present application do not make specific limitations.
[0138] The device cooperation device provided in the embodiments of the present application can implement each process implemented by the display method embodiments shown in FIGS. 1 to Figure 8 and achieve the same technical effects. To avoid repetition, it will not be elaborated here.
[0139] Based on this, the display device provided in the embodiments of the present application can be used to determine the occlusion information of a first window to be rendered among at least two windows to be rendered when at least two windows to be rendered are arranged in a stacked manner, where the first window to be rendered is a window located below a second window to be rendered among at least two windows to be rendered and at least a part of the display area is occluded by the second window to be rendered; determine a first node corresponding to the occlusion information from the view tree corresponding to the first window to be rendered; and display the first window after rendering the first window to be rendered according to the graphics rendering data of a second node in the view tree, where the second node is a node other than the first node in the view tree. In this way, when at least two windows to be rendered are arranged in a stacked manner and some windows to be rendered are occluded, the occluded part can be not rendered, reducing the rendering overhead, reducing the rendering load, avoiding the phenomena of stuttering and frame dropping, improving the rendering quality and efficiency, and improving the smoothness of the operation of the electronic device.
[0140] Optionally, as Figure 10As shown in the figure, an embodiment of the present application further provides an electronic device 100, including a processor 1001 and a memory 1002. A program or instruction that can run on the processor 1001 is stored on the memory 1002. When the program or instruction is executed by the processor 1001, it implements the steps of the above display method embodiment and can achieve the same technical effects. To avoid repetition, it will not be elaborated here.
[0141] It should be noted that the electronic devices in the embodiments of the present application include the above-mentioned mobile electronic devices and non-mobile electronic devices.
[0142] Figure 11 It is a schematic diagram of the hardware structure of an electronic device provided by an embodiment of the present application.
[0143] The electronic device 1100 includes but is not limited to: a radio frequency unit 1101, a network module 1102, an audio output unit 1103, an input unit 1104, a sensor 1105, a display unit 1106, a user input unit 1107, an interface unit 1108, a memory 1109, a processor 1110, and other components.
[0144] Those skilled in the art can understand that the electronic device 1100 may further include a power source (such as a battery) for supplying power to each component. The power source can be logically connected to the processor 1110 through a power management system, so as to implement functions such as management of charging, discharging, and power consumption management through the power management system. Figure 11 The structure of the electronic device shown in the figure does not constitute a limitation on the electronic device. The electronic device may include more or fewer components than shown in the figure, or combine certain components, or have different component arrangements, which will not be elaborated here.
[0145] Among them, in the embodiment of the present application, the processor 1110 can be used to determine the occlusion information of a first to-be-rendered window among the at least two to-be-rendered windows when the at least two to-be-rendered windows are stacked. The first to-be-rendered window is a window located below a second to-be-rendered window among the at least two to-be-rendered windows and at least part of the display area of which is occluded by the second to-be-rendered window. The processor 1110 can also be used to determine a first node corresponding to the occlusion information from the view tree corresponding to the first to-be-rendered window. The display unit 1106 is used to display the first window after rendering the first to-be-rendered window according to the graphic rendering data of a second node in the view tree, and the second node is a node other than the first node in the view tree.
[0146] The following will elaborate on the electronic device 1100 in the embodiment of the present application in detail, as shown below.
[0147] In some embodiments of the present application, the processor 1110 is further configured to determine that at least two windows to be rendered are arranged in a stacked manner according to the border dividing lines of each window to be rendered among at least two windows to be rendered.
[0148] In some embodiments of the present application, the processor 1110 may specifically be configured to determine that at least two windows to be rendered are arranged in a stacked manner when at least one border dividing line among at least two border dividing lines of a first window to be rendered intersects at least one border dividing line among at least two border dividing lines of a second window to be rendered.
[0149] In some embodiments of the present application, the processor 1110 may specifically be configured to determine at least two edge points of a first window to be rendered according to at least two border dividing lines of the first window to be rendered;
[0150] When the second window to be rendered includes at least one of the at least two edge points, determine that at least two windows to be rendered are arranged in a stacked manner.
[0151] In some embodiments of the present application, the processor 1110 may specifically be configured to, when the occlusion information includes at least one of the following: the area of the occluded region in the first window to be rendered, the display elements in the occluded region, and at least two windows to be rendered are arranged in a stacked manner, determine the area of the occluded region in the first window to be rendered according to the overlapping area of the first window to be rendered and the second window to be rendered;
[0152] Determine the display elements in the occluded region according to the display elements of the first window to be rendered.
[0153] In some embodiments of the present application, the processor 1110 may specifically be configured to determine a first application corresponding to the first window to be rendered according to the first window to be rendered.
[0154] Through the main process of the first application, traverse the nodes in the view tree corresponding to the first application according to the occlusion information to obtain a first node corresponding to the occlusion information.
[0155] In some embodiments of the present application, the processor 1110 is further configured to occlude the first node in the view tree to obtain an occluded view tree;
[0156] Render the second node in the occluded view tree through a rendering pipeline mechanism to obtain the graphic rendering data of the second node.
[0157] It should be understood that the input unit 1104 may include a Graphics Processing Unit (GPU) 11041 and a microphone 11042. The GPU 11041 processes the image data of still images or videos obtained by an image capturing device (such as a camera) in a video capturing mode or an image capturing mode. The display unit 1106 may include a display panel, and the display panel may be configured in the form of a liquid crystal display, an organic light emitting diode, etc. The user input unit 1107 includes at least one of a touch panel 11071 and other input devices 11072. The touch panel 11071 is also referred to as a touch screen. The touch panel 11071 may include two parts: a touch detection device and a touch display. The other input devices 11072 may include, but are not limited to, a physical keyboard, function keys (such as volume display keys, switch keys, etc.), a trackball, a mouse, and a joystick, which will not be elaborated here.
[0158] The memory 1109 can be used to store software programs and various data. The memory 1109 mainly includes a first storage area for storing programs or instructions and a second storage area for storing data. Among them, the first storage area can store an operating system, applications or instructions required for at least one function (such as a sound playback function, an image playback function, etc.). In addition, the memory 1109 can include a volatile memory or a non-volatile memory, or the memory 1109 can include both a volatile memory and a non-volatile memory. Among them, the non-volatile memory can be a Read-Only Memory (ROM), a Programmable ROM (PROM), an Erasable PROM (EPROM), an Electrically EPROM (EEPROM), or a flash memory. The volatile memory can be a Random Access Memory (RAM), a Static RAM (SRAM), a Dynamic RAM (DRAM), a Synchronous DRAM (SDRAM), a Double Data Rate SDRAM (DDR SDRAM), an Enhanced SDRAM (ESDRAM), a Synch link DRAM (SLDRAM), and a Direct Rambus RAM (DRRAM). The memory 1109 in the embodiments of the present application includes, but is not limited to, these and any other suitable types of memories.
[0159] The processor 1110 may include one or more processing units; optionally, the processor 1110 integrates an application processor and a modem processor. Among them, the application processor mainly processes operations related to the operating system, user interface, applications, etc., and the modem processor mainly processes wireless display signals, such as a baseband processor. It can be understood that the above modem processor may not be integrated into the processor 1110 either.
[0160] The embodiment of the present application further provides a readable storage medium, on which a program or instruction is stored. When the program or instruction is executed by a processor, it implements each process of the above display method embodiment and can achieve the same technical effect. To avoid repetition, it will not be elaborated here.
[0161] Among them, the processor is the processor in the electronic device in the above embodiment. Among them, the readable storage medium includes a computer-readable storage medium, such as a computer read-only memory ROM, a random access memory RAM, a magnetic disk, or an optical disc, etc.
[0162] In addition, the embodiment of the present application further provides a chip, which includes a processor and a display interface. The display interface is coupled to the processor. The processor is used to run a program or instruction to implement each process of the above display method embodiment and can achieve the same technical effect. To avoid repetition, it will not be elaborated here.
[0163] It should be understood that the chip mentioned in the embodiment of the present application may also be referred to as a system-on-chip, system chip, chip system, or system-on-chip, etc.
[0164] The embodiment of the present application provides a computer program product, which is stored in a storage medium. The program product is executed by at least one processor to implement each process of the above display method embodiment and can achieve the same technical effect. To avoid repetition, it will not be elaborated here.
[0165] It should be noted that in this article, the term "including", "comprising", or any other variant thereof is intended to cover non-exclusive inclusion, so that a process, method, article, or device including a series of elements not only includes those elements, but also includes other elements not expressly listed, or further includes elements inherent to such process, method, article, or device. Without further limitation, an element defined by the statement "including one..." does not exclude the existence of another identical element in the process, method, article, or device including that element.
[0166] In addition, it should be noted that the scope of the methods and apparatuses in the embodiments of the present application is not limited to performing functions in the order shown or discussed. It may also include performing functions in a substantially simultaneous manner or in the reverse order according to the functions involved. For example, the described methods may be performed in an order different from that described, and various steps may be added, omitted, or combined. Additionally, the features described with reference to certain examples may be combined in other examples.
[0167] Through the description of the above embodiments, those skilled in the art can clearly understand that the above-described example methods can be implemented by means of software plus a necessary general hardware platform. Of course, they can also be implemented by hardware, but in many cases the former is a better implementation. Based on such an understanding, the technical solution of the present application, in essence, or the part that contributes to the prior art, can be embodied in the form of a computer software product. The computer software product is stored in a storage medium (such as ROM / RAM, magnetic disk, optical disk) and includes several instructions for causing a terminal (which may be a mobile phone, computer, server, or network device, etc.) to execute the methods of the various embodiments of the present application.
[0168] The embodiments of the present application have been described above with reference to the accompanying drawings. However, the present application is not limited to the above specific embodiments. The above specific embodiments are merely illustrative and not restrictive. Under the inspiration of the present application, those of ordinary skill in the art can also make many forms without departing from the purpose of the present application and the scope protected by the claims, and all of them belong to the protection scope of the present application.
Claims
1. A display method, characterized in that, Including: When at least two windows to be rendered are arranged in a stacked manner, determining occlusion information of a first window to be rendered among the at least two windows to be rendered, where the first window to be rendered is a window located below a second window to be rendered among the at least two windows to be rendered and at least part of its display area is occluded by the second window to be rendered; Determining a first node corresponding to the occlusion information from a view tree corresponding to the first window to be rendered; Displaying a first window after rendering the first window to be rendered according to graphic rendering data of a second node in the view tree, where the second node is a node other than the first node in the view tree.
2. The method according to claim 1, wherein The method further includes: Determining that the at least two windows to be rendered are arranged in a stacked manner according to border dividing lines of each window to be rendered among the at least two windows to be rendered.
3. The method according to claim 2, wherein The determining that the at least two windows to be rendered are arranged in a stacked manner according to border dividing lines of each window to be rendered among the at least two windows to be rendered includes: When at least one border dividing line among at least two border dividing lines of the first window to be rendered intersects with at least one border dividing line among at least two border dividing lines of the second window to be rendered, determining that the at least two windows to be rendered are arranged in a stacked manner.
4. The method according to claim 2, wherein The determining that the at least two windows to be rendered are arranged in a stacked manner according to border dividing lines of each window to be rendered among the at least two windows to be rendered includes: Determining at least two edge points of the first window to be rendered according to at least two border dividing lines of the first window to be rendered; When the second window to be rendered includes at least one of the at least two edge points, determining that the at least two windows to be rendered are arranged in a stacked manner.
5. The method according to claim 1, characterized in that, The occlusion information includes at least one of the following: the area of the occluded area in the first window to be rendered, and display elements in the occluded area; The determining the occlusion information of the first window to be rendered among the at least two windows to be rendered when the at least two windows to be rendered are arranged in a stacked manner includes: When the at least two windows to be rendered are arranged in a stacked manner and the occlusion information includes the area of the occluded area in the first window to be rendered, determining the area of the occluded area in the first window to be rendered according to the overlapping area of the first window to be rendered and the second window to be rendered; When the at least two windows to be rendered are arranged in a stacked manner and the occlusion information includes display elements in the occluded area, determining the display elements in the occluded area according to the display elements of the first window to be rendered; When the at least two windows to be rendered are arranged in a stacked manner and the occlusion information includes the area of the occluded area in the first window to be rendered and display elements in the occluded area, determining the area of the occluded area in the first window to be rendered according to the overlapping area of the first window to be rendered and the second window to be rendered; and determining the display elements in the occluded area according to the display elements of the first window to be rendered.
6. The method according to claim 1, wherein Before determining the first node corresponding to the occlusion information from the view tree corresponding to the first window to be rendered, the method further includes: Determine a first application corresponding to the first window to be rendered according to the first window to be rendered; The determining the first node corresponding to the occlusion information from the view tree corresponding to the first window to be rendered includes: Traverse the nodes in the view tree corresponding to the first application by the main process of the first application according to the occlusion information to obtain a first node corresponding to the occlusion information.
7. The method according to claim 1, characterized in that, Before displaying the first window after rendering the first window to be rendered according to the graphic rendering data of the second node in the view tree, the method further includes: Occlude the first node in the view tree to obtain an occluded view tree; Render the second node in the occluded view tree through a rendering pipeline mechanism to obtain the graphic rendering data of the second node.
8. A display system, characterized in that, Includes an application layer and a framework layer; the application layer includes a view tree corresponding to a first window to be rendered, and the framework layer includes a window service module and a view module; wherein, The window service module is configured to determine the occlusion information of the first window to be rendered in the at least two windows to be rendered when the at least two windows to be rendered are stacked, and the first window to be rendered is a window located below the second window to be rendered in the at least two windows to be rendered and at least part of the display area is occluded by the second window to be rendered; The application layer is configured to determine a first node corresponding to the occlusion information from the view tree corresponding to the first window to be rendered; The view module is configured to display the first window after rendering the first window to be rendered according to the graphic rendering data of the second node in the view tree, and the second node is a node other than the first node in the view tree.
9. The system according to claim 8, wherein The framework layer further includes a multi-window management module configured to determine the stacking arrangement of the at least two windows to be rendered according to at least two border dividing lines of each window to be rendered in the at least two windows to be rendered.
10. The system according to claim 8, wherein The application layer further includes an application process module, and the application process module includes the main process of a first application corresponding to the first window to be rendered; wherein, The application process module is configured to determine a first application corresponding to the first window to be rendered according to the first window to be rendered; Traverse the nodes in the view tree corresponding to the first application by the main process of the first application according to the occlusion information to obtain a first node corresponding to the occlusion information.
11. A display device, characterized in that, Includes: A determination module configured to determine the occlusion information of the first window to be rendered in the at least two windows to be rendered when the at least two windows to be rendered are stacked, and the first window to be rendered is a window located below the second window to be rendered in the at least two windows to be rendered and at least part of the display area is occluded by the second window to be rendered; The determination module is further configured to determine a first node corresponding to the occlusion information from the view tree corresponding to the first window to be rendered; A display module, configured to display a first window after rendering the first window to be rendered according to the graphic rendering data of a second node in the view tree, where the second node is a node in the view tree other than the first node.
12. An electronic device, characterized in that, It includes: A processor, a memory, and a program or instruction stored on the memory and executable on the processor. When the program or instruction is executed by the processor, the steps of the display method according to any one of claims 1-7 are implemented.
13. A readable storage medium, characterized in that, A program or instruction is stored on the readable storage medium. When the program or instruction is executed by the processor, the steps of the display method according to any one of claims 1-7 are implemented.
14. A computer program product, characterized in that, The program product is stored in a storage medium. The program product is executed by at least one processor to implement the steps of the display method according to any one of claims 1-7.