Graph card-based hybrid scheduling rendering method and system

By dividing the graphics rendering frame buffer into different types of cards and assigning priorities, and using a hybrid scheduling strategy for task distribution, the problems of task backlog and low efficiency in traditional rendering methods are solved, achieving efficient graphics rendering effects.

CN120872531APending Publication Date: 2025-10-31WUHAN LINGJIU MICROELECTRONICS CO LTD
View PDF 0 Cites 2 Cited by

Patent Information

Application Number
CN202510972023.7
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-07-15
Publication Date
2025-10-31

AI Technical Summary

Technical Problem

Traditional graphics rendering methods, when handling complex scenes and high frame rate rendering tasks, lack effective task scheduling and resource allocation mechanisms, leading to tasks backlog, low rendering efficiency, screen stuttering, and loss of critical information frames, making it difficult to meet the needs of real-time secure graphics applications.

Method used

The frame buffer for rendering graphics is divided into critical graphics cards, regular graphics cards, and dynamic graphics cards. Each card is bound to an independent video memory area and is assigned priority according to its category. A hybrid scheduling strategy is used to distribute rendering tasks, including preemptive and parallel rendering methods, to ensure that critical tasks are processed first.

Benefits of technology

By employing card-based task scheduling and hybrid scheduling strategies, rendering efficiency was improved, keyframe loss was reduced, rendering real-time performance and display quality were enhanced, and the needs of real-time secure graphics applications were met.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120872531A_ABST
    Figure CN120872531A_ABST
Patent Text Reader

Abstract

The invention provides a graph card-based hybrid scheduling rendering method and system, and the method comprises the steps: dividing a frame buffer area, binding the divided frame buffer area with a task, completing the rendering of each card through a hybrid task scheduling strategy, and finally synthesizing and outputting a complete graph; a frame buffer area of a rendering graph is divided into a plurality of graph cards according to display criticality, each graph card is bound with an independent rendering task and a video memory area, a unique task division and resource allocation mode is formed, and the mode is different from a traditional overall rendering mode; and in combination with a hybrid scheduling strategy of high-priority task preemptive scheduling and dynamic card task parallel rendering, the problems of rendering task priority conflict and resource utilization are effectively solved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of graphics rendering, and more specifically, to a hybrid scheduling rendering method and system for graphics card-based rendering. Background Technology

[0002] With the booming development of fields such as high-resolution and high-definition real-time instrument control and display, users have increasingly stringent requirements for the real-time performance, smoothness, and high quality of graphics rendering.

[0003] Traditional graphics rendering methods often suffer from a lack of effective task scheduling and resource allocation mechanisms when handling complex scenes and high frame rate rendering tasks. This leads to problems such as task backlog, low rendering efficiency, screen stuttering, and loss of frames containing critical information, making it difficult to meet the needs of real-time secure graphics applications. Summary of the Invention

[0004] This invention addresses the technical problems existing in the prior art by providing a hybrid scheduling rendering method and system for graphics cards, overcoming the problems of backlogged rendering tasks and low rendering efficiency in the current technology.

[0005] According to a first aspect of the present invention, a hybrid scheduling rendering method for graphics card-based rendering is provided, comprising:

[0006] Step 1: Divide the frame buffer for rendering graphics into critical graphics cards, regular graphics cards, and dynamic graphics cards according to different categories. Each graphics card corresponds to a rendering task and is bound to an independent video memory area.

[0007] Step 2: Assign a priority to the rendering task corresponding to each graphics card according to the category of each graphics card, and generate a priority queue list;

[0008] Step 3: Distribute rendering tasks according to the priority of each rendering task and the category of each graphics card, using either parallel rendering or preemptive rendering.

[0009] Step 4: Based on the rendering task, perform rendering operations on the corresponding graphic cards and return the rendering result status;

[0010] Step 5: After completing the rendering of all graphic cards, merge and stitch all the rendered graphic cards for display output.

[0011] According to a second aspect of the present invention, a hybrid scheduling rendering system for graphics card-based rendering is provided, comprising:

[0012] The graphics card module is used to divide the frame buffer for rendering graphics into key graphics cards, regular graphics cards, and dynamic graphics cards according to different categories. Each graphics card corresponds to a rendering task and is bound to an independent video memory area.

[0013] The priority allocation module is used to allocate the priority of the rendering task corresponding to each graphics card according to the category of each graphics card, and generate a priority queue list.

[0014] The task distribution module is used to distribute rendering tasks according to the priority of each rendering task and the category of each graphics card, using either parallel rendering or preemptive rendering.

[0015] The rendering execution module is used to perform rendering operations on the corresponding graphics cards according to the rendering task and return the rendering result status.

[0016] The merge rendering module is used to merge and stitch together all the rendered graphics cards after completing the rendering tasks of all graphics cards for display output.

[0017] This invention provides a hybrid scheduling rendering method and system for graphics cards, which divides the frame buffer and binds it to tasks. A hybrid task scheduling strategy is used to render each card, ultimately synthesizing and outputting a complete graphic. The method divides the frame buffer of the rendered graphics into multiple graphics cards according to their display criticality, binding each graphics card to an independent rendering task and video memory area, forming a unique task division and resource allocation mode that differs from traditional overall rendering methods. Furthermore, it combines a hybrid scheduling strategy of preemptive scheduling for high-priority tasks and parallel rendering of dynamic card tasks, effectively solving rendering task priority conflicts and resource utilization problems. Attached Figure Description

[0018] Figure 1 A flowchart of a hybrid scheduling rendering method for graphics card-based rendering is provided in one embodiment of the present invention;

[0019] Figure 2 This is a schematic diagram illustrating the implementation of a hybrid task scheduling strategy in a hybrid scheduling rendering method for graphics card-based rendering, as provided in an embodiment of the present invention.

[0020] Figure 3 This is a schematic diagram illustrating different types of graphic cardization in one embodiment of the present invention;

[0021] Figure 4 This is a schematic diagram illustrating the implementation of high-priority task preemption in one embodiment of the present invention;

[0022] Figure 5 This is a schematic diagram illustrating the implementation of rendering task feedback in one embodiment of the present invention.

[0023] Figure 6 This is a structural block diagram of a hybrid scheduling rendering system for graphics card-based rendering, provided as an embodiment of the present invention. Detailed Implementation

[0024] To make the objectives, technical solutions, and advantages of the embodiments of the present invention clearer, the technical solutions of the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present invention, not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of the present invention. In addition, the technical features of the various embodiments or individual embodiments provided by the present invention can be arbitrarily combined with each other to form feasible technical solutions. Such combinations are not constrained by the order of steps and / or structural composition patterns, but must be based on the ability of those skilled in the art to implement them. When the combination of technical solutions is contradictory or cannot be implemented, it should be considered that such a combination of technical solutions does not exist and is not within the scope of protection claimed by the present invention.

[0025] Figure 1 A flowchart of a hybrid scheduling rendering method for graphics card-based rendering, as provided in one embodiment of the present invention, is shown below. Figure 1 and Figure 2 As shown, the method includes:

[0026] Step 1: Divide the frame buffer for rendering graphics into critical graphics cards, regular graphics cards, and dynamic graphics cards according to different categories. Each graphics card corresponds to a rendering task and is bound to an independent video memory area.

[0027] Understandably, the frame buffer for rendering graphics is divided into three different categories of graphics cards according to the importance of the display: critical, regular, and dynamic. Different card rendering objects are created, and each graphics card corresponds to an independent rendering task and is bound to an independent video memory area.

[0028] Among them, such as Figure 3 As shown, key graphic cards include early warning and error icons, core interactive element displays, real-time display graphics in instruments, and status icons of key equipment in the control system. This type of display area can accurately and timely draw monitoring and decision-making data that directly affect the system's operating status and is classified as key graphic cards.

[0029] Regular graphic cards include interface background drawing and auxiliary information graphic display. The importance of this type of display area is lower than that of key graphic drawing tasks, but a certain level of drawing efficiency and display quality still needs to be ensured, so it is classified as a regular graphic card.

[0030] Dynamic graphics cards include graphics with animation effects or real-time data-driven changes, such as rotating instrument pointers or trend curves that change over time. These types of display areas require dynamic rendering, but are less critical, and are therefore classified as dynamic graphics cards.

[0031] Step 2: Assign a priority to the rendering task corresponding to each graphics card according to its category, and generate a priority queue list.

[0032] Understandably, different types of graphics cards will be assigned different rendering priorities to generate task queues.

[0033] Among them, critical graphics rendering tasks: set critical graphics cards as critical tasks. These tasks involve the core display elements of the system and have the highest priority.

[0034] Regular graphics rendering task: Set the regular graphics card as a regular task, with normal priority;

[0035] Dynamic graphics rendering task: Set dynamic graphics cards as dynamic tasks. These tasks need to dynamically trigger drawing operations based on time intervals or data update frequency and have dynamic priority.

[0036] Among them, the priority of critical graphics rendering tasks is higher than that of regular graphics rendering tasks.

[0037] Step 3: Distribute rendering tasks according to the priority of each rendering task and the category of each graphics card, using either parallel rendering or preemptive rendering.

[0038] In one embodiment of the present invention, step 3, which involves distributing rendering tasks according to the priority of each rendering task and the category of each graphics card, using either parallel rendering or preemptive rendering, includes:

[0039] A preemptive rendering method is used to distribute rendering tasks between critical rendering tasks and regular rendering tasks;

[0040] When a dynamic rendering task is triggered, it is distributed to critical / regular rendering tasks using a parallel rendering method.

[0041] Understandably, such as Figure 4 As shown, the rendering tasks of critical graphics cards and regular graphics cards are scheduled in a preemptive manner, while the rendering tasks of dynamic graphics cards are parallel to those of critical graphics cards and regular graphics cards.

[0042] Specifically, between key graphic cards and regular graphic cards, key graphic cards have a higher priority than regular graphic cards.

[0043] When a high-priority task arrives, check whether the remaining rendering time of the currently executing low-priority task is less than a preset threshold time (e.g., 50ms, adjusted according to the actual situation).

[0044] If the remaining rendering time for a low-priority task is less than the threshold time, wait for the current low-priority task to complete (to avoid resource fragmentation caused by frequent preemption).

[0045] If the remaining rendering time of a low-priority task is greater than or equal to the threshold time, the computing resources of the low-priority task will be immediately preempted to execute the high-priority rendering task first. The rendering work of the low-priority task will be interrupted, and the state of the interrupted low-priority task (such as vertex data and shading progress) will be saved to the data pool of the resource pool for later recovery.

[0046] After preemption, high-priority tasks are inserted at the front of the task queue and executed first.

[0047] In one embodiment of the present invention, for a dynamic rendering task, when the triggering condition of the dynamic rendering task is detected (e.g., the time interval condition is reached or a user operation is performed), a new parallel thread is started to execute the rendering of the dynamic rendering task in the new thread in a way that is parallel to the critical rendering task / regular rendering task.

[0048] Step 4: Based on the rendering task, perform rendering operations on the corresponding graphic cards and return the rendering result status.

[0049] Understandably, after tasks are distributed according to priority, the corresponding graphics cards are rendered, and the rendering result status is returned to the task queue.

[0050] Specifically, such as Figure 5 As shown, for tasks that have been rendered, the task completion status is fed back to the task queue, and the completed task numbers are cleared to release memory resources;

[0051] Tasks that are interrupted or paused in the resource pool will wait for high-priority tasks to be processed before regular tasks continue to execute.

[0052] For low-priority rendering tasks that have not been executed within a preset time period, priority adjustments are made to fill the card areas that have not been refreshed, thereby ensuring the display integrity of the rendered graphics frames.

[0053] Step 5: After completing the rendering of all graphic cards, merge and stitch all the rendered graphic cards for display output.

[0054] Understandably, during the task rendering process, it is necessary to detect in real time whether all graphic card tasks have been completed. If all graphic cards have completed their rendering tasks, the rendered graphic cards are merged and spliced ​​together for display and output, and then the next frame of graphics is rendered.

[0055] like Figure 6 As shown, the present invention also provides a hybrid scheduling rendering system for graphics card-based rendering, comprising:

[0056] The graphics card module 601 is used to divide the frame buffer for rendering graphics into key graphics cards, regular graphics cards and dynamic graphics cards according to different categories. Each graphics card corresponds to a rendering task and is bound to an independent video memory area.

[0057] The priority allocation module 602 is used to allocate the priority of the rendering task corresponding to each graphics card according to the category of each graphics card and generate a priority queue list.

[0058] The task distribution module 603 is used to distribute rendering tasks according to the priority of each rendering task and the category of each graphics card, using either parallel rendering or preemptive rendering.

[0059] The rendering execution module 604 is used to perform rendering operations on the corresponding graphics cards according to the rendering task and return the rendering result status.

[0060] The merge rendering module 605 is used to merge and splice all the rendered graphics cards after completing the rendering tasks of all graphics cards for display output.

[0061] The task distribution module 603 is used to distribute rendering tasks according to the priority of each rendering task and the category of each graphics card, using either parallel rendering or preemptive rendering, including:

[0062] A preemptive rendering method is used to distribute rendering tasks between critical rendering tasks and regular rendering tasks;

[0063] When a dynamic rendering task is triggered, it is distributed to critical / regular rendering tasks using a parallel rendering method.

[0064] The provision that preemptive rendering methods are used to distribute rendering tasks between critical and regular rendering tasks includes:

[0065] When a high-priority task arrives, check whether the remaining rendering time of the currently executing low-priority task is less than a preset threshold time.

[0066] If the remaining rendering time is less than the preset threshold time, wait for the current low-priority task to finish rendering before executing the rendering of the high-priority task.

[0067] If the remaining rendering time is greater than or equal to the preset threshold time, the computing resources of the low-priority task will be immediately seized and the rendering of the high-priority task will be executed. The status information of the interrupted low-priority task will be saved to the data pool of the resource pool. After the high-priority task completes its rendering, the rendering of the subsequent low-priority task will be executed.

[0068] When a dynamic rendering task is triggered, the rendering task is distributed in parallel with critical / regular rendering tasks, including:

[0069] When the trigger condition for a dynamic rendering task is detected, a new parallel thread is started to execute the rendering of the dynamic rendering task in parallel with the critical rendering task / regular rendering task.

[0070] It is understood that the graphic card-based hybrid scheduling rendering system provided by the present invention corresponds to the graphic card-based hybrid scheduling rendering method provided in the foregoing embodiments. The relevant technical features of the graphic card-based hybrid scheduling rendering system can be referred to the relevant technical features of the graphic card-based hybrid scheduling rendering method, and will not be repeated here.

[0071] This invention provides a hybrid scheduling rendering method and system for graphics card-based rendering. It divides the frame buffer and binds it to tasks, and through a hybrid task scheduling strategy and task feedback, ultimately synthesizes and outputs a complete graphic. Specific advantages are as follows:

[0072] (1) Graphics card-based rendering is a method that breaks down drawing tasks into independent cards, which facilitates task allocation, progress tracking, and resource management. By scheduling tasks in a card-based manner, the probability of keyframe loss can be reduced, and the real-time performance of rendering can be improved.

[0073] (2) The hybrid task scheduling strategy adopts strategies such as task preemption, parallel execution, and feedback frame interpolation. Key tasks are executed first, reducing resource consumption and improving display quality.

[0074] It should be noted that the descriptions of each embodiment in the above embodiments have different focuses. For parts that are not described in detail in a certain embodiment, please refer to the relevant descriptions in other embodiments.

[0075] Those skilled in the art will understand that embodiments of the present invention can be provided as methods, systems, or computer program products. Therefore, the present invention can take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, the present invention can take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.

[0076] This invention is described with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the invention. It will be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, special-purpose computer, embedded computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, generate instructions for implementing the flowchart illustrations. Figure 1 One or more processes and / or boxes Figure 1 A device that provides the functions specified in one or more boxes.

[0077] These computer program instructions may also be stored in a computer-readable storage medium that can direct a computer or other programmable data processing device to function in a particular manner, such that the instructions stored in the computer-readable storage medium produce an article of manufacture including instruction means, which are implemented in a process Figure 1 One or more processes and / or boxes Figure 1 The function specified in one or more boxes.

[0078] These computer program instructions may also be loaded onto a computer or other programmable data processing equipment to cause a series of operational steps to be performed on the computer or other programmable equipment to produce a computer-implemented process, thereby providing instructions that execute on the computer or other programmable equipment for implementing the process. Figure 1 One or more processes and / or boxes Figure 1 The steps of the function specified in one or more boxes.

[0079] Although preferred embodiments of the invention have been described, those skilled in the art, upon learning the basic inventive concept, can make other changes and modifications to these embodiments. Therefore, the appended claims are intended to be interpreted as including both the preferred embodiments and all changes and modifications falling within the scope of the invention.

[0080] Obviously, those skilled in the art can make various modifications and variations to this invention without departing from its spirit and scope. Therefore, if these modifications and variations fall within the scope of the claims of this invention and their equivalents, this invention also intends to include these modifications and variations.

Claims

1. A hybrid scheduling rendering method for graphics card-based rendering, characterized in that, include: Step 1: Divide the frame buffer for rendering graphics into critical graphics cards, regular graphics cards, and dynamic graphics cards according to different categories. Each graphics card corresponds to a rendering task and is bound to an independent video memory area. Step 2: Assign a priority to the rendering task corresponding to each graphics card according to the category of each graphics card, and generate a priority queue list; Step 3: Distribute rendering tasks according to the priority of each rendering task and the category of each graphics card, using either parallel rendering or preemptive rendering. Step 4: Based on the rendering task, perform rendering operations on the corresponding graphic cards and return the rendering result status; Step 5: After completing the rendering of all graphic cards, merge and stitch all the rendered graphic cards for display output.

2. The hybrid scheduling rendering method for graphics card-based rendering according to claim 1, characterized in that, The key graphic cards include early warning and error icons, core interactive element displays, real-time display graphics in instruments, and status icons of key equipment in the control system; the conventional graphic cards include interface background drawing and auxiliary information graphic display; the dynamic graphic cards are graphics with animation effects or real-time data-driven changes, including rotating instrument pointers and trend curves that change over time.

3. The hybrid scheduling rendering method for graphics card-based rendering according to claim 1, characterized in that, Step 2: Based on the category of each graphics card, assign a priority to the rendering task corresponding to each graphics card, and generate a priority queue list, including: The key graphics card is set as a key rendering task with the highest priority; The regular graphics card is set as a regular rendering task with general priority; The dynamic graphics card is set as a dynamic rendering task. The dynamic task needs to dynamically trigger the drawing operation according to the time interval or data update frequency and has dynamic priority. Among them, the highest priority is greater than the general priority.

4. The hybrid scheduling rendering method for graphics card-based rendering according to claim 1, characterized in that, Step 3 involves distributing rendering tasks based on the priority of each rendering task and the category of each graphics card, using either parallel rendering or preemptive rendering. This includes: A preemptive rendering method is used to distribute rendering tasks between critical rendering tasks and regular rendering tasks; When a dynamic rendering task is triggered, it is distributed to critical / regular rendering tasks using a parallel rendering method.

5. The hybrid scheduling rendering method for graphics card-based rendering according to claim 4, characterized in that, The method of preemptive rendering to distribute rendering tasks between critical and regular rendering tasks includes: When a high-priority task arrives, check whether the remaining rendering time of the currently executing low-priority task is less than a preset threshold time. If the remaining rendering time is less than the preset threshold time, wait for the current low-priority task to finish rendering before executing the rendering of the high-priority task. If the remaining rendering time is greater than or equal to the preset threshold time, the computing resources of the low-priority task will be immediately seized and the rendering of the high-priority task will be executed. The status information of the interrupted low-priority task will be saved to the data pool of the resource pool. After the high-priority task completes its rendering, the rendering of the subsequent low-priority task will be executed.

6. The hybrid scheduling rendering method for graphics card-based rendering according to claim 1, characterized in that, When a dynamic rendering task is triggered, the rendering task is distributed in parallel with critical / regular rendering tasks, including: When the trigger condition for a dynamic rendering task is detected, a new parallel thread is started to execute the rendering of the dynamic rendering task in parallel with the critical rendering task / regular rendering task.

7. The hybrid scheduling rendering method for graphics card-based rendering according to claim 1, characterized in that, Step 4 involves performing rendering operations on the corresponding graphics cards according to the rendering task and returning the rendering result status, including: For tasks that have been rendered, the task completion status is reported back to the task queue, and the completed task numbers are cleared to release memory resources; For low-priority rendering tasks that have not been executed within a preset time period, priority adjustments are made to fill the card areas that have not been refreshed.

8. A hybrid scheduling rendering system for graphics card-based rendering, characterized in that, include: The graphics card module is used to divide the frame buffer for rendering graphics into key graphics cards, regular graphics cards, and dynamic graphics cards according to different categories. Each graphics card corresponds to a rendering task and is bound to an independent video memory area. The priority allocation module is used to allocate the priority of the rendering task corresponding to each graphics card according to the category of each graphics card, and generate a priority queue list. The task distribution module is used to distribute rendering tasks according to the priority of each rendering task and the category of each graphics card, using either parallel rendering or preemptive rendering. The rendering execution module is used to perform rendering operations on the corresponding graphics cards according to the rendering task and return the rendering result status. The merge rendering module is used to merge and stitch together all the rendered graphics cards after completing the rendering tasks of all graphics cards for display output.

9. The hybrid scheduling rendering system for graphics card-based rendering according to claim 8, characterized in that, The task distribution module is used to distribute rendering tasks according to the priority of each rendering task and the category of each graphics card, using either parallel rendering or preemptive rendering, including: A preemptive rendering method is used to distribute rendering tasks between critical rendering tasks and regular rendering tasks; When a dynamic rendering task is triggered, it is distributed to critical / regular rendering tasks using a parallel rendering method.

10. The hybrid scheduling rendering system for graphics card-based rendering according to claim 9, characterized in that, The method of preemptive rendering to distribute rendering tasks between critical and regular rendering tasks includes: When a high-priority task arrives, check whether the remaining rendering time of the currently executing low-priority task is less than a preset threshold time. If the remaining rendering time is less than the preset threshold time, wait for the current low-priority task to finish rendering before executing the rendering of the high-priority task. If the remaining rendering time is greater than or equal to the preset threshold time, the computing resources of the low-priority task will be immediately seized and the rendering of the high-priority task will be executed. The status information of the interrupted low-priority task will be saved to the data pool of the resource pool. After the high-priority task completes its rendering, the rendering of the subsequent low-priority task will be executed. When a dynamic rendering task is triggered, the rendering task is distributed in parallel with critical / regular rendering tasks, including: When the trigger condition for a dynamic rendering task is detected, a new parallel thread is started to execute the rendering of the dynamic rendering task in parallel with the critical rendering task / regular rendering task.

Citation Information

Cited By

  • Three-dimensional rendering task scheduling and resource allocation method and platform based on cloud collaboration

    CN122111624A

  • Three-dimensional rendering task scheduling and resource allocation method and platform based on cloud collaboration

    CN122111624B