Scheduling method and device based on rendering scene complexity, equipment and storage medium
By calculating the scene complexity of the rendering task and selecting the rendering node that matches the video memory configuration, the problem of memory waste and waiting time in the prior art caused by random scheduling and failed retry is solved, and a more efficient rendering task processing and improved user experience is achieved.
Patent Information
- Application Number
- CN202411875310.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-12-18
- Publication Date
- 2025-04-11
AI Technical Summary
The strategy of random scheduling + failed retry is adopted in existing rendering scenarios, resulting in waste of video memory resources and increased user waiting time, affecting the user experience.
By obtaining the scene complexity of the rendering task, the target scene complexity is calculated using the preset influence factor and its weights, and selecting the node matching the video memory configuration from multiple rendering nodes for rendering based on this complexity.
It effectively reduces the number of retry times of rendering tasks, reduces the waste of video memory resources and user waiting time, thereby improving the user experience.
Smart Images

Figure CN119810287A_ABST
Abstract
Description
Technical Field
[0001] The present disclosure relates to the field of data processing technology, and in particular to a scheduling method, device, equipment and storage medium based on the complexity of a rendering scene. Background Art
[0002] In existing rendering scenarios, after a user initiates a rendering task, the task is randomly dispatched to a rendering machine in the rendering cluster for rendering. If the rendering fails, the task is rescheduled to another rendering machine in the rendering cluster for re-rendering, which is the scheduling strategy of "random scheduling + retrying upon failure". However, this scheduling strategy not only wastes video memory resources, but also increases the time users have to wait for rendering, thus affecting the user experience. Summary of the invention
[0003] The present disclosure provides a scheduling method, apparatus, device and storage medium based on rendering scene complexity to solve or alleviate one or more technical problems in the prior art.
[0004] In a first aspect, the present disclosure provides a scheduling method based on rendering scene complexity, comprising:
[0005] Get the target rendering task;
[0006] Based on the target rendering task, a target characteristic value of each preset influencing factor among a plurality of preset influencing factors is obtained, wherein the preset influencing factor is a pre-determined factor capable of measuring the scene complexity of the rendering task;
[0007] Based on multiple preset impact factors, the impact weight of each preset impact factor is obtained;
[0008] Based on the target characteristic value of each preset influencing factor and the influence weight of each preset influencing factor, the target scene complexity of the target rendering task is obtained;
[0009] Based on the target scene complexity, a target rendering node whose video memory configuration matches the target scene complexity is determined from a plurality of rendering nodes.
[0010] In a second aspect, the present disclosure provides a scheduling device based on rendering scene complexity, comprising:
[0011] An acquisition unit, used to acquire a target rendering task;
[0012] A parameter determination unit is used to obtain a target characteristic value of each preset influence factor among a plurality of preset influence factors based on the target rendering task, wherein the preset influence factor is a pre-determined factor capable of measuring the scene complexity of the rendering task; obtain an influence weight of each preset influence factor based on the plurality of preset influence factors; obtain a target scene complexity of the target rendering task based on the target characteristic value of each preset influence factor and the influence weight of each preset influence factor;
[0013] The scheduling unit is used to determine, based on the target scene complexity, a target rendering node whose video memory configuration matches the target scene complexity from a plurality of rendering nodes.
[0014] In a third aspect, an electronic device is provided, including:
[0015] at least one processor; and
[0016] a memory communicatively connected to the at least one processor; wherein,
[0017] The memory stores instructions that can be executed by the at least one processor, and the instructions are executed by the at least one processor to enable the at least one processor to execute any method in the embodiments of the present disclosure.
[0018] In a fourth aspect, a non-transitory computer-readable storage medium storing computer instructions is provided, wherein the computer instructions are used to cause the computer to execute any method according to the embodiments of the present disclosure.
[0019] In a fifth aspect, a computer program product is provided, comprising a computer program, which implements any method according to the embodiments of the present disclosure when executed by a processor.
[0020] The beneficial effects of the technical solution provided by the present disclosure include at least:
[0021] In this way, the disclosed scheme can determine the target scene complexity of the target rendering task based on the target feature values in the target rendering task of each preset influencing factor and the influence weights of each preset influencing factor, and then determine the rendering node whose video memory configuration matches the target scene complexity from multiple rendering nodes based on the target scene complexity. In this way, compared with the prior art, the disclosed scheme effectively reduces the number of retries for executing the rendering task, thereby reducing the video memory resources required for retries, and also reduces the time users wait for rendering, thereby improving the user experience.
[0022] It should be understood that the content described in this section is not intended to identify the key or important features of the embodiments of the present disclosure, nor is it intended to limit the scope of the present disclosure. Other features of the present disclosure will become easily understood through the following description. BRIEF DESCRIPTION OF THE DRAWINGS
[0023] In the accompanying drawings, unless otherwise specified, the same reference numerals throughout the multiple drawings represent the same or similar parts or elements. These drawings are not necessarily drawn to scale. It should be understood that these drawings only depict some embodiments provided according to the present disclosure and should not be regarded as limiting the scope of the present disclosure.
[0024] Figure 1 This is a schematic flow chart of a scheduling method based on rendering scene complexity according to an embodiment of the present application. Figure 1 ;
[0025] Figure 2 This is a schematic flow chart of a scheduling method based on rendering scene complexity according to an embodiment of the present application. Figure 2 ;
[0026] Figure 3 The flowchart of a scheduling method based on rendering scene complexity in a specific example according to an embodiment of the present application is as follows: Figure 1 ;
[0027] Figure 4 The flowchart of a scheduling method based on rendering scene complexity in a specific example according to an embodiment of the present application is as follows: Figure 2 ;
[0028] Figure 5 is a structural diagram of a scheduling device based on rendering scene complexity according to an embodiment of the present application;
[0029] Figure 6 It is a block diagram of an electronic device used to implement the scheduling method based on rendering scene complexity of an embodiment of the present disclosure. DETAILED DESCRIPTION
[0030] The present disclosure will be further described in detail below with reference to the accompanying drawings. The same reference numerals in the accompanying drawings represent elements with the same or similar functions. Although various aspects of the embodiments are shown in the accompanying drawings, the drawings are not necessarily drawn to scale unless otherwise specified.
[0031] In addition, in order to better illustrate the present disclosure, numerous specific details are given in the following specific embodiments. It should be understood by those skilled in the art that the present disclosure can also be implemented without certain specific details. In some examples, methods, means, components and circuits well known to those skilled in the art are not described in detail in order to highlight the main purpose of the present disclosure.
[0032] The disclosed solution provides a scheduling method based on the complexity of the rendering scene, which can reasonably schedule the rendering task according to the calculated scene complexity of the rendering task. In this way, the number of failed retries in executing the rendering task is reduced, and the time the user waits for rendering is reduced, thereby improving the user experience.
[0033] Specifically, Figure 1 This is a schematic flow chart of a scheduling method based on rendering scene complexity according to an embodiment of the present application. Figure 1 The method may be optionally applied to electronic devices, such as personal computers, servers, server clusters, and other electronic devices.
[0034] Further, the method includes at least part of the following contents. Figure 1 As shown, including:
[0035] Step S101: Obtain a target rendering task.
[0036] Here, the target rendering task may specifically be a rendering task initiated by a user in real time.
[0037] Step S102: based on the target rendering task, obtaining a target characteristic value of each preset influencing factor among a plurality of preset influencing factors.
[0038] Here, the preset influencing factors are predetermined factors that can measure the scene complexity of the rendering task, such as the total number of model triangles, subsurface scattering (SSS) material, hair material, displacement material, lighting, resolution, etc. The specific selection of the preset influencing factors can be set according to the actual rendering task. The present disclosure does not impose specific restrictions on the types of preset influencing factors.
[0039] Furthermore, in one example, the target characteristic value of the preset influence factor can be specifically understood as the specific value of the preset influence factor in the target rendering task. For example, in the target rendering task, the preset influence factor is light. At this time, the target characteristic value of the preset influence factor is the number of lights.
[0040] Further, in one example, the plurality of preset influencing factors are obtained based on rendering data of a plurality of historical rendering tasks; here, the rendering data includes at least one of the following:
[0041] (1) Geometry information: The geometric data of all models and objects in the rendering scene (such as vertices, faces, normals, etc.).
[0042] (2) Material and texture information: All material properties used in the rendering scene, such as color, reflection, refraction, transparency, and texture mapping.
[0043] (3) Light source information: the type of light source in the rendering scene (such as point light, parallel light, spotlight, etc.), light source position, light source intensity, and other light source parameters.
[0044] (4) Camera information: Camera parameters used during rendering, including position, viewing angle, focal length, and depth of field.
[0045] (5) Environmental information: background color, image, and global illumination or ambient lighting.
[0046] Step S103: based on a plurality of preset impact factors, obtaining an impact weight of each preset impact factor.
[0047] It should be noted that step S103 may also be executed before step S102, for example, step S103 may be executed before step S101; or, step S103 may also be executed simultaneously with step S102, and the present disclosure does not impose any specific limitation on this.
[0048] Step S104: based on the target characteristic value of each preset influencing factor and the influence weight of each preset influencing factor, the target scene complexity of the target rendering task is obtained.
[0049] Step S105: Based on the target scene complexity, a target rendering node whose video memory configuration matches the target scene complexity is determined from multiple rendering nodes.
[0050] In this way, the disclosed scheme can determine the target scene complexity of the target rendering task based on the target feature values in the target rendering task of each preset influencing factor and the influence weights of each preset influencing factor, and then determine the rendering node with the video memory configuration matching the target scene complexity from multiple rendering nodes based on the target scene complexity. In this way, compared with the prior art, the disclosed scheme effectively reduces the number of retries for executing the rendering task, thereby reducing the video memory resources required for retries, and also reduces the time the user waits for rendering, thereby improving the user experience.
[0051] Furthermore, in a specific example, the disclosed solution can also be applied to rendering scenarios that adopt a scheduling strategy of "random scheduling + retry upon failure"; for example, the above-mentioned acquisition of the target rendering task (for example, step S101) may specifically include: determining the target rendering task from the rendering tasks that failed to execute, thereby further determining a rendering node whose video memory configuration matches the target scene complexity based on the calculated target scene complexity of the target rendering task, thereby effectively avoiding the target rendering task from failing again, reducing the number of retries of failed rendering tasks, and thereby reducing the video memory resources required for retries, and at the same time, reducing the time the user waits for rendering, thereby improving the user experience.
[0052] Furthermore, in a specific example, the above step S103 specifically includes: according to a plurality of preset impact factors, obtaining the impact weight of each preset impact factor determined in advance from a database.
[0053] Further, in a specific example, the influence weight of a predetermined preset influence factor is obtained based on the characteristic value of the preset influence factor in multiple historical rendering tasks. For example, in one example, the influence weight of the preset influence factor is obtained based on the median value of the characteristic value of the preset influence factor in multiple historical rendering tasks; for example, the inverse of the median value of the characteristic value of the preset influence factor in multiple historical rendering tasks is used as the influence weight of the preset influence factor. In this way, the influence weight of each preset influence factor can be obtained, which provides data support for subsequently obtaining the target scene complexity of the target rendering task.
[0054] For example, in one example, the influence weight of each preset influence factor can be calculated in advance and stored in a database, so that it can be directly obtained from the database when calculating the target scene complexity of the target rendering task.
[0055] Furthermore, in actual applications, the new influence weights of each preset influence factor can be calculated based on new historical rendering tasks at regular intervals, and the database can be updated. In this way, the calculation accuracy of the scene complexity of the rendering task can be improved, making it easier to accurately determine the rendering node suitable for executing the target rendering task in the future.
[0056] In addition, in one example, the historical rendering tasks used by the disclosed scheme to determine the influence weights of each preset influence factor can also be specifically historical rendering tasks that have failed and been retried. In this way, the calculated influence weights of each preset influence factor are more representative, laying the foundation for the subsequent accurate calculation of the target scene complexity of the target rendering task.
[0057] Further, in an example, the multiple rendering nodes in the above step S104 are divided into at least two categories, for example, the first category of the at least two categories includes at least one first rendering node, the second category of the at least two categories includes at least one second rendering node, and the first rendering node and the second rendering node are both one of the multiple rendering nodes. Further, the video memory configuration of the first rendering node is higher than the video memory configuration of the second rendering node. In this way, more rendering nodes are provided for different rendering tasks, laying a foundation for subsequently selecting a reasonably configured rendering node according to the complexity of the target scene.
[0058] Figure 2 This is a schematic flow chart of a scheduling method based on rendering scene complexity according to an embodiment of the present application. Figure 2The method can optionally be applied to electronic devices, such as personal computers, servers, server clusters, and other electronic devices. It is understandable that the above Figure 1 The relevant contents of the method shown can also be applied to this example, and the relevant contents will not be described in detail in this example.
[0059] Further, the method includes at least part of the following contents. Specifically, Figure 2 As shown, including:
[0060] Step S201: Obtain a target rendering task.
[0061] It should be noted that the relevant content about the target rendering task can be referred to the above example, which will not be repeated here.
[0062] Step S202: based on the target rendering task, obtaining a target characteristic value of each preset influencing factor among a plurality of preset influencing factors.
[0063] Here, the preset influencing factor is a pre-determined factor that can measure the scene complexity of the rendering task.
[0064] It should be noted that the relevant content about the preset impact factor can be referred to the above example and will not be repeated here.
[0065] Step S203: based on a plurality of preset impact factors, obtaining an impact weight of each preset impact factor.
[0066] Step S204: based on the target characteristic value of each preset influencing factor and the influence weight of each preset influencing factor, the target scene complexity of the target rendering task is obtained.
[0067] Step S205: Determine whether the complexity of the target scene is greater than a preset threshold, if so, proceed to step S206, otherwise proceed to step S207.
[0068] Here, the preset threshold is an empirical value and can be set according to actual needs. The present disclosure does not impose any specific restrictions on the specific value of the preset threshold.
[0069] Step S206: when the complexity of the target scene is greater than a preset threshold, determining a target rendering node for processing the target rendering task from at least one first rendering node included in the first category.
[0070] Step S207: when the complexity of the target scene is less than or equal to a preset threshold, determining a target rendering node for processing the target rendering task from at least one second rendering node included in the second category.
[0071] In this way, the disclosed solution can determine a rendering node whose video memory configuration matches the target scene complexity from multiple rendering nodes according to the target scene complexity of the target rendering task and a preset threshold. In this way, compared with the prior art, the number of retries for executing the rendering task is effectively reduced, which not only reduces the video memory resources required for retries, but also reduces the time users have to wait for rendering, thereby improving the user experience.
[0072] Further, in order to quickly calculate the target scene complexity of the target rendering task, the disclosed solution provides a specific calculation scheme for scene complexity; specifically, the target feature value based on each preset influencing factor and the influence weight of each preset influencing factor described above are used to obtain the target scene complexity of the target rendering task (for example, step S204), which specifically includes:
[0073] Step S204 - 1 : multiplying the target characteristic value of the preset influencing factor by the influencing weight of the preset influencing factor to obtain the product value corresponding to each preset influencing factor.
[0074] Step S204 - 2 : taking the sum of the product values corresponding to the preset influencing factors as the target scene complexity of the target rendering task.
[0075] In this way, the calculation method of scene complexity provided by the disclosed solution is simpler and more intuitive, thus providing a decision-making basis for the scheduling of subsequent target rendering tasks. Moreover, this is of great significance for evaluating the scene complexity of rendering tasks.
[0076] The following is a further detailed explanation of the disclosed scheme with reference to specific examples; the disclosed scheme provides a scheduling method based on the complexity of the rendering scene, which aims to schedule the rendering task to a rendering machine with a more reasonable video memory configuration according to the estimated scene complexity of the rendering task. In this way, the number of failed retries of the rendering task is reduced, the wasted resources caused by failed retries are reduced, and the rendering time is also reduced, thereby achieving the purpose of saving costs and improving user experience.
[0077] Here, the disclosed solution is mainly divided into two processes, namely, process one: calculating the characteristic values of the preset influencing factors in multiple historical rendering tasks, and counting the influence weights of the preset influencing factors to determine the influence weights of each preset influencing factor. Process two: real-time analysis of the characteristic values (that is, corresponding to the target characteristic values described above) of each preset influencing factor in the rendering task initiated by the user (that is, corresponding to the target rendering task described above), and combining the calculated influence weights of each preset influencing factor to determine the scene complexity of the rendering task (that is, corresponding to the target scene complexity described above), and then scheduling according to whether the scene complexity exceeds the threshold.
[0078] Specifically, Figure 3 As shown, the core steps of process 1 in the disclosed solution include:
[0079] Step 301: querying the original rendering data of batches of historical rendering tasks from a database, and determining a plurality of preset influencing factors.
[0080] Here, the raw rendering data includes:
[0081] (1) Geometry information: The geometric data of all models and objects in the rendering scene (such as vertices, faces, normals, etc.).
[0082] (2) Material and texture information: All material properties used in the rendering scene, such as color, reflection, refraction, transparency, and texture mapping.
[0083] (3) Light source information: the type of light source in the rendering scene (such as point light, parallel light, spotlight, etc.), light source position, light source intensity, and other light source parameters.
[0084] (4) Camera information: Camera parameters used during rendering, including position, viewing angle, focal length, and depth of field.
[0085] (5) Environmental information: background color, image, and global illumination or ambient lighting.
[0086] Here, the disclosed solution can also specifically obtain historical rendering tasks that have failed and been retried, so that the influence weights of various preset influence factors calculated subsequently are more representative.
[0087] Step 302: for a preset influencing factor among the plurality of preset influencing factors, each historical rendering task is analyzed to obtain a characteristic value of the preset influencing factor in each historical rendering task.
[0088] Here, the preset influencing factors may include: model triangles, SSS materials, hair materials, displacement materials, lighting, resolution, etc.; the characteristic value is the specific value corresponding to the preset influencing factor in the rendering task.
[0089] Step 303: Obtain the influence weight of the preset influence factor according to the characteristic value of the preset influence factor in each historical rendering task. For example, the inverse of the median of the characteristic value of the preset influence factor in each historical rendering task is used as the influence weight of the preset influence factor.
[0090] At this point, through the above steps 302 to 303, the influence weight of each preset influence factor among all the preset influence factors can be obtained.
[0091] Step 304: storing the influence weight of each preset influence factor in a database.
[0092] This lays the foundation for determining the scene complexity of the subsequent rendering task.
[0093] Furthermore, if Figure 4 As shown, the core steps of process 2 in the disclosed solution include
[0094] Step 401: receiving a rendering task initiated by a user.
[0095] Step 402: Determine the characteristic value of each preset influencing factor in the current rendering task.
[0096] Step 403: multiply the characteristic value of the preset influencing factor in the current rendering task by the influence weight of the preset influencing factor to obtain the product value corresponding to each preset influencing factor, and then add the product values corresponding to each preset influencing factor to obtain the scene complexity of the current rendering task.
[0097] Step 404: Determine whether the scene complexity of the current rendering task exceeds a preset threshold, if so, proceed to step 405, otherwise proceed to step 406.
[0098] Here, the preset threshold is an empirical value and can be dynamically adjusted according to actual needs. The present disclosure does not impose any specific restrictions on the specific value of the preset threshold.
[0099] Step 405: when the scene complexity of the current rendering task exceeds a preset threshold, the current rendering task is dispatched to a rendering machine with a higher video memory configuration (ie, corresponding to the first rendering node described above).
[0100] Step 406: when the scene complexity of the current rendering task does not exceed a preset threshold, the current rendering task is dispatched to a rendering machine with a lower video memory configuration (ie, corresponding to the second rendering node described above).
[0101] In summary, compared with the rendering scheduling scheme of "random scheduling + retry upon failure" in the prior art, the disclosed scheme has the following advantages, including:
[0102] First, it saves rendering resources. The disclosed solution dispatches rendering tasks to rendering machines with appropriate video memory configurations according to the calculated scene complexity of the rendering tasks, thereby reducing the failure retry rate of rendering tasks and saving rendering machine costs.
[0103] Second, it reduces rendering time. Since the disclosed solution reduces the failure retry rate of rendering tasks, the disclosed solution effectively reduces the end-to-end rendering time caused by failed retries, thus enabling fast image output and improving user experience.
[0104] The disclosed solution also provides a scheduling device based on the complexity of the rendering scene, such as Figure 5 As shown, including:
[0105] An acquisition unit 501 is used to acquire a target rendering task;
[0106] The parameter determination unit 502 is used to obtain a target characteristic value of each preset influencing factor among a plurality of preset influencing factors based on the target rendering task, wherein the preset influencing factor is a pre-determined factor capable of measuring the scene complexity of the rendering task; obtain an influence weight of each preset influencing factor based on the plurality of preset influencing factors; obtain a target scene complexity of the target rendering task based on the target characteristic value of each preset influencing factor and the influence weight of each preset influencing factor;
[0107] The scheduling unit 503 is configured to determine, based on the target scene complexity, a target rendering node whose video memory configuration matches the target scene complexity from among multiple rendering nodes.
[0108] In a specific example of the disclosed solution, the plurality of rendering nodes are divided into at least two categories, wherein a first category of the at least two categories includes at least one first rendering node, and a second category of the at least two categories includes at least one second rendering node, and the first rendering node and the second rendering node are both one of the plurality of rendering nodes; wherein,
[0109] The video memory configuration of the first rendering node is higher than the video memory configuration of the second rendering node.
[0110] In a specific example of the disclosed solution, the scheduling unit is specifically used to:
[0111] When the complexity of the target scene is greater than a preset threshold, determining a target rendering node for processing the target rendering task from at least one first rendering node included in the first category;
[0112] or,
[0113] When the target scene complexity is less than or equal to a preset threshold, a target rendering node for processing the target rendering task is determined from at least one second rendering node included in the second category.
[0114] In a specific example of the disclosed solution, the parameter determination unit is specifically used to:
[0115] The target characteristic value of the preset influencing factor is multiplied by the influence weight of the preset influencing factor to obtain the product value corresponding to each preset influencing factor;
[0116] The sum of the product values corresponding to the preset influencing factors is taken as the target scene complexity of the target rendering task.
[0117] In a specific example of the disclosed solution, the influence weight of the preset influence factor is obtained based on the characteristic value of the preset influence factor in multiple historical rendering tasks.
[0118] In a specific example of the disclosed solution, the influence weight of the preset influence factor is obtained based on the median value of the characteristic values of the preset influence factor in multiple historical rendering tasks.
[0119] For the description of the specific functions and examples of each unit of the device in the embodiment of the present disclosure, reference can be made to the relevant description of the corresponding steps in the above method embodiment, which will not be repeated here.
[0120] In the technical solution disclosed herein, the acquisition, storage and application of user personal information involved are in compliance with the provisions of relevant laws and regulations and do not violate public order and good morals.
[0121] Figure 6 FIG. 1 is a structural block diagram of an electronic device according to an embodiment of the present disclosure. Figure 6 As shown, the electronic device includes: a memory 610 and a processor 620, and the memory 610 stores a computer program that can be run on the processor 620. The number of the memory 610 and the processor 620 can be one or more. The memory 610 can store one or more computer programs. When the one or more computer programs are executed by the electronic device, the electronic device executes the method provided by the above method embodiment. The electronic device may also include: a communication interface 630, which is used to communicate with external devices and perform data exchange transmission.
[0122] If the memory 610, the processor 620 and the communication interface 630 are implemented independently, the memory 610, the processor 620 and the communication interface 630 can be connected to each other through a bus and communicate with each other. The bus can be an Industry Standard Architecture (ISA) bus, a Peripheral Component Interconnect (PCI) bus or an Extended Industry Standard Architecture (EISA) bus. The bus can be divided into an address bus, a data bus, a control bus, etc. For ease of representation, Figure 6 Only one thick line is used in the diagram, but this does not mean that there is only one bus or only one type of bus.
[0123] Optionally, in a specific implementation, if the memory 610, the processor 620 and the communication interface 630 are integrated on a chip, the memory 610, the processor 620 and the communication interface 630 can communicate with each other through an internal interface.
[0124] It should be understood that the processor may be a central processing unit (CPU), or other general-purpose processors, digital signal processors (DSP), application-specific integrated circuits (ASIC), field programmable gate arrays (FPGA) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. A general-purpose processor may be a microprocessor or any conventional processor, etc. It is worth noting that the processor may be a processor supporting the Advanced RISC Machines (ARM) architecture.
[0125] Further, optionally, the above-mentioned memory may include a read-only memory and a random access memory, and may also include a non-volatile random access memory. The memory may be a volatile memory or a non-volatile memory, or may include both volatile and non-volatile memories. Among them, the non-volatile memory may include a read-only memory (ROM), a programmable read-only memory (PROM), an erasable programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM), or a flash memory. The volatile memory may include a random access memory (RAM), which is used as an external cache. By way of example but not limitation, many forms of RAM are available. For example, static random access memory (SRAM), dynamic random access memory (DRAM), synchronous dynamic random access memory (SDRAM), double data rate synchronous dynamic random access memory (DDR SDRAM), enhanced synchronous dynamic random access memory (ESDRAM), synchronous link dynamic random access memory (SLDRAM) and direct memory bus random access memory (DR RAM).
[0126] In the above embodiments, it can be implemented in whole or in part by software, hardware, firmware or any combination thereof. When implemented using software, it can be implemented in whole or in part in the form of a computer program product. The computer program product includes one or more computer instructions. When the computer instructions are loaded and executed on a computer, the process or function described in the embodiment of the present disclosure is generated in whole or in part. The computer can be a general-purpose computer, a special-purpose computer, a computer network or other programmable device. The computer instructions can be stored in a computer-readable storage medium, or transmitted from one computer-readable storage medium to another computer-readable storage medium. For example, the computer instructions can be transmitted from a website site, computer, server or data center by wired (for example: coaxial cable, optical fiber, data subscriber line (Digital Subscriber Line, DSL)) or wireless (for example: infrared, Bluetooth, microwave, etc.) mode to another website site, computer, server or data center. The computer-readable storage medium can be any available medium that a computer can access, or a data storage device such as a server or data center that includes one or more available media integrations. The available medium may be a magnetic medium (e.g., a floppy disk, a hard disk, a magnetic tape), an optical medium (e.g., a digital versatile disc (DVD)), or a semiconductor medium (e.g., a solid state disk (SSD)), etc. It is worth noting that the computer-readable storage medium mentioned in the present disclosure may be a non-volatile storage medium, in other words, a non-transient storage medium.
[0127] A person skilled in the art will understand that all or part of the steps to implement the above embodiments may be accomplished by hardware or by instructing related hardware through a program, and the program may be stored in a computer-readable storage medium, and the above-mentioned storage medium may be a read-only memory, a disk or an optical disk, etc.
[0128] In the description of the embodiments of the present disclosure, the description with reference to the terms "one embodiment", "some embodiments", "example", "specific example", or "some examples" means that the specific features, structures, materials or characteristics described in conjunction with the embodiment or example are included in at least one embodiment or example of the present disclosure. Moreover, the specific features, structures, materials or characteristics described may be combined in any one or more embodiments or examples in a suitable manner. In addition, those skilled in the art may combine and combine the different embodiments or examples described in this specification and the features of the different embodiments or examples, unless they are contradictory.
[0129] In the description of the embodiments of the present disclosure, unless otherwise specified, " / " means or, for example, A / B can mean A or B. "And / or" in this article is only a way to describe the association relationship of associated objects, indicating that there can be three relationships, for example, A and / or B can mean: A exists alone, A and B exist at the same time, and B exists alone.
[0130] In the description of the embodiments of the present disclosure, the terms "first" and "second" are used for descriptive purposes only and are not to be understood as indicating or implying relative importance or implicitly indicating the number of the indicated technical features. Thus, a feature defined as "first" or "second" may explicitly or implicitly include one or more of the features. In the description of the embodiments of the present disclosure, unless otherwise specified, "plurality" means two or more.
[0131] The above description is only an exemplary embodiment of the present disclosure and is not intended to limit the present disclosure. Any modifications, equivalent substitutions, improvements, etc. made within the spirit and principles of the present disclosure shall be included in the protection scope of the present disclosure.
Claims
1. A scheduling method based on the complexity of a rendering scene, comprising: Get the target rendering task; Based on the target rendering task, a target characteristic value of each preset influencing factor among a plurality of preset influencing factors is obtained, wherein the preset influencing factor is a pre-determined factor capable of measuring the scene complexity of the rendering task; Based on multiple preset impact factors, the impact weight of each preset impact factor is obtained; Based on the target characteristic value of each preset influencing factor and the influence weight of each preset influencing factor, the target scene complexity of the target rendering task is obtained; Based on the target scene complexity, a target rendering node whose video memory configuration matches the target scene complexity is determined from a plurality of rendering nodes.
2. The method according to claim 1, wherein: The plurality of rendering nodes are divided into at least two categories, wherein a first category of the at least two categories includes at least one first rendering node, and a second category of the at least two categories includes at least one second rendering node, and the first rendering node and the second rendering node are both one of the plurality of rendering nodes; wherein, The video memory configuration of the first rendering node is higher than the video memory configuration of the second rendering node.
3. The method according to claim 2, wherein: The step of determining, based on the target scene complexity, a target rendering node whose video memory configuration matches the target scene complexity from a plurality of rendering nodes comprises: When the complexity of the target scene is greater than a preset threshold, determining a target rendering node for processing the target rendering task from at least one first rendering node included in the first category; or, When the target scene complexity is less than or equal to a preset threshold, a target rendering node for processing the target rendering task is determined from at least one second rendering node included in the second category.
4. The method according to any one of claims 1 to 3, wherein: The target scene complexity of the target rendering task is obtained based on the target feature value of each preset influencing factor and the influence weight of each preset influencing factor, including: The target characteristic value of the preset influencing factor is multiplied by the influence weight of the preset influencing factor to obtain the product value corresponding to each preset influencing factor; The sum of the product values corresponding to the preset influencing factors is taken as the target scene complexity of the target rendering task.
5. The method according to claim 4, wherein: The influence weight of the preset influence factor is obtained based on the characteristic value of the preset influence factor in multiple historical rendering tasks.
6. The method according to claim 5, wherein: The influence weight of the preset influence factor is obtained based on the median value of the characteristic values of the preset influence factor in multiple historical rendering tasks.
7. A scheduling device based on rendering scene complexity, comprising: An acquisition unit, used to acquire a target rendering task; A parameter determination unit is used to obtain a target characteristic value of each preset influence factor among a plurality of preset influence factors based on the target rendering task, wherein the preset influence factor is a pre-determined factor capable of measuring the scene complexity of the rendering task; obtain an influence weight of each preset influence factor based on the plurality of preset influence factors; obtain a target scene complexity of the target rendering task based on the target characteristic value of each preset influence factor and the influence weight of each preset influence factor; The scheduling unit is used to determine, based on the target scene complexity, a target rendering node whose video memory configuration matches the target scene complexity from a plurality of rendering nodes.
8. The device according to claim 7, wherein: The plurality of rendering nodes are divided into at least two categories, wherein a first category of the at least two categories includes at least one first rendering node, and a second category of the at least two categories includes at least one second rendering node, and the first rendering node and the second rendering node are both one of the plurality of rendering nodes; wherein, The video memory configuration of the first rendering node is higher than the video memory configuration of the second rendering node.
9. The device according to claim 8, wherein: The scheduling unit is specifically used for: When the complexity of the target scene is greater than a preset threshold, determining a target rendering node for processing the target rendering task from at least one first rendering node included in the first category; or, When the target scene complexity is less than or equal to a preset threshold, a target rendering node for processing the target rendering task is determined from at least one second rendering node included in the second category.
10. The device according to any one of claims 7 to 9, wherein: The parameter determination unit is specifically used for: The target characteristic value of the preset influencing factor is multiplied by the influence weight of the preset influencing factor to obtain the product value corresponding to each preset influencing factor; The sum of the product values corresponding to the preset influencing factors is taken as the target scene complexity of the target rendering task.
11. The device according to claim 10, wherein: The influence weight of the preset influence factor is obtained based on the characteristic value of the preset influence factor in multiple historical rendering tasks.
12. The device according to claim 11, wherein The influence weight of the preset influence factor is obtained based on the median value of the characteristic values of the preset influence factor in multiple historical rendering tasks.
13. An electronic device, comprising: at least one processor; as well as a memory communicatively connected to the at least one processor; wherein, The memory stores instructions that can be executed by the at least one processor, and the instructions are executed by the at least one processor to enable the at least one processor to perform the method according to any one of claims 1 to 6.
14. A non-transitory computer-readable storage medium storing computer instructions, wherein: The computer instructions are used to cause the computer to execute the method according to any one of claims 1-6.
15. A computer program product, comprising a computer program, which, when executed by a processor, implements the method according to any one of claims 1 to 6.
Citation Information
Cited By
Intelligent scheduling method, model training method, device and system
CN121349642A
Fast video rendering method and device, equipment, storage medium and program product
CN121462830A