Graph rendering operation management method and device, electronic equipment and storage medium

By adjusting the merging strategy in graphics rendering operations and determining the overlap of sub-operations, the problem of frequent merging failures in graphics rendering operations was solved, thereby improving the rendering efficiency of the graphics processor and the performance of the device system.

CN121962375APending Publication Date: 2026-05-01BEIJING XIAOMI MOBILE SOFTWARE CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
BEIJING XIAOMI MOBILE SOFTWARE CO LTD
Filing Date
2024-10-29
Publication Date
2026-05-01

AI Technical Summary

Technical Problem

In existing technologies, graphics rendering operations fail to merge frequently, which makes it impossible to effectively reduce the number of drawing calls and increases the computational burden on the central processing unit.

Method used

By identifying candidate operations from unmerged graphics rendering operations and determining whether sub-operations overlap when merging fails, the merging strategy is adjusted to reduce the number of drawing calls and improve the rendering efficiency of the graphics processor.

Benefits of technology

It reduces the frequency of merge failures in graphics rendering operations, reduces the number of drawing calls, reduces CPU overhead, and improves the graphics rendering performance of the device system.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121962375A_ABST
    Figure CN121962375A_ABST
Patent Text Reader

Abstract

The invention relates to a graphic rendering operation management method and device, electronic equipment and a storage medium, and the method comprises the steps: determining a candidate GrOP in unmerged graphic rendering operations GrOP, and merging the candidate GrOP with a current GrOP; in response to the fact that the combination of the candidate GrOP and the current GrOP fails and any one sub-GrOP of the candidate GrOP is overlapped with any one sub-GrOP of the current GrOP, the current GrOP is sent to a drawing device, the candidate GrOP is obtained by combining all the sub-GrOPs of the candidate GrOP, and the current GrOP is obtained by combining all the sub-GrOPs of the current GrOP; and in response to the condition that the combination of the candidate GrOP and the current GrOP fails and each sub-GrOP of the candidate GrOP is not overlapped with each sub-GrOP of the current GrOP, re-determining the candidate GrOP in the uncombined GrOP, and combining the re-determined candidate GrOP with the current GrOP.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This disclosure relates to the field of image processing technology, specifically to a method and apparatus for managing graphics rendering operations, an electronic device, and a storage medium. Background Technology

[0002] Among the various functions of electronic devices such as smartphones and tablets, the display function is both fundamental and crucial. Generally, the central processing unit (CPU) of an electronic device assigns display-related image rendering tasks to the graphics processing unit (GPU) to leverage the GPU's advantages in image rendering while reducing the computational burden on the CPU. The CPU sends image rendering tasks to the GPU via draw calls, which are operations initiated by the processor in the rendering pipeline to submit drawing instructions to the GPU.

[0003] Electronic devices often use Graphic Rendering Operations (GrOPs) to represent the drawing calls submitted by the central processing unit (CPU) to the graphics processing unit (GPU). The CPU can merge multiple GrOPs to reduce the number of drawing calls. However, in related technologies, merging GrOPs often fails frequently, making it impossible to effectively reduce the number of drawing calls. Summary of the Invention

[0004] To overcome the problems existing in the related technologies, the present disclosure provides a method and apparatus for managing graphics rendering operations, an electronic device and a storage medium, in order to solve the defects in the related technologies.

[0005] According to a first aspect of the present disclosure, a method for managing graphics rendering operations is provided, the method comprising:

[0006] In the unmerged graphics rendering operation GrOP, candidate GrOPs are identified and merged with the current GrOP;

[0007] In response to the failure to merge the candidate GrOP with the current GrOP, and the overlap between any sub-GrOP of the candidate GrOP and any sub-GrOP of the current GrOP, the current GrOP is sent to the rendering device. The candidate GrOP is obtained by merging all the sub-GrOPs of the candidate GrOP, and the current GrOP is obtained by merging all the sub-GrOPs of the current GrOP.

[0008] In response to the failure to merge the candidate GrOP with the current GrOP, and the fact that each sub-GrOP of the candidate GrOP does not overlap with each sub-GrOP of the current GrOP, a new candidate GrOP is determined from the unmerged GrOPs and then merged with the current GrOP.

[0009] In one possible embodiment of this disclosure, the method further includes:

[0010] In response to the failure to merge the candidate GrOP with the current GrOP, and the overlap between any sub-GrOP of the candidate GrOP and any sub-GrOP of the current GrOP, the candidate GrOP is determined as the current GrOP.

[0011] In one possible embodiment of this disclosure, the method further includes:

[0012] In response to the successful merging of the candidate GrOP with the current GrOP, the current GrOP is updated based on the merging result of the candidate GrOP and the current GrOP, and the candidate GrOP is deleted.

[0013] In one possible embodiment of this disclosure, the method further includes:

[0014] In response to the failure of merging the candidate GrOP with the current GrOP, whether there is overlap between each sub-GrOP of the candidate GrOP and each sub-GrOP of the current GrOP is determined in the following manner, until there is overlap between any sub-GrOP of the candidate GrOP and any sub-GrOP of the current GrOP, or no overlap between any sub-GrOP of the candidate GrOP and any sub-GrOP of the current GrOP:

[0015] Each sub-GrOP of the candidate GrOP is sequentially taken as a GrOP to be combined, and for each GrOP to be combined, it is determined whether the GrOP to be combined overlaps with each sub-GrOP of the current GrOP.

[0016] In one possible embodiment of this disclosure, determining whether the GrOP to be combined overlaps with the sub-GrOPs of the current GrOP includes:

[0017] Determine whether the region corresponding to the GrOP to be combined overlaps with the region corresponding to the sub-GrOP of the current GrOP.

[0018] In one possible embodiment of this disclosure, the region corresponding to the GrOP to be combined is rectangular, circular, triangular, polygonal, or irregular in shape;

[0019] The regions corresponding to the child GrOPs of the current GrOP are rectangular, circular, triangular, polygonal, or irregular in shape.

[0020] In one possible embodiment of this disclosure, when the region corresponding to the GrOP to be combined is rectangular and the region corresponding to the sub-GrOP of the current GrOP is also rectangular, determining whether the GrOP to be combined overlaps with the sub-GrOP of the current GrOP includes:

[0021] In response to the following conditions: the right boundary of the region corresponding to the GrOP to be combined is not less than the left boundary of the region corresponding to the sub-GrOP of the current GrOP; the lower boundary of the region corresponding to the GrOP to be combined is not less than the upper boundary of the region corresponding to the sub-GrOP of the current GrOP; the left boundary of the region corresponding to the GrOP to be combined is not greater than the right boundary of the region corresponding to the sub-GrOP of the current GrOP; and the upper boundary of the region corresponding to the GrOP to be combined is not greater than the lower boundary of the region corresponding to the sub-GrOP of the current GrOP, it is determined that the GrOP to be combined overlaps with the sub-GrOP of the current GrOP.

[0022] Otherwise, it is determined that the GrOP to be combined does not overlap with the sub-GrOPs of the current GrOP.

[0023] In one possible embodiment of this disclosure, determining candidate GrOPs among unmerged graphics rendering operations GrOPs includes:

[0024] Identify candidate GrOPs in the GrOPs of the drawing task manager.

[0025] In one possible embodiment of this disclosure, the drawing device includes a graphics processor.

[0026] According to a second aspect of the present disclosure, a management apparatus for graphics rendering operations is provided, the apparatus comprising:

[0027] The candidate determination module is used to determine candidate GrOPs in unmerged graphics rendering operations GrOPs and merge the candidate GrOPs with the current GrOP;

[0028] The merge termination module is used to respond to the failure of merging the candidate GrOP with the current GrOP, and the overlap between any sub-GrOP of the candidate GrOP and any sub-GrOP of the current GrOP, by sending the current GrOP to the rendering device. The candidate GrOP is obtained by merging all sub-GrOPs of the candidate GrOP, and the current GrOP is obtained by merging all sub-GrOPs of the current GrOP.

[0029] The merging iteration module is used to respond to the failure of merging the candidate GrOP with the current GrOP, and the fact that each sub-GrOP of the candidate GrOP does not overlap with each sub-GrOP of the current GrOP, to redetermine the candidate GrOP from the unmerged GrOPs and merge the redetermined candidate GrOP with the current GrOP.

[0030] In one possible embodiment of this disclosure, the apparatus further includes an updating module for:

[0031] In response to the failure to merge the candidate GrOP with the current GrOP, and the overlap between any sub-GrOP of the candidate GrOP and any sub-GrOP of the current GrOP, the candidate GrOP is determined as the current GrOP.

[0032] In one possible embodiment of this disclosure, the apparatus further includes an updating module for:

[0033] In response to the successful merging of the candidate GrOP with the current GrOP, the current GrOP is updated based on the merging result of the candidate GrOP and the current GrOP, and the candidate GrOP is deleted.

[0034] In one possible embodiment of this disclosure, the apparatus further includes an overlap determination module, configured to:

[0035] In response to the failure of merging the candidate GrOP with the current GrOP, whether there is overlap between each sub-GrOP of the candidate GrOP and each sub-GrOP of the current GrOP is determined in the following manner, until there is overlap between any sub-GrOP of the candidate GrOP and any sub-GrOP of the current GrOP, or no overlap between any sub-GrOP of the candidate GrOP and any sub-GrOP of the current GrOP:

[0036] Each sub-GrOP of the candidate GrOP is sequentially taken as a GrOP to be combined, and for each GrOP to be combined, it is determined whether the GrOP to be combined overlaps with each sub-GrOP of the current GrOP.

[0037] In one possible embodiment of this disclosure, when the overlap determination module is used to determine whether the GrOP to be combined overlaps with the sub-GrOPs of the current GrOP, it is used to:

[0038] Determine whether the region corresponding to the GrOP to be combined overlaps with the region corresponding to the sub-GrOP of the current GrOP.

[0039] In one possible embodiment of this disclosure, the region corresponding to the GrOP to be combined is rectangular, circular, triangular, polygonal, or irregular in shape;

[0040] The regions corresponding to the child GrOPs of the current GrOP are rectangular, circular, triangular, polygonal, or irregular in shape.

[0041] In one possible embodiment of this disclosure, when the region corresponding to the GrOP to be combined is rectangular and the region corresponding to the sub-GrOP of the current GrOP is also rectangular, the overlap determination module is used to determine whether the GrOP to be combined overlaps with the sub-GrOP of the current GrOP by:

[0042] In response to the following conditions: the right boundary of the region corresponding to the GrOP to be combined is not less than the left boundary of the region corresponding to the sub-GrOP of the current GrOP; the lower boundary of the region corresponding to the GrOP to be combined is not less than the upper boundary of the region corresponding to the sub-GrOP of the current GrOP; the left boundary of the region corresponding to the GrOP to be combined is not greater than the right boundary of the region corresponding to the sub-GrOP of the current GrOP; and the upper boundary of the region corresponding to the GrOP to be combined is not greater than the lower boundary of the region corresponding to the sub-GrOP of the current GrOP, it is determined that the GrOP to be combined overlaps with the sub-GrOP of the current GrOP.

[0043] Otherwise, it is determined that the GrOP to be combined does not overlap with the sub-GrOPs of the current GrOP.

[0044] In one possible embodiment of this disclosure, the candidate determination module is used to:

[0045] Identify candidate GrOPs in the GrOPs of the drawing task manager.

[0046] In one possible embodiment of this disclosure, the drawing device includes a graphics processor.

[0047] According to a third aspect of the present disclosure, a computer program product is provided, including a computer program / instructions that, when executed by a processor, implement the methods described in any of the above embodiments.

[0048] According to a fourth aspect of the present disclosure, an electronic device is provided, the electronic device including a memory and a processor, the memory being used to store computer instructions executable on the processor, and the processor being used to implement the method described in any of the above embodiments when executing the computer instructions.

[0049] According to a fifth aspect of the present disclosure, a computer-readable storage medium is provided having a computer program stored thereon, which, when executed by a processor, implements the methods described in any of the above embodiments.

[0050] The technical solutions provided by the embodiments of this disclosure may include the following beneficial effects:

[0051] The graphics rendering operation management method provided in this disclosure merges unmerged GrOPs with the current GrOP sequentially by identifying candidate GrOPs from among the unmerged GrOPs. This allows for merging as many GrOPs as possible into the current GrOP that is about to be used for rendering, thereby reducing the number of rendering calls. Furthermore, if a merging failure occurs, the method determines whether to end the GrOP merging operation within the current rendering call by judging whether each sub-GrOP of the candidate GrOP overlaps with each sub-GrOP of the current GrOP. That is, the merging operation within the current rendering call only ends when there is overlap between the sub-GrOPs of the two. Therefore, compared to related technologies that determine whether to end the GrOP merging operation within the current rendering call by judging whether there is overlap between the candidate GrOP and the current GrOP, this method reduces the frequency of merging failures, decreases the number of rendering calls, reduces the overhead of the central processing unit, and improves the rendering efficiency of the graphics processor, thus improving the overall graphics rendering performance of the device system. Attached Figure Description

[0052] The accompanying drawings, which are incorporated in and form part of this specification, illustrate embodiments consistent with the invention and, together with the description, serve to explain the principles of the invention.

[0053] Figure 1 This is a flowchart illustrating a method for managing graphics rendering operations according to an exemplary embodiment of this disclosure;

[0054] Figure 2 This is a schematic diagram illustrating the logic between the modules performing graphics rendering operations according to an exemplary embodiment of this disclosure;

[0055] Figure 3 This is a schematic diagram illustrating a scenario of merging the current GrOP and candidate GrOPs in an exemplary embodiment of this disclosure;

[0056] Figure 4 This is a schematic diagram illustrating the merging of Drawcalls according to an exemplary embodiment of this disclosure;

[0057] Figure 5 This is a schematic diagram illustrating an exemplary embodiment of the present disclosure, showing that there is an overlap between the regions corresponding to GrOP;

[0058] Figure 6 This is a schematic diagram of a rectangular region shown in an exemplary embodiment of this disclosure;

[0059] Figure 7 This is a schematic diagram of the structure of a management device for graphics rendering operations as illustrated in an exemplary embodiment of this disclosure;

[0060] Figure 8This is a structural block diagram of an electronic device illustrated in an exemplary embodiment of the present disclosure. Detailed Implementation

[0061] Exemplary embodiments will now be described in detail, examples of which are illustrated in the accompanying drawings. When the following description relates to the drawings, unless otherwise indicated, the same numerals in different drawings denote the same or similar elements. The embodiments described in the following exemplary embodiments do not represent all embodiments consistent with this disclosure. Rather, they are merely examples of apparatuses and methods consistent with some aspects of this disclosure as detailed in the appended claims.

[0062] The terminology used in this disclosure is for the purpose of describing particular embodiments only and is not intended to be limiting of the disclosure. The singular forms “a,” “the,” and “the” as used in this disclosure and the appended claims are also intended to include the plural forms unless the context clearly indicates otherwise. It should also be understood that the term “and / or” as used herein refers to and includes one or more of the associated listed items, any or all possible combinations thereof.

[0063] It should be understood that although the terms first, second, third, etc., may be used in this disclosure to describe various information, such information should not be limited to these terms. These terms are used only to distinguish information of the same type from one another. For example, without departing from the scope of this disclosure, first information may also be referred to as second information, and similarly, second information may also be referred to as first information. Depending on the context, the word "if" as used herein may be interpreted as "when," "when," or "in response to determination."

[0064] In related technologies, when merging GrOPs, the central processing unit (CPU) often determines whether the two GrOPs to be merged overlap if the merge fails. If overlap exists, the merging operation of GrOPs within the current draw call is stopped, and the result of the previous successful merge (i.e., the current GrOP mentioned below) is sent to the graphics processor as the draw call. This method of determining whether to stop the merging operation of GrOPs within the current draw call is rather coarse, leading to situations where merging other GrOPs could have been continued without further attempts, thus increasing the number of draw calls.

[0065] Based on this, in a first aspect, at least one embodiment of the present disclosure provides a method for managing graphics rendering operations. This method can be applied to the central processing unit of electronic devices such as smartphones and tablets, so that the central processing unit can merge as many graphics rendering operations as possible each time it issues a drawing call to the graphics processor, thereby reducing the number of drawing calls.

[0066] For example, this method can be accomplished by the cooperation of GrOP's iterator module, GrOP's merge matching module, and GrOP's overlap region calibration module.

[0067] Please refer to the appendix. Figure 1 The example illustrates the flow of the method, including steps S101 to S103.

[0068] In step S101, candidate GrOPs are determined from the unmerged graphics rendering operations GrOPs, and the candidate GrOPs are merged with the current GrOP.

[0069] In this step, the operation of determining candidate GrOPs can be performed by the GrOP iterator module, and the operation of merging the candidate GrOPs with the current GrOP can be performed by the GrOP merging and matching module.

[0070] The term "Graphics Rendering Operations" refers to these operations. In this manual, "GrOP" refers to a graphics rendering operation. Each GrOP includes specific rendering tasks, such as drawing a triangle, a group of triangles, or a group of line segments.

[0071] Here, the current GrOP is the GrOP that will be sent to the graphics processor in this drawing call. To merge as many GrOPs as possible in the drawing call, as many GrOPs as possible are merged based on the current GrOP. Therefore, the current GrOP can be the first GrOP selected in this drawing call, or the result of the previous GrOP merging operation in this drawing call. For example, if this drawing call selects GrOP1 as the first GrOP, then GrOP1 is the current GrOP; subsequently, GrOP1 and GrOP2 are successfully merged into GrOPMerged, then GrOPMerged is the current GrOP.

[0072] If a current GrOP is obtained by merging multiple GrOPs, then these multiple GrOPs can be referred to as sub-GrOPs of the current GrOP; that is, the current GrOP is obtained by merging all of its sub-GrOPs. Similarly, if a candidate GrOP is obtained by merging multiple GrOPs, then these multiple GrOPs can be referred to as sub-GrOPs of the candidate GrOP; that is, the candidate GrOP is obtained by merging all of its sub-GrOPs.

[0073] Device systems (such as Android) can use a rendering task manager (GrRenderTask) to manage GrOPs within the system. Therefore, this step of identifying candidate GrOPs among unmerged rendering call GrOPs can include: identifying candidate GrOPs from the GrOPs in the rendering task manager. For example, candidate GrOPs can be identified randomly or according to a preset filtering algorithm from the GrOPs in the rendering task manager.

[0074] In step S102, in response to the failure of merging the candidate GrOP with the current GrOP, and the overlap between any sub-GrOP of the candidate GrOP and any sub-GrOP of the current GrOP, the current GrOP is sent to the rendering device. The candidate GrOP is obtained by merging all sub-GrOPs of the candidate GrOP, and the current GrOP is obtained by merging all sub-GrOPs of the current GrOP.

[0075] The rendering device can be a graphics processor.

[0076] Sending the current GrOP to the drawing device means sending the drawing call represented by the current GrOP to the drawing device so that the drawing device can execute the current GrOP.

[0077] This method can also redetermine the current GrOP for the next drawing call, for example, by determining the candidate GrOP as the current GrOP.

[0078] In step S103, in response to the failure to merge the candidate GrOP with the current GrOP, and the fact that each sub-GrOP of the candidate GrOP does not overlap with each sub-GrOP of the current GrOP, a new candidate GrOP is determined from the unmerged GrOPs and merged with the current GrOP.

[0079] The method can also, in response to a successful merger of the candidate GrOP and the current GrOP, update the current GrOP based on the merger result and delete the candidate GrOP. Then, the method is executed based on the updated current GrOP.

[0080] It should be understood that after merging the newly determined candidate GrOP with the current GrOP, step S102 or step S103 can be executed if the merge fails. If the merge succeeds, the current GrOP is updated based on the merge result, and the newly determined candidate GrOP is deleted. Then, the method is executed based on the updated current GrOP.

[0081] It should be understood that steps S102 and S103 both rely on the overlap between each sub-GrOP of the candidate GrOP and each sub-GrOP of the current GrOP as determined by the GrOP overlap detection module. The specific determination method will be described in detail below.

[0082] Please refer to the appendix. Figure 2 The example illustrates the logical diagram of how the GrOP iterator module, GrOP merge matching module, and GrOP overlap detection module work together to complete the method. The GrOP iterator module determines the candidate GrOPs to be merged. The GrOP merge matching module merges the current GrOP with the candidate GrOPs to be merged. If the merge is successful, the current GrOP is updated with the merged GrOPMerged, and the GrOP iterator module redetermines the candidate GrOPs to be merged, and the subsequent steps are executed sequentially. If the merge fails, the GrOP overlap detection module checks whether each sub-GrOP of the current GrOP overlaps with each sub-GrOP of the candidate GrOP to be merged. If there is overlap between the two sub-GrOPs, the GrOP merge ends. If there is no overlap between the two sub-GrOPs, the GrOP iterator module redetermines the candidate GrOPs to be merged, and the subsequent steps are executed sequentially.

[0083] The graphics rendering operation management method provided in this disclosure merges unmerged GrOPs with the current GrOP sequentially by identifying candidate GrOPs from among the unmerged GrOPs. This allows for merging as many GrOPs as possible into the current GrOP that is about to be used for rendering, thereby reducing the number of rendering calls. Furthermore, if a merging failure occurs, the method determines whether to end the GrOP merging operation within the current rendering call by judging whether each sub-GrOP of the candidate GrOP overlaps with each sub-GrOP of the current GrOP. That is, the merging operation within the current rendering call only ends when there is overlap between the sub-GrOPs of the two. Therefore, compared to related technologies that determine whether to end the GrOP merging operation within the current rendering call by judging whether there is overlap between the candidate GrOP and the current GrOP, this method reduces the frequency of merging failures, decreases the number of rendering calls, reduces the overhead of the central processing unit, and improves the rendering efficiency of the graphics processor, thus improving the overall graphics rendering performance of the device system.

[0084] Please refer to the appendix. Figure 3The current GrOPCurr is obtained by merging GrOP1 and GrOP2. If it were to continue merging with GrOP3, according to related technologies, the merging would stop because GrOPCurr and GrOP3 overlap. However, according to this method, since there is no overlap between GrOP1 and GrOP3, and also no overlap between GrOP2 and GrOP3, it would continue to select other GrOPs for merging, thus preventing the merging process from stopping. Therefore, this method reduces the frequency of merging failures, decreases the number of drawing calls, and improves the graphics rendering performance of the device system.

[0085] Please refer to the appendix. Figure 4 The example illustrates a diagram of Drawcall merging. As can be seen, two similar sub-GrOPs that cannot be merged in related technologies can be merged into a single GrOPMerged using this method. This transforms two DrawCalls into a single merged DrawCall submitted to the graphics processor for rendering, thus improving the rendering efficiency of the device system's view system. It should be understood that this example only illustrates the merging of two sub-GrOps; in reality, the number of merged sub-GrOps is much greater, resulting in a more significant effect.

[0086] In some embodiments of this disclosure, in response to the failure of merging the candidate GrOP with the current GrOP, the method determines whether each sub-GrOP of the candidate GrOP overlaps with each sub-GrOP of the current GrOP in the following manner, until there is an overlap between any sub-GrOP of the candidate GrOP and any sub-GrOP of the current GrOP or no overlap between each sub-GrOP of the candidate GrOP and each sub-GrOP of the current GrOP: each sub-GrOP of the candidate GrOP is sequentially taken as a GrOP to be combined, and for each GrOP to be combined, it is determined whether there is an overlap between the GrOP to be combined and each sub-GrOP of the current GrOP.

[0087] For example, let GrOpCurr{SubGrOpCurr1, SubGrOpCurr2, ..., SubGrOpCurrN} represent the current GrOP, where SubGrOpCurr1, SubGrOpCurr2, ..., SubGrOpCurrN are the sub-GrOPs of the current GrOP; let GrOpCandidate{SubGrOpCandidate1, SubGrOpCandidate2, ..., SubGrOpCandidateM} represent the candidate GrOP, where SubGrOpCandidate1, SubGrOpCandidate2, ..., SubGrOpCandidateM are the sub-GrOPs of the candidate GrOP, and N and M are both integers greater than 0. First, select SubGrOpCandidate1 as the GrOP to be combined, and then sequentially determine whether SubGrOpCandidate1 overlaps with each of SubGrOpCurr1, SubGrOpCurr2, ..., SubGrOpCurrN. If no overlap is found, then select SubGrOpCandidate2 as the GrOP to be combined, and sequentially determine whether SubGrOpCandidate2 overlaps with each of SubGrOpCurr1, SubGrOpCurr2, ..., SubGrOpCurrN, and so on, until... The following conditions must be met: any one of SubGrOpCandidate1, SubGrOpCandidate2, ..., SubGrOpCandidateM overlaps with any one of SubGrOpCurr1, SubGrOpCurr2, ..., SubGrOpCurrN; or each of SubGrOpCandidate1, SubGrOpCandidate2, ..., SubGrOpCandidateM does not overlap with any of SubGrOpCurr1, SubGrOpCurr2, ..., SubGrOpCurrN.

[0088] Optionally, determining whether the GrOP to be combined overlaps with the sub-GrOPs of the current GrOP may include: determining whether the region corresponding to the GrOP to be combined overlaps with the region corresponding to the sub-GrOPs of the current GrOP. Here, the region corresponding to the GrOP to be combined refers to the rendering region targeted by the GrOP to be combined, and the region corresponding to the sub-GrOP of the current GrOP refers to the rendering region targeted by the sub-GrOP of the current GrOP. The region corresponding to the GrOP to be combined is rectangular, circular, triangular, polygonal, or irregular in shape; the region corresponding to the sub-GrOP of the current GrOP is also rectangular, circular, triangular, polygonal, or irregular in shape. The region corresponding to the GrOP obtained after merging multiple GrOPs is the union of the regions corresponding to those multiple GrOPs.

[0089] Please refer to the appendix. Figure 5 The example illustrates several cases where overlapping regions exist, wherein in each case, the two regions are the region corresponding to the GrOP to be combined and the region corresponding to the sub-GrOP of the current GrOP.

[0090] Preferably, when the region corresponding to the GrOP to be combined is rectangular, and the region corresponding to the sub-GrOP of the current GrOP is also rectangular, the overlap between the GrOP to be combined and the sub-GrOP of the current GrOP can be determined as follows: if the right boundary of the region corresponding to the GrOP to be combined is not less than the left boundary of the region corresponding to the sub-GrOP of the current GrOP, the lower boundary of the region corresponding to the GrOP to be combined is not less than the upper boundary of the region corresponding to the sub-GrOP of the current GrOP, the left boundary of the region corresponding to the GrOP to be combined is not greater than the right boundary of the region corresponding to the sub-GrOP of the current GrOP, and the upper boundary of the region corresponding to the GrOP to be combined is not greater than the lower boundary of the region corresponding to the sub-GrOP of the current GrOP, then the overlap between the GrOP to be combined and the sub-GrOP of the current GrOP is determined; otherwise, the non-overlapping relationship between the GrOP to be combined and the sub-GrOP of the current GrOP is determined.

[0091] Please refer to the appendix. Figure 6 A rectangular region consists of four vertices. A unique rectangular region can be represented by just two vertices, such as the combination of the top-left vertex and the bottom-right vertex, or the combination of the bottom-left vertex and the top-right vertex.

[0092] The conditions for the overlapping of rectangular regions SubGrOp1 and SubGrOp2 are: SubGrOp1.Right≥SubGrOp2.Left&&SubGrOp1.Bottom≥SubGrOp2.Top&&SubGrOp2.Right≥SubGrOp1.Left&&SubGrOp2.Bottom≥SubGrOp1.Top; where && means that both conditions must be met simultaneously (i.e., AND), that is, if SubGrOp1.Right≥SubGrOp2.Left, SubGrOp1.Bottom≥SubGrOp2.Top, SubGrOp2.Right≥SubGrOp1.Left, and SubGrOp2.Bottom≥SubGrOp1.Top are all satisfied, then it can be determined that the rectangular regions SubGrOp1 and SubGrOp2 overlap.

[0093] According to a second aspect of the present disclosure, a management device for graphics rendering operations is provided, please refer to the appendix. Figure 7 The device includes:

[0094] The candidate determination module 701 is used to determine candidate GrOPs in unmerged graphics rendering operations GrOPs and merge the candidate GrOPs with the current GrOP;

[0095] The merging termination module 702 is used to respond to the failure of merging the candidate GrOP with the current GrOP, and the overlap between any sub-GrOP of the candidate GrOP and any sub-GrOP of the current GrOP, by sending the current GrOP to the rendering device. The candidate GrOP is obtained by merging all sub-GrOPs of the candidate GrOP, and the current GrOP is obtained by merging all sub-GrOPs of the current GrOP.

[0096] The merging iteration module 703 is used to respond to the failure of merging the candidate GrOP with the current GrOP, and the fact that each sub-GrOP of the candidate GrOP does not overlap with each sub-GrOP of the current GrOP, to redetermine the candidate GrOP from the unmerged GrOPs and merge the redetermined candidate GrOP with the current GrOP.

[0097] In one possible embodiment of this disclosure, the apparatus further includes an updating module for:

[0098] In response to the failure to merge the candidate GrOP with the current GrOP, and the overlap between any sub-GrOP of the candidate GrOP and any sub-GrOP of the current GrOP, the candidate GrOP is determined as the current GrOP.

[0099] In one possible embodiment of this disclosure, the apparatus further includes an updating module for:

[0100] In response to the successful merging of the candidate GrOP with the current GrOP, the current GrOP is updated based on the merging result of the candidate GrOP and the current GrOP, and the candidate GrOP is deleted.

[0101] In one possible embodiment of this disclosure, the apparatus further includes an overlap determination module, configured to:

[0102] In response to the failure of merging the candidate GrOP with the current GrOP, whether there is overlap between each sub-GrOP of the candidate GrOP and each sub-GrOP of the current GrOP is determined in the following manner, until there is overlap between any sub-GrOP of the candidate GrOP and any sub-GrOP of the current GrOP, or no overlap between any sub-GrOP of the candidate GrOP and any sub-GrOP of the current GrOP:

[0103] Each sub-GrOP of the candidate GrOP is sequentially taken as a GrOP to be combined, and for each GrOP to be combined, it is determined whether the GrOP to be combined overlaps with each sub-GrOP of the current GrOP.

[0104] In one possible embodiment of this disclosure, when the overlap determination module is used to determine whether the GrOP to be combined overlaps with the sub-GrOPs of the current GrOP, it is used to:

[0105] Determine whether the region corresponding to the GrOP to be combined overlaps with the region corresponding to the sub-GrOP of the current GrOP.

[0106] In one possible embodiment of this disclosure, the region corresponding to the GrOP to be combined is rectangular, circular, triangular, polygonal, or irregular in shape;

[0107] The regions corresponding to the child GrOPs of the current GrOP are rectangular, circular, triangular, polygonal, or irregular in shape.

[0108] In one possible embodiment of this disclosure, when the region corresponding to the GrOP to be combined is rectangular and the region corresponding to the sub-GrOP of the current GrOP is also rectangular, the overlap determination module is used to determine whether the GrOP to be combined overlaps with the sub-GrOP of the current GrOP by:

[0109] In response to the following conditions: the right boundary of the region corresponding to the GrOP to be combined is not less than the left boundary of the region corresponding to the sub-GrOP of the current GrOP; the lower boundary of the region corresponding to the GrOP to be combined is not less than the upper boundary of the region corresponding to the sub-GrOP of the current GrOP; the left boundary of the region corresponding to the GrOP to be combined is not greater than the right boundary of the region corresponding to the sub-GrOP of the current GrOP; and the upper boundary of the region corresponding to the GrOP to be combined is not greater than the lower boundary of the region corresponding to the sub-GrOP of the current GrOP, it is determined that the GrOP to be combined overlaps with the sub-GrOP of the current GrOP.

[0110] Otherwise, it is determined that the GrOP to be combined does not overlap with the sub-GrOPs of the current GrOP.

[0111] In one possible embodiment of this disclosure, the candidate determination module is used to:

[0112] Identify candidate GrOPs in the GrOPs of the drawing task manager.

[0113] In one possible embodiment of this disclosure, the drawing device includes a graphics processor.

[0114] The specific implementation process of the functions and roles of each module in the above device can be found in the implementation process of the corresponding steps in the above method, and will not be repeated here.

[0115] A third aspect of this disclosure provides a computer program product including a computer program / instructions that, when executed by a processor, implement the method described in the first aspect.

[0116] For the device embodiments and computer program product embodiments, since they basically correspond to the method embodiments, the relevant parts can be referred to in the description of the method embodiments. Furthermore, the device embodiments described above are merely illustrative; the modules described as separate components may or may not be physically separate, and the components shown as modules may or may not be physical modules, i.e., they may be located in one place or distributed across multiple network modules. Some or all of the modules can be selected to achieve the purpose of this disclosure according to actual needs. Those skilled in the art can understand and implement this without any inventive effort.

[0117] Fourthly, embodiments of the graphics rendering operation management device provided in this disclosure can be applied to electronic devices. See also... Figure 8 The illustration exemplifies a hardware schematic of an electronic device. For example, device 800 could be a mobile phone, computer, digital broadcasting terminal, messaging device, game console, tablet device, medical device, fitness equipment, personal digital assistant, etc.

[0118] Device 800 may include one or more of the following components: processing component 801, memory 802, power supply component 803, multimedia component 804, audio component 805, input / output (I / O) interface 806, sensor component 808, and communication component 808.

[0119] Processing component 801 typically controls the overall operation of device 800, such as operations associated with display, telephone calls, data communication, camera operation, and recording. Processing component 801 may include one or more processors 809 to execute instructions to complete all or part of the steps of the methods described above. Furthermore, processing component 801 may include one or more modules to facilitate interaction between processing component 801 and other components. For example, processing component 801 may include a multimedia module to facilitate interaction between multimedia component 804 and processing component 801.

[0120] Memory 802 is configured to store various types of data to support the operation of device 800. Examples of this data include instructions for any application or method operating on device 800, contact data, phonebook data, messages, pictures, videos, etc. Memory 802 can be implemented by any type of volatile or non-volatile storage device or a combination thereof, such as static random access memory (SRAM), electrically erasable programmable read-only memory (EEPROM), erasable programmable read-only memory (EPROM), programmable read-only memory (PROM), read-only memory (ROM), magnetic storage, flash memory, magnetic disk, or optical disk.

[0121] The power supply component 803 provides power to the various components of the device 800. The power supply component 803 may include a power management system, one or more power supplies, and other components associated with generating, managing, and distributing power to the device 800.

[0122] Multimedia component 804 includes a screen that provides an output interface between the device 800 and the user. In some embodiments, the screen may include a liquid crystal display (LCD) and a touch panel (TP). If the screen includes a touch panel, the screen may be implemented as a touchscreen to receive input signals from the user. The touch panel includes one or more touch sensors to sense touch, swipe, and gestures on the touch panel. The touch sensors may sense not only the boundaries of the touch or swipe action but also the duration and pressure associated with the touch or swipe operation. In some embodiments, multimedia component 804 includes a front-facing camera and / or a rear-facing camera. When the device 800 is in an operating mode, such as a shooting mode or a video mode, the front-facing camera and / or the rear-facing camera may receive external multimedia data. Each front-facing camera and rear-facing camera may be a fixed optical lens system or have focal length and optical zoom capabilities.

[0123] Audio component 805 is configured to output and / or input audio signals. For example, audio component 805 includes a microphone (MIC) configured to receive external audio signals when device 800 is in an operating mode, such as call mode, recording mode, and voice recognition mode. The received audio signals may be further stored in memory 802 or transmitted via communication component 808. In some embodiments, audio component 805 also includes a speaker for outputting audio signals.

[0124] I / O interface 806 provides an interface between processing component 801 and peripheral interface modules, such as keyboards, click wheels, buttons, etc. These buttons may include, but are not limited to, home buttons, volume buttons, power buttons, and lock buttons.

[0125] Sensor assembly 808 includes one or more sensors for providing status assessments of various aspects of device 800. For example, sensor assembly 808 may detect the on / off state of device 800, the relative positioning of components such as the display and keypad of device 800, changes in the position of device 800 or a component of device 800, the presence or absence of user contact with device 800, the orientation or acceleration / deceleration of device 800, and temperature changes of device 800. Sensor assembly 808 may also include a proximity sensor configured to detect the presence of nearby objects without any physical contact. Sensor assembly 808 may also include a light sensor, such as a CMOS or CCD image sensor, for use in imaging applications. In some embodiments, sensor assembly 808 may also include an accelerometer, a gyroscope, a magnetometer, a pressure sensor, or a temperature sensor.

[0126] Communication component 808 is configured to facilitate wired or wireless communication between device 800 and other devices. Device 800 can access wireless networks based on communication standards, such as WiFi, 2G or 3G, 4G or 5G, or combinations thereof. In one exemplary embodiment, communication component 808 receives broadcast signals or broadcast-related information from an external broadcast management system via a broadcast channel. In one exemplary embodiment, communication component 808 also includes a near-field communication (NFC) module to facilitate short-range communication. For example, the NFC module may be implemented based on radio frequency identification (RFID) technology, Infrared Data Association (IrDA) technology, ultra-wideband (UWB) technology, Bluetooth (BT) technology, and other technologies.

[0127] In an exemplary embodiment, device 800 may be implemented by one or more application-specific integrated circuits (ASICs), digital signal processors (DSPs), digital signal processing devices (DSPDs), programmable logic devices (PLDs), field-programmable gate arrays (FPGAs), controllers, microcontrollers, microprocessors, or other electronic components to perform the animation generation method of the aforementioned electronic device.

[0128] Fifthly, in exemplary embodiments, this disclosure also provides a non-transitory computer-readable storage medium including instructions, such as a memory 802 including instructions, which can be executed by a processor 809 of device 800 to complete the animation generation method of the aforementioned electronic device. For example, the non-transitory computer-readable storage medium may be a ROM, random access memory (RAM), CD-ROM, magnetic tape, floppy disk, and optical data storage device, etc.

[0129] Other embodiments of this disclosure will readily occur to those skilled in the art upon consideration of the specification and practice of the disclosure herein. This application is intended to cover any variations, uses, or adaptations of this disclosure that follow the general principles of this disclosure and include common knowledge or customary techniques in the art not disclosed herein. The specification and examples are to be considered exemplary only, and the true scope and spirit of this disclosure are indicated by the following claims.

[0130] It should be understood that this disclosure is not limited to the precise structures described above and shown in the accompanying drawings, and various modifications and changes can be made without departing from its scope. The scope of this disclosure is limited only by the appended claims.

Claims

1. A method for managing graphics rendering operations, characterized in that, The method includes: In the unmerged graphics rendering operation GrOP, candidate GrOPs are identified and merged with the current GrOP; In response to the failure to merge the candidate GrOP with the current GrOP, and the overlap between any sub-GrOP of the candidate GrOP and any sub-GrOP of the current GrOP, the current GrOP is sent to the rendering device. The candidate GrOP is obtained by merging all the sub-GrOPs of the candidate GrOP, and the current GrOP is obtained by merging all the sub-GrOPs of the current GrOP. In response to the failure to merge the candidate GrOP with the current GrOP, and the fact that each sub-GrOP of the candidate GrOP does not overlap with each sub-GrOP of the current GrOP, a new candidate GrOP is determined from the unmerged GrOPs and then merged with the current GrOP.

2. The method for managing graphics rendering operations according to claim 1, characterized in that, The method further includes: In response to the failure to merge the candidate GrOP with the current GrOP, and the overlap between any sub-GrOP of the candidate GrOP and any sub-GrOP of the current GrOP, the candidate GrOP is determined as the current GrOP.

3. The method for managing graphics rendering operations according to claim 1, characterized in that, The method further includes: In response to the successful merging of the candidate GrOP with the current GrOP, the current GrOP is updated based on the merging result of the candidate GrOP and the current GrOP, and the candidate GrOP is deleted.

4. The method for managing graphics rendering operations according to claim 1, characterized in that, The method further includes: In response to the failure of merging the candidate GrOP with the current GrOP, whether there is overlap between each sub-GrOP of the candidate GrOP and each sub-GrOP of the current GrOP is determined in the following manner, until there is overlap between any sub-GrOP of the candidate GrOP and any sub-GrOP of the current GrOP, or no overlap between any sub-GrOP of the candidate GrOP and any sub-GrOP of the current GrOP: Each sub-GrOP of the candidate GrOP is sequentially taken as a GrOP to be combined, and for each GrOP to be combined, it is determined whether the GrOP to be combined overlaps with each sub-GrOP of the current GrOP.

5. The method for managing graphics rendering operations according to claim 4, characterized in that, Determining whether the GrOP to be combined overlaps with the sub-GrOPs of the current GrOP includes: Determine whether the region corresponding to the GrOP to be combined overlaps with the region corresponding to the sub-GrOP of the current GrOP.

6. The method for managing graphics rendering operations according to claim 5, characterized in that, The region corresponding to the GrOP to be combined is rectangular, circular, triangular, polygonal, or irregular in shape; The regions corresponding to the child GrOPs of the current GrOP are rectangular, circular, triangular, polygonal, or irregular in shape.

7. The method for managing graphics rendering operations according to claim 6, characterized in that, When the region corresponding to the GrOP to be combined is rectangular, and the region corresponding to the sub-GrOP of the current GrOP is also rectangular, determining whether the GrOP to be combined overlaps with the sub-GrOP of the current GrOP includes: In response to the following conditions: the right boundary of the region corresponding to the GrOP to be combined is not less than the left boundary of the region corresponding to the sub-GrOP of the current GrOP; the lower boundary of the region corresponding to the GrOP to be combined is not less than the upper boundary of the region corresponding to the sub-GrOP of the current GrOP; the left boundary of the region corresponding to the GrOP to be combined is not greater than the right boundary of the region corresponding to the sub-GrOP of the current GrOP; and the upper boundary of the region corresponding to the GrOP to be combined is not greater than the lower boundary of the region corresponding to the sub-GrOP of the current GrOP, it is determined that the GrOP to be combined overlaps with the sub-GrOP of the current GrOP. Otherwise, it is determined that the GrOP to be combined does not overlap with the sub-GrOPs of the current GrOP.

8. The method for managing graphics rendering operations according to claim 1, characterized in that, The step of determining candidate GrOPs from unmerged graphics rendering operations GrOPs includes: Identify candidate GrOPs in the GrOPs of the drawing task manager.

9. The method for managing graphics rendering operations according to claim 1, characterized in that, The rendering device includes a graphics processor.

10. A management device for graphics rendering operations, characterized in that, The device includes: The candidate determination module is used to determine candidate GrOPs in unmerged graphics rendering operations GrOPs and merge the candidate GrOPs with the current GrOP; The merge termination module is used to respond to the failure of merging the candidate GrOP with the current GrOP, and the overlap between any sub-GrOP of the candidate GrOP and any sub-GrOP of the current GrOP, by sending the current GrOP to the rendering device. The candidate GrOP is obtained by merging all sub-GrOPs of the candidate GrOP, and the current GrOP is obtained by merging all sub-GrOPs of the current GrOP. The merging iteration module is used to respond to the failure of merging the candidate GrOP with the current GrOP, and the fact that each sub-GrOP of the candidate GrOP does not overlap with each sub-GrOP of the current GrOP, to redetermine the candidate GrOP from the unmerged GrOPs and merge the redetermined candidate GrOP with the current GrOP.

11. A computer program product, comprising a computer program / instructions, characterized in that, When the computational program / instructions are executed by the processor, they implement the steps of the method described in any one of claims 1 to 9.

12. An electronic device, characterized in that, The electronic device includes a memory and a processor, the memory being used to store computer instructions that can be executed on the processor, and the processor being used to implement the method of any one of claims 1 to 9 when executing the computer instructions.

13. A computer-readable storage medium having a computer program stored thereon, characterized in that, When the program is executed by the processor, it implements the method of any one of claims 1 to 9.