Method and device for rendering resource allocation, computer device, and storage medium

By recommending devices for rendering resources to obtain application rendering parameters and dynamically allocating physical or virtual resources, the problem of wasted rendering resources in the cloud is solved, and resource utilization and cost-effectiveness are improved.

CN114281515BActive Publication Date: 2025-11-21HUAWEI CLOUD COMPUTING TECHNOLOGIES CO LTD
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202010990230.2
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2020-09-18
Publication Date
2025-11-21
Estimated Expiration
2040-09-18

AI Technical Summary

Technical Problem

In existing technologies, cloud-based rendering resource allocation methods are prone to resource waste, failing to effectively meet the rendering needs of applications and resulting in low resource utilization.

Method used

The device receives rendering parameters from the application and recommends suitable rendering resources to the user based on their needs. It supports fixed or non-fixed resource allocation, including physical and virtual resources, and dynamically adjusts resource configuration to meet the requirements.

Benefits of technology

It enables on-demand configuration of rendering resources, improving resource utilization and cost-effectiveness while reducing resource consumption and costs.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114281515B_ABST
    Figure CN114281515B_ABST
Patent Text Reader

Abstract

The application discloses a rendering resource recommendation method and device, computer equipment and a storage medium, and belongs to the technical field of cloud services. The rendering resource recommendation method comprises the following steps: a rendering resource recommendation device receives an application program uploaded by a user; the rendering resource recommendation device runs the application program, and obtains rendering parameters generated in the running process of the application program; the rendering resource recommendation device obtains the demand situation of the application program for rendering resources based on the rendering parameters, wherein the rendering resources are used for rendering the interface of the application program; and the rendering resource recommendation device recommends the rendering resources to the user based on the demand situation. The application realizes on-demand configuration of the rendering resources of the application program, recommends the rendering resources with high cost performance to the user, and improves the utilization rate of the resources. The application is used for recommending the rendering resources to the user.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of cloud service technology, and in particular to a rendering resource allocation method and apparatus, computer equipment, and storage medium. Background Technology

[0002] Currently, using cloud rendering resources to render the interfaces of applications running on terminals has become a trend. Cloud rendering refers to rendering the application interface that the terminal needs to display based on user actions while the application is running. In this context, how to allocate rendering resources for rendering the application interface is a problem that urgently needs to be solved.

[0003] In related technologies, applications are typically equipped with hardware of the highest possible performance in order to use that hardware to render the interface displayed by the application.

[0004] However, this method of allocating rendering resources can easily lead to a waste of rendering resources. Summary of the Invention

[0005] This application provides a rendering resource allocation method and apparatus, computer equipment, and storage medium, which can realize on-demand configuration of rendering resources for applications, recommend rendering resources with high cost performance to users, and improve resource utilization. The technical solution provided by this application is as follows:

[0006] In a first aspect, this application provides a rendering resource recommendation method, which includes: a rendering resource recommendation device receiving an application uploaded by a user; the rendering resource recommendation device running the application and obtaining rendering parameters generated by the application during its operation; the rendering resource recommendation device obtaining the application's demand for rendering resources based on the rendering parameters, wherein the rendering resources are used to render the application's interface; and the rendering resource recommendation device recommending rendering resources to the user based on the demand.

[0007] In this rendering resource recommendation method, the rendering resource recommendation device can receive user-uploaded applications, run the applications, obtain the rendering parameters generated during the application's operation, and then, based on the rendering parameters, determine the application's rendering resource requirements. Based on these requirements, it then recommends rendering resources to the user. These rendering resources are used to render the application's interface. By obtaining the application's rendering resource requirements and recommending resources to the user accordingly, on-demand configuration of rendering resources for the application can be achieved, recommending cost-effective rendering resources to the user and improving resource utilization.

[0008] The application uploaded by the user can be, for example, an application installation package.

[0009] Optionally, before the rendering resource recommendation device runs the application, the rendering resource recommendation method further includes: the rendering resource recommendation device obtaining operation instructions to perform operations on the application. Correspondingly, the rendering resource recommendation device running the application includes: the rendering resource recommendation device running the application according to the operation instructions.

[0010] Specifically, the control unit for recommending rendering resources can run an operation instruction script upon triggering commands from a console operator, causing the rendering resource recommendation unit to execute the operation instructions within the script, thereby performing the operations indicated by the operation instructions on the application. Alternatively, the rendering resource recommendation unit can automatically run the operation instruction script and execute the operation instructions within it, thereby performing the operations indicated by the operation instructions on the application.

[0011] When the rendering resource recommendation device automatically runs the operation instruction script, it can improve the automation level and efficiency of the rendering resource recommendation process. Furthermore, the rendering resource recommendation device can allocate rendering resources to the application more accurately based on the application's needs by repeatedly executing the operation instructions in the script and using the rendering parameters obtained from these repeated executions.

[0012] When the rendering resources are of fixed specifications, the system can recommend fixed-specification physical or virtual rendering resources to the user based on the application's requirements for rendering resources. In one implementation, the rendering resource recommendation device recommends rendering resources to the user based on requirements, including: the rendering resource recommendation device determining multiple alternative rendering resources that can be allocated to the application based on requirements; and the rendering resource recommendation device recommending multiple alternative rendering resources to the user.

[0013] The rendering resource recommendation device determines multiple alternative rendering resources that can be allocated to the application based on the demand situation. This includes: the rendering resource recommendation device obtaining the rendering performance scores of multiple alternative rendering resources; and the rendering resource recommendation device filtering among the multiple alternative rendering resources based on the demand situation and the rendering performance scores of the multiple alternative rendering resources to obtain multiple alternative rendering resources.

[0014] By obtaining the application's rendering resource requirements and acquiring alternative rendering resources based on those requirements, the system achieves matching between the application and rendering resources. This enables on-demand configuration of rendering resources for the application, recommends cost-effective rendering resources to users, and improves resource utilization.

[0015] Specifically, the rendering resource recommendation device obtains the rendering performance scores of multiple candidate rendering resources, including: when the rendering resource recommendation device is using any candidate rendering resource to render the interface of a specified application, it obtains the rendering parameters generated by the specified application during operation when any candidate rendering resource is exhausted; and based on the rendering parameters generated by the specified application during operation when any candidate rendering resource is exhausted, the rendering resource recommendation device obtains the rendering performance score of any candidate rendering resource.

[0016] It should be noted that, because the recommended rendering device needs to obtain the rendering parameters of the candidate rendering resource when acquiring its rendering performance score, the application in this application is designed to run a designated application on the recommended rendering device. The designated application can switch between different application scenarios to obtain the rendering parameters of the exhausted rendering resource, depending on the rendering operations required. Furthermore, when obtaining the rendering parameters generated by the designated application during its operation, the application can present more application scenarios, resulting in more representative rendering parameters. This makes the obtained rendering parameters more comprehensive and the data source more stable, effectively improving the accuracy of obtaining the rendering performance score of the candidate rendering resource.

[0017] The implementation method for obtaining the rendering performance score of rendering resources based on rendering parameters can be similar to the implementation method for obtaining the application's rendering resource requirements based on rendering parameters. When the principles of obtaining the application's rendering resource requirements and obtaining the rendering performance score of rendering resources are essentially the same, the same measurement standards can be used to measure the application's requirements and the rendering performance of rendering resources. This effectively correlates the application's requirements with the rendering performance of rendering resources through data, improving the efficiency of allocating rendering resources to the application and reducing the resource consumption of allocating rendering resources to the application.

[0018] After the rendering resource recommendation device provides the user with information about recommended rendering resources, the user can select a rendering resource indicated by the information. After the user selects a rendering resource, the rendering resource recommendation device can receive a selection command from the user terminal to allocate the selected rendering resource or a non-fixed-specification rendering resource to the application. Accordingly, after the rendering resource recommendation device recommends rendering resources to the user based on requirements, the method further includes: the rendering resource recommendation device receiving a selection command from the user regarding the recommended rendering resources; and the rendering resource recommendation device allocating the rendering resource indicated by the selection command to the application.

[0019] When the rendering resource is a non-fixed-specification rendering resource, the rendering resource recommendation device can recommend virtual resource specifications to the user, and virtualize a virtual rendering resource of that specification according to the user's selection, and allocate it to the application. In this case, the alternative non-fixed-specification rendering resource is the alternative virtual rendering resource. In one possible implementation, the rendering resource recommendation device recommends rendering resources to the user based on requirements, including: the rendering resource recommendation device determining the specifications of multiple alternative virtual rendering resources to be virtualized based on requirements; and the rendering resource recommendation device recommending the specifications of multiple alternative virtual rendering resources to the user.

[0020] Having obtained the application's rendering resource requirements from the rendering resource recommendation device, in order to recommend non-fixed-specification rendering resources to the user, it needs to acquire non-fixed-specification rendering resources whose specifications meet the application's requirements. To this end, the rendering resource recommendation device can first obtain the rendering performance score of the smallest unit of virtual resources, and based on the application's rendering resource requirements and the rendering performance score of the smallest unit of virtual resources, determine the specifications of the non-fixed-specification rendering resources that need to be virtualized.

[0021] Optionally, after the rendering resource recommendation device recommends rendering resources to the user based on demand, the method further includes: the rendering resource recommendation device receiving a user's selection instruction on the specifications of the alternative virtual rendering resources recommended by the rendering resource recommendation device; and the rendering resource recommendation device allocating virtual rendering resources virtualized based on the specifications indicated by the selection instruction to the application.

[0022] Optionally, when the rendering resource is a non-fixed specification rendering resource, the rendering resource allocated to the application can be dynamically adjusted during the application's runtime. Therefore, after the rendering resource recommendation device allocates virtual rendering resources virtualized based on the specifications indicated by the selection instruction to the application, the method further includes: during the rendering of the application's interface using the virtual rendering resources, the rendering resource recommendation device re-acquires the application's rendering resource requirements; the rendering resource recommendation device adjusts the specifications of the virtual rendering resources based on the re-acquired requirements; and the rendering resource recommendation device allocates virtual rendering resources virtualized based on the adjusted specifications to the application.

[0023] By dynamically allocating rendering resources, it is possible to use rendering resources with appropriate performance as much as possible while meeting the application system's rendering resource requirements, thereby saving the cost of using rendering resources.

[0024] Alternatively, the demand can be reflected by the application's rendering complexity, which is determined based on the rendering operations indicated by the rendering parameters.

[0025] For example, rendering operations include one or more of the following: drawing call operations performed by the rendering application's interface, drawing operations performed on different drawing targets through drawing call operations, and video memory operations performed during the drawing operations. Drawing targets can include vertices, tessellation decorations, geometric shapes, fragments, and pixels. Among these multiple drawing targets, vertices and pixels are the basic elements of each interface and are targets that must be drawn in each interface, while the remaining drawing targets are optional elements in the interface and do not necessarily need to be drawn.

[0026] When a rendering operation includes one or more of the following: a draw call operation performed to render the application's interface, a drawing operation performed on different drawing targets through the draw call operation, and a video memory operation performed in the drawing operation, the rendering resource recommendation device obtains the application's requirements for rendering resources based on rendering parameters. This includes: the rendering resource recommendation device obtaining the degree of influence of various rendering operations indicated by the rendering parameters on the application's rendering process; for any interface in part or all of the application's interfaces, the rendering resource recommendation device obtaining the number of draw call operations and the number of video memory operations performed during the rendering of any interface; for any interface in part or all of the application's interfaces, the rendering resource recommendation device obtaining the execution complexity of various drawing operations performed during the rendering of any interface; and the rendering resource recommendation device obtaining the requirements based on the degree of influence of various rendering operations performed on part or all of the interfaces on the application's rendering process, the number of draw call operations performed, the number of video memory operations performed, and the execution complexity of various drawing operations performed.

[0027] The rendering resource recommendation device can obtain the rendering complexity of some or all of an application's interfaces and derive the application's rendering complexity based on these interfaces. For example, the device can average the rendering complexities of multiple interfaces and use this average as the application's rendering complexity. Furthermore, the process of obtaining the application's rendering complexity can be repeated, and the average of the multiple rendering complexities obtained from these repeated iterations can be used as the application's rendering complexity, thereby improving the accuracy of the obtained rendering complexity.

[0028] In one possible implementation, the rendering resource recommendation device obtains the resource requirements based on the impact of various rendering operations performed on the rendering process of the application, the number of draw call operations, the number of video memory operations, and the execution complexity of the various drawing operations performed on the rendering of a portion or all interfaces. This includes: the rendering resource recommendation device obtaining the rendering resource requirements of each interface in the portion or all interfaces based on the impact of various rendering operations performed on the rendering process of the application, the number of draw call operations, the number of video memory operations, and the execution complexity of the various drawing operations performed on each interface in the portion or all interfaces; and the rendering resource recommendation device obtaining the rendering resource requirements of the application based on the rendering resource requirements of each interface in the portion or all interfaces.

[0029] Secondly, this application provides a rendering resource recommendation device, which includes: a first receiving module for receiving an application uploaded by a user; a first obtaining module for running the application and obtaining rendering parameters generated by the application during operation; a second obtaining module for obtaining the application's demand for rendering resources based on the rendering parameters, wherein the rendering resources are used to render the application's interface; and a recommendation module for recommending rendering resources to the user based on the demand.

[0030] Optionally, the rendering resource recommendation device includes: a third acquisition module for acquiring operation instructions to perform operations on the application; and a first acquisition module specifically for: running the application according to the operation instructions.

[0031] Optionally, the recommendation module is specifically used to: determine multiple alternative rendering resources that can be allocated to the application based on the requirements; and recommend multiple alternative rendering resources to the user.

[0032] Optionally, the recommendation module is specifically used to: obtain the rendering performance scores of multiple candidate rendering resources respectively; and based on the requirements and the rendering performance scores of multiple candidate rendering resources, filter among the multiple candidate rendering resources to obtain multiple alternative rendering resources.

[0033] Optionally, the recommendation module is specifically used to: obtain the rendering parameters generated by the specified application during the running process when any candidate rendering resource is exhausted during the rendering of the interface of the specified application using any candidate rendering resource; and obtain the rendering performance score of any candidate rendering resource based on the rendering parameters generated by the specified application during the running process when any candidate rendering resource is exhausted.

[0034] Optionally, the rendering resource recommendation device includes: a second receiving module for receiving a user's selection instruction for rendering resources recommended by the recommendation module; and an allocation module for allocating the rendering resources indicated by the selection instruction to the application.

[0035] Optionally, the recommendation module is specifically used to: determine the specifications of multiple alternative virtual rendering resources that need to be virtualized based on the requirements; and recommend the specifications of multiple alternative virtual rendering resources to the user.

[0036] Optionally, the rendering resource recommendation device includes: a second receiving module for receiving a user's selection instruction on the specifications of the alternative virtual rendering resources recommended by the recommendation module; and an allocation module for allocating virtual rendering resources virtualized based on the specifications indicated by the selection instruction to the application.

[0037] Optionally, the rendering resource recommendation device includes: a second acquisition module, used to reacquire the application's rendering resource requirements during the process of rendering the application's interface using virtual rendering resources; an adjustment module, used to adjust the specifications of the virtual rendering resources based on the reacquired requirements; and an allocation module, used to allocate virtual rendering resources virtualized based on the adjusted specifications to the application.

[0038] Optionally, the demand is reflected by the rendering complexity of the application, which is determined based on the rendering operations indicated by the rendering parameters.

[0039] Optionally, the rendering operation includes one or more of the following: drawing call operations performed by the interface of the rendering application, drawing operations performed on different drawing targets through the drawing call operations, and video memory operations performed in the drawing operations.

[0040] Optionally, the second acquisition module is specifically used for: acquiring the degree of influence of various rendering operations indicated by rendering parameters on the rendering process of the application; for any interface in part or all of the application's interfaces, acquiring the number of drawing call operations and the number of video memory operations performed during the rendering of any interface; for any interface in part or all of the application's interfaces, acquiring the execution complexity of various drawing operations performed during the rendering of any interface; and obtaining the required situation based on the degree of influence of various rendering operations performed during the rendering of part or all interfaces on the rendering process of the application, the number of drawing call operations performed, the number of video memory operations performed, and the execution complexity of various drawing operations performed.

[0041] Optionally, the second acquisition module is specifically used to: obtain the rendering resource requirements of each interface in the partial or all interfaces based on the degree of influence of various rendering operations performed on each interface in the rendering part or all interfaces on the rendering process of the application, the number of drawing call operations performed, the number of video memory operations performed, and the execution complexity of various drawing operations performed; and obtain the rendering resource requirements of the application based on the rendering resource requirements of each interface in the partial or all interfaces.

[0042] Thirdly, this application provides a computer device, which includes a processor and a memory; the memory stores a computer program; when the processor executes the computer program, the computer device implements the rendering resource recommendation method provided in the first aspect of this application.

[0043] Fourthly, this application provides a storage medium that is a non-volatile computer-readable storage medium, which, when the instructions in the storage medium are executed by a processor, implements the rendering resource recommendation method provided in the first aspect of this application.

[0044] Fifthly, this application provides a computer program product containing instructions that, when run on a computer, cause the computer to execute the rendering resource recommendation method provided in the first aspect of this application. Attached Figure Description

[0045] Figure 1 This is a schematic diagram illustrating an application scenario related to a method for recommending rendering resources provided in an embodiment of this application;

[0046] Figure 2 This is a flowchart of a rendering resource recommendation method provided in an embodiment of this application;

[0047] Figure 3 This is a schematic diagram of a user terminal display interface provided in an embodiment of this application;

[0048] Figure 4 This is a schematic diagram of another user terminal display interface provided in an embodiment of this application;

[0049] Figure 5 This is a schematic diagram of a recording page provided in an embodiment of this application;

[0050] Figure 6 This is a flowchart of a method for obtaining the rendering complexity of an application, provided in an embodiment of this application.

[0051] Figure 7 This is a flowchart of a method for recommending rendering resources of fixed specifications to a user, provided in an embodiment of this application.

[0052] Figure 8This is a flowchart of a method for determining multiple candidate rendering resources provided in an embodiment of this application;

[0053] Figure 9 This is a flowchart illustrating a method for recommending non-fixed-specification rendering resources to a user, as provided in an embodiment of this application.

[0054] Figure 10 This is a schematic diagram illustrating the allocation of rendering resources to an application, provided in an embodiment of this application.

[0055] Figure 11 This is a flowchart of a method for dynamically allocating rendering resources of non-fixed specifications, provided in an embodiment of this application.

[0056] Figure 12 This is a flowchart of a method for training a model provided in an embodiment of this application;

[0057] Figure 13 This is a schematic diagram of the structure of a rendering resource recommendation device provided in an embodiment of this application;

[0058] Figure 14 This is a schematic diagram of the structure of a rendering resource recommendation device provided in an embodiment of this application;

[0059] Figure 15 This is a schematic diagram of another rendering resource recommendation device provided in an embodiment of this application;

[0060] Figure 16 This is a schematic diagram of the structure of a computer device provided in an embodiment of this application. Detailed Implementation

[0061] To make the objectives, technical solutions, and advantages of this application clearer, the embodiments of this application will be described in further detail below with reference to the accompanying drawings.

[0062] This application provides a rendering resource recommendation method and apparatus. In this method, a rendering resource recommendation device receives an application uploaded by a user, runs the application, obtains rendering parameters generated during the application's operation, and then, based on these parameters, determines the application's rendering resource requirements. Based on these requirements, rendering resources are then recommended to the user. These rendering resources are used to render the application's interface. By obtaining the application's rendering resource requirements and recommending resources to the user accordingly, on-demand configuration of rendering resources for the application can be achieved, recommending cost-effective rendering resources to the user and improving resource utilization.

[0063] Figure 1 This is a schematic diagram illustrating an application scenario related to a method for recommending rendering resources provided in an embodiment of this application. For example... Figure 1As shown, this application scenario includes: rendering resource recommendation device 01, terminal 02, and rendering resource 03. Communication connections are established between each of the three devices: rendering resource recommendation device 01, terminal 02, and rendering resource 03.

[0064] In this method of recommending rendering resource 03, the user can send an application to the rendering resource recommendation device 01 on terminal 02. The rendering resource recommendation device 01 can receive the user-uploaded application, run the application, and obtain the rendering parameters generated during the application's operation. Based on these rendering parameters, it can then determine the application's requirements for rendering resource 03 and recommend rendering resource 03 to the user. Accordingly, the user can select the desired rendering resource 03 from the recommendations of the rendering resource recommendation device 01. The rendering resource recommendation device 01 can receive the user's selection of the recommended rendering resource 03 and allocate the selected rendering resource 03 to the user's application, enabling the user to use the rendering resource 03 to render the application's interface. The application interface rendered by rendering resource 03 is sent to the user's terminal 02 as a video stream, which the terminal 02 can then display to show the user the application's interface.

[0065] Optionally, terminal 02 can be a desktop computer, mobile phone, tablet computer, smart TV, smart wearable device, vehicle communication device, and computer, etc. The terminal 02 used by the user to upload the application and the terminal 02 used to display the application interface can be the same terminal 02 or different terminals 02; this embodiment does not specifically limit their use. For example, when uploading an application, the user can specify the terminal 02 used to display the application interface. After the rendering resource 03 obtains the video stream of the application interface, it can send the video stream to the terminal 02 specified by the user, so that the application interface can be displayed on the specified terminal 02.

[0066] Rendering resource 03 can be a graphics processing unit (GPU) or other resource capable of image rendering. Furthermore, rendering resource 03 can be a physical resource or a virtual resource. For example, rendering resource 03 can be a physical GPU (such as the GPU in a bare metal server) or a virtual graphics processing unit (vGPU).

[0067] The rendering resource recommendation device 01 can be a hardware system, a software system deployed on hardware devices, virtual machines, and / or containers, or a combination of hardware and software. When the rendering resource recommendation device 01 is a hardware system, it can be a collection of computing devices. When the rendering resource recommendation device 01 is a software system, it can be deployed independently on servers, virtual machines, or containers. Alternatively, when the rendering resource recommendation device 01 is a software system, it can be distributed across one or more of multiple servers, virtual machines, and containers. For example, the rendering resource recommendation device 01 can be implemented using a single server or a server cluster consisting of multiple servers. As another example, the rendering resource recommendation device 01 can be software running on a virtual machine.

[0068] Furthermore, in this embodiment, the rendering resource recommendation device 01 can be deployed in various ways. For example, the rendering resource recommendation device 01 can be deployed on the public internet. Alternatively, the rendering resource recommendation device 01 can be deployed in a cloud platform. The cloud platform can be a central cloud platform, an edge cloud platform, or a cloud platform including both a central cloud and an edge cloud; this embodiment does not specifically limit its deployment. Furthermore, when the cloud platform includes both a central cloud and an edge cloud, the rendering resource recommendation device 01 can be partially deployed in the edge cloud platform and partially deployed in the central cloud platform.

[0069] When the rendering resource recommendation device 01 is deployed in a cloud platform, the rendering resource 03 can be a resource within the cloud platform. At this time, the rendering resource recommendation device 01 recommends the rendering resource 03 to the user and assigns the functionality of the rendering resource 03 to the application. This functionality can be abstracted into a rendering cloud service by the cloud service provider and offered to the user on the cloud platform. The user can upload an application to the rendering resource recommendation device 01, and the device can recommend the rendering resource 03 from the cloud platform based on the application. This allows the user to purchase the rendering cloud service, i.e., purchase the rendering resource 03 from the cloud platform, and have the purchased rendering resource 03 render the application's interface.

[0070] The implementation process of a rendering resource recommendation method provided in the embodiments of this application will be described below. Figure 2 This is a flowchart of a rendering resource recommendation method provided in an embodiment of this application, such as... Figure 2 As shown, the implementation process of this rendering resource recommendation method may include the following steps:

[0071] Step 201: Rendering resource recommendation device receives user-uploaded applications.

[0072] When a user needs a rendering resource recommendation device to allocate rendering resources to their application, they can send the application to the rendering resource recommendation device through their terminal. This allows the device to obtain the application's rendering resource requirements and recommend rendering resources to the user based on those requirements.

[0073] Optionally, users can log in to the console interface of the rendering resource recommendation device through their terminal and upload applications on that console interface. For example, Figure 3 and Figure 4 This is a schematic diagram of a console operation interface displayed on a user's terminal, as provided in an embodiment of this application. Figure 3 and Figure 4 As shown, the console interface has an upload application button. By clicking the upload application button, the terminal interface can switch from the console interface to an interface for selecting the upload path of the application, so that the user can select the upload path of the application and select the application to be uploaded from the selected upload path, so as to upload the selected application to the recommended rendering resource device.

[0074] After receiving an application sent by a user, the rendering resource recommendation device can store the application in its storage system and install it on the device. In one implementation, when the rendering resource recommendation device is deployed on a cloud platform, the storage system can be a storage system within the cloud platform. For example, this storage system could be an Object Storage Service (OBS) system.

[0075] Step 202: Render resource recommendation device obtains operation instruction script. The operation instruction script carries operation instructions that indicate the operation to be performed on the application.

[0076] The rendering resource recommendation device can perform operations on the application based on operation instructions to obtain the rendering parameters generated by the application during the operation, and then determine the application's requirements for rendering resources based on these parameters. These operation instructions can be carried in an operation instruction script. The rendering resource recommendation device can obtain the operation instructions for performing operations on the application by running the operation instruction script; therefore, the rendering resource recommendation device needs to obtain this operation instruction script.

[0077] The rendering resource recommendation device can run operation instruction scripts under operator guidance, or it can run them automatically. When the device runs the scripts automatically, it increases the automation and efficiency of the rendering resource recommendation process. Furthermore, by repeatedly executing the instructions in the scripts and using the rendering parameters obtained from these executions, the device can allocate rendering resources to the application more accurately based on its needs.

[0078] The script for obtaining operation instructions can be implemented in the following ways:

[0079] In one possible way of obtaining the operation instruction script, the user can run an application on the terminal they are using and perform operations on the application. Then, an operation instruction script is generated based on the user's operations on the application, and the operation instruction script is uploaded to the rendering resource recommendation device, so that the rendering resource recommendation device can obtain the operation instruction script.

[0080] For example, in such Figure 3 In the console operation interface shown, the user can click the "Upload Operation Instruction Script" button, which will redirect the terminal display from the console operation interface to an interface for selecting the upload path of the operation instruction script. The user can then select the operation instruction script to be uploaded from the selected upload path to upload the selected operation instruction script to the recommended rendering resource device.

[0081] In another possible method of obtaining operation instruction scripts, the rendering resource recommendation device has the function of recording operation instruction scripts, and can record operation instruction scripts based on the operations performed by the application. After the rendering resource recommendation device obtains the application uploaded by the user, it can run the application. At this time, the user or console operator can log in to the console operation interface of the rendering resource recommendation device through their terminal, and then remotely operate the application on the cloud platform through the console operation interface. At this time, the rendering resource recommendation device can record the operations performed by the application to obtain the operation instruction script.

[0082] For example, such as Figure 4 As shown, users can click the record button on the console operation page displayed on the terminal to start recording. At this time, the interface displayed on the user's terminal will switch from the console operation page to... Figure 5 The recording page shown displays the application's running interface. Users can... Figure 5The user interacts with the application through its interface. The rendering resource recommendation device can record the actions performed by the application. Furthermore, when the user clicks the end button or the recording time ends, the rendering resource recommendation device stops recording, and the terminal's interface returns to the console operation page. For example... Figure 5 As shown, the recording page will display the remaining recording time. Recording will end when the remaining recording time is 0.

[0083] It should be noted that in this embodiment, step 202 is an optional step, and the rendering resource recommendation device can choose whether to execute step 202 according to application requirements. For example, when an application is running on the rendering resource recommendation device, a console operator can operate the application, causing the rendering resource recommendation device to obtain rendering parameters generated by the application based on the operation. In this case, the operation instructions executed by the rendering resource recommendation device are issued by the console operator and do not need to be obtained from the operation instruction script. Therefore, in this case, the rendering resource recommendation device does not need to obtain the operation instructions from the operation instruction script, and step 202 can be omitted.

[0084] Step 203: Render resources. Recommend the device to run the application and obtain the rendering parameters generated by the application during its operation.

[0085] The rendering resource recommendation device can acquire rendering parameters generated by an application during runtime to determine the application's rendering resource requirements. After receiving a user-uploaded application, the device can run the application and acquire rendering parameters generated by the application's operations during runtime. Furthermore, upon receiving a user-uploaded application, the device can acquire the rendering parameters generated by the application in real time and determine the application's rendering resource requirements based on these parameters. For example, ... Figure 3 As shown in the console interface, users can click the "Execute Match" button on the console operation page to instruct the recommended rendering resource device to immediately begin acquiring rendering parameters and determine the application's rendering resource requirements based on these parameters.

[0086] Optionally, rendering parameters can be captured at a specified capture frequency. This specified capture frequency can be set by the console. For example, the value of the specified capture frequency can be equal to the application's frame rate.

[0087] Optionally, when the rendering resource recommendation device runs the application, it needs to perform operations on the application to obtain rendering parameters generated by the application based on these operations. These operations can be implemented in various ways. For example, the rendering resource recommendation device can run an operation instruction script under the trigger command of a console operator, causing the device to execute the operation instructions in the script to perform the operations indicated by those instructions on the application. Alternatively, the rendering resource recommendation device can automatically run the operation instruction script and execute the operation instructions within it to perform the operations indicated by those instructions on the application. Or, the console operator can perform real-time operations on the application while it is running on the rendering resource recommendation device.

[0088] Optionally, the application's rendering resource requirements can be obtained based on the rendering parameters generated during application runtime. These rendering parameters can be used in various ways. For example, the rendering parameters generated during application runtime can be stored in a data file for later retrieval of rendering resource requirements. Alternatively, the rendering parameters generated during application runtime can be provided to the recommended rendering resource device in real time, allowing the recommended device to dynamically obtain these parameters.

[0089] Rendering parameters indicate the rendering operations performed when rendering the application's interface. These parameters can specify the type, number, and duration of each rendering operation. For example, rendering operation types include: drawcalls performed on the application's interface, drawing operations performed on different drawing targets via drawcalls, and memory operations performed during drawing operations. Optionally, drawing targets can include vertices, tessellations, geometry, fragments, and pixels. Among drawing targets, vertices and pixels are fundamental elements of each interface and must be drawn, while other drawing targets are optional elements and do not necessarily need to be drawn. Furthermore, the execution complexity of any drawing operation can be determined based on the number of program instructions required to complete the operation and the clock cycles required for each instruction. For example, the execution complexity of a drawing operation can be equal to the product of the number of program instructions required to complete the operation and the clock cycles required for each instruction.

[0090] For example, such as Figure 3 and Figure 4As shown, the recommended rendering parameters for the device include: number of draw calls per frame: 17, number of memory operations: 1250.

[0091] Step 204: Rendering resource recommendation device. Based on the rendering parameters, obtain the application's requirements for rendering resources, where rendering resources are used to render the application's interface.

[0092] Optionally, the requirement refers to the specifications of the rendering resources needed by the application to meet its display performance requirements. Meeting the application's display performance means that, while maintaining the application's display frame rate, the rendering resources can perform the rendering operations required by the application. For example, an application's requirement might be that, to ensure a display frame rate of no less than 60 frames per second during application operation, the application requires two cores of rendering resources. These rendering resources can be graphics processing units (GPUs) or other resources capable of image rendering. Furthermore, these rendering resources can be physical resources or virtual resources. For example, they could be a physical GPU (such as the GPU in a bare-metal server) or a virtual graphics processing unit.

[0093] In one feasible approach to obtaining demand conditions, these conditions can be reflected by the application's rendering complexity. This rendering complexity can be determined based on the rendering operations indicated by the rendering parameters.

[0094] For example, when a rendering operation includes: a draw call operation performed on the interface of the rendering application, drawing operations performed on different drawing targets through the draw call operation, and video memory operations performed during the drawing operation, such as Figure 6 As shown, obtaining the rendering complexity of an application can be achieved by following these steps:

[0095] Step 2041: The recommended rendering resource devices obtain the degree of influence of various rendering operations indicated by the rendering parameters on the rendering process of the application.

[0096] Different rendering operations have varying degrees of impact on the application's rendering process. The degree of impact of each rendering operation represents its proportion of the overall rendering complexity. Therefore, to determine the application's rendering complexity, it is necessary to obtain the degree of impact of each rendering operation on the application's rendering process. In this embodiment, the degree of impact can be known parameters acquired by the rendering resource recommendation device before obtaining the demand conditions.

[0097] In one implementation, the rendering resource recommendation device may store the degree of impact of various rendering operations on the application's rendering process, and the rendering resource recommendation device may read this degree of impact. Alternatively, this degree of impact may be stored on another device, from which the rendering resource recommendation device may obtain the degree of impact.

[0098] Step 2042: Rendering resource recommendation device: For any one of the interfaces in part or all of the application, obtain the number of drawing call operations and the number of video memory operations performed during the rendering of that one interface.

[0099] As can be seen from step 203, both the drawing call operation and the video memory operation are rendering operations indicated by the rendering parameters. Since the rendering parameters have been obtained in step 203, the rendering parameters obtained in step 2042 can be used directly.

[0100] Step 2043: Rendering resource recommendation device: For any one of the interfaces in part or all of the application's interface, obtain the execution complexity of various drawing operations performed during the rendering of that interface.

[0101] As can be seen from step 203, all drawing operations are rendering operations indicated by rendering parameters, and the rendering parameters have been obtained in step 203. Therefore, the rendering parameters obtained in step 2043 can be used directly in step 2043.

[0102] Step 2044: The rendering resource recommendation device determines the rendering complexity of the application by considering the impact of various rendering operations performed on the rendering process of the application based on the rendering part or all of the interface, the number of drawing call operations performed, the number of video memory operations performed, and the execution complexity of various drawing operations.

[0103] Optionally, the rendering resource recommendation device needs to obtain the rendering complexity of some or all interfaces of the application, and obtain the rendering complexity of the application based on the rendering complexity of some or all interfaces. For example, the rendering resource recommendation device can take the average of the rendering complexities of multiple interfaces and determine the average as the rendering complexity of the application. Furthermore, the process of obtaining the rendering complexity of the application can be repeated, and the average of the multiple rendering complexities obtained from repeating this process can be determined as the rendering complexity of the application, thereby improving the accuracy of the obtained rendering complexity. The rendering complexity of each interface is obtained as follows:

[0104] In one implementation, the rendering resource recommendation device can determine the rendering complexity of the application's interface based on the time required to render the application's interface. Optionally, the time required to render the application's interface can be determined according to the principles of the rendering pipeline, based on the total time of rendering the application's interface, the total time of executing draw call operations, the total time of executing drawing operations, the total time of executing video memory operations, the impact of various rendering operations on the application's rendering process, the number of draw call operations, the number of video memory operations, and the execution complexity of various drawing operations. The time required to render the application's interface reflects the rendering complexity of the application.

[0105] For example, during the rendering of any interface, the time T required to render that interface. all The degree of impact of the drawing call operation on the application's rendering process f dc The number of times N draw call operations are performed. dc The time T spent executing each drawing call operation dc The degree of impact f of each drawing operation performed on different drawing targets on the application's rendering process. stage The execution complexity C of each drawing operation performed on different drawing targets stage The time T for each drawing operation performed on different drawing targets stage The number of memory operations N during the rendering process mem The degree of impact of video memory operations on the application's rendering process f mem The average time T for a single video memory operation mem It can satisfy the following formula (1):

[0106]

[0107] Furthermore, to highlight the differences in rendering resource requirements among different interfaces, the influence of some more specialized parameters on these requirements can be removed based on determining the time needed to render the application's interface. Optionally, the impact of the duration of rendering operations on rendering complexity can be removed based on determining the time needed to render the application's interface. That is, the rendering complexity of the application's interface can be determined based on the degree of influence of various rendering operations performed by the application's interface on the application's rendering process, the number of drawing calls, the number of video memory operations, and the execution complexity of various drawing operations.

[0108] For example, the rendering complexity R of the application, and the degree of influence f of the draw call operation on the rendering process of the application. dcThe number of times N is executed during the rendering process. dc The degree of impact f of each drawing operation performed on different drawing targets on the application's rendering process. stage The execution complexity C of each drawing operation performed on different drawing targets stage The number of memory operations N in each frame mem The degree to which video memory operations affect the application's rendering process. mem It can satisfy the following formula (2):

[0109]

[0110] It should be noted that steps 2041 to 2044 above are only an example of how to obtain the application's requirements for rendering resources, and are not intended to limit the implementation process of step 204. When the rendering recommendation device obtains the application's requirements for rendering resources, other implementation methods can be selected according to the application requirements. This application embodiment does not specifically limit them.

[0111] In one possible implementation, the process of determining the demand situation described above can be implemented using a model. When using a model, the required level of influence for obtaining the demand situation based on the model needs to be determined in advance through a training process. To ensure the readability of the embodiments of this application, this training process will be described later.

[0112] Step 205: The rendering resource recommendation device recommends relevant information about rendering resources to the user based on the user's needs.

[0113] The rendering resource recommendation device can recommend rendering resources that meet the user's needs, allowing the user to choose the appropriate rendering resources and then assign the user-selected rendering resources to the application.

[0114] In one possible implementation, the rendering resource recommendation device can recommend multiple rendering resources that meet the user's needs. For example, based on meeting the user's needs, the device can recommend low, medium, and high-level rendering resources according to their rendering performance. Alternatively, it can recommend rendering resources from different manufacturers. Or, it can recommend multiple rendering resources based on other reference standards.

[0115] In another possible implementation, the rendering resource recommendation device can recommend a rendering resource to the user. For example, the rendering resource recommended by the device could be any rendering resource that meets the user's needs. Alternatively, the rendering resource recommended by the device could be a rendering resource from a manufacturer specified by the user. Or, the rendering resource recommended by the device could be a rendering resource recommended based on other reference standards.

[0116] The rendering resources can be either fixed-specification or non-fixed-specification. Optionally, fixed-specification rendering resources can be physical resources or virtual resources with fixed specifications. Non-fixed-specification rendering resources refer to virtual resources that, when recommending rendering resources, have not yet been integrated into a specification equal to the recommended rendering resource based on the smallest unit of virtual resources, and such non-fixed-specification rendering resources include one or more smallest units of virtual resources. The smallest unit of virtual resource can be a resource that has already been virtualized, or it can be a resource that has not been virtualized. The implementation of step 205 differs depending on whether the rendering resource is fixed-specification or non-fixed-specification; these will be explained separately below:

[0117] When the rendering resource is a fixed-size rendering resource, the specifications of the rendering resource are already determined. Based on the application's requirements for rendering resources, fixed-size physical rendering resources or virtual rendering resources can be recommended to the user. Figure 7 This is a flowchart illustrating a method for recommending rendering resources of fixed specifications to a user, as provided in an embodiment of this application. Figure 7 As shown, the implementation of step 205 may include the following steps:

[0118] Step 2051a: Based on the demand, the rendering resource recommendation device determines multiple alternative rendering resources that can be allocated to the application.

[0119] Optionally, such as Figure 8 As shown, step 2051a includes:

[0120] Step a1: Rendering resource recommendation devices obtain the rendering performance scores of multiple candidate rendering resources.

[0121] To recommend rendering resources to users, a rendering resource recommendation device needs to acquire rendering resources that meet the application's requirements. To do this, the device can obtain rendering performance scores for multiple candidate rendering resources to determine whether the resources meet the application's needs. To obtain these scores, the device needs to acquire rendering parameters generated by the application during runtime when all candidate resources are exhausted while rendering the application's interface using any one of them. Furthermore, the device can obtain the rendering performance score of any candidate rendering resource based on these parameters. For example, the granularity of obtaining the rendering performance score can be refined to the GPU level, or even to a single Compute Unified Device Architecture (CUDA) core under different GPU architectures.

[0122] It should be noted that, because the recommended rendering device needs to obtain the rendering parameters of the candidate rendering resource when acquiring its rendering performance score, the application in this application is designed to run a designated application on the recommended rendering device. The designated application can switch between different application scenarios to obtain the rendering parameters of the exhausted rendering resource, depending on the rendering operations required. Furthermore, when obtaining the rendering parameters generated by the designated application during its operation, the application can present more application scenarios, resulting in more representative rendering parameters. This makes the obtained rendering parameters more comprehensive and the data source more stable, effectively improving the accuracy of obtaining the rendering performance score of the candidate rendering resource.

[0123] In one feasible method for obtaining rendering performance scores using a specified application, the specified application can be run on a recommended rendering resource device, and its interface can be rendered using a candidate rendering resource. Simultaneously, based on the rendering operations required, the specified application can switch between different application scenarios to obtain rendering parameters for the specified application running in different rendering scenarios. Based on these obtained rendering parameters, the rendering performance score of any candidate rendering resource can be obtained.

[0124] In one possible method for obtaining rendering performance scores of rendering resources, during the process of rendering the interface of a specified application using candidate rendering resources, the rendering resource recommendation device can obtain the rendering parameters generated by the specified application during its operation when the candidate rendering resources are exhausted. Then, based on the obtained rendering parameters and the impact of various rendering operations on the rendering process of the application, it obtains the rendering performance scores of multiple candidate rendering resources. This implementation method can refer to the implementation method for obtaining the application's requirements in step 204. Since the principles of obtaining the application's requirements for rendering resources and obtaining the rendering performance scores of rendering resources are essentially the same, the same measurement standards can be used to measure the application's requirements and the rendering performance of rendering resources. This effectively correlates the application's requirements with the rendering performance of rendering resources through data, improving the efficiency of allocating rendering resources to the application and reducing the resource consumption of allocating rendering resources to the application.

[0125] Step a2: Rendering resource recommendation. Based on the requirements and the rendering performance scores of multiple candidate rendering resources, the device filters among the multiple candidate rendering resources to obtain multiple alternative rendering resources.

[0126] In one implementation, the rendering resource recommendation device can determine candidate rendering resources by comparing the rendering complexity of the application with the rendering performance score of the resource to be rendered. Specifically, if the rendering complexity of the application is less than the rendering performance score of the resource to be rendered, then the rendering performance of the candidate rendering resource meets the application's requirements, and thus the candidate rendering resource is determined as a candidate rendering resource. Alternatively, if the difference between the rendering performance score of the resource to be rendered and the rendering complexity of the application is greater than a specified threshold, then the rendering performance of the candidate rendering resource meets the application's requirements, and thus the candidate rendering resource is determined as a candidate rendering resource. The specified threshold can be determined based on application requirements. For example, the specified threshold can be equal to 20% of the application's rendering complexity.

[0127] Optionally, in addition to meeting the application's rendering resource requirements, the candidate rendering resource may also meet user-specified conditions to be determined as a candidate rendering resource. For example, user-specified conditions may include one or more of the following: the maximum number of candidate rendering resource options set by the user, the manufacturer of the rendering resource specified by the user, and the minimum performance score of the candidate rendering resource specified by the user.

[0128] Step 2052a: The rendering resource recommendation device recommends multiple alternative rendering resources to the user.

[0129] The rendering resource recommendation device needs to recommend several selected alternative rendering resources to the user for selection, so that the user-selected rendering resources can be allocated to the application.

[0130] Optionally, when recommending alternative rendering resources to a user, the rendering resource recommendation device can not only provide the user with alternative rendering resources, but also provide the user with other information. This other information may include information such as the application's requirements. For example, the recommendation information provided by the rendering resource recommendation device to the user may include the following three implementation methods:

[0131] In one possible implementation of the recommendation information, the recommendation information may include the rendering performance score of the candidate rendering resource and the rendering complexity of the application. In this case, the user terminal's console operation page can display the rendering performance score of the candidate rendering resource and the rendering complexity of the application.

[0132] In another possible implementation of the recommendation information, the recommendation information may include the application's rendering parameters, the application's rendering complexity, and the rendering performance scores of alternative rendering resources. In this case, the user terminal's console operation page can display the application's rendering parameters, the application's rendering complexity, and the rendering performance scores of alternative rendering resources.

[0133] In another possible implementation of the recommendation information, the recommendation information may include the application's rendering parameters, the application's rendering complexity, the rendering performance scores of alternative rendering resources, and the specifications of the alternative rendering resources. In this case, such as... Figure 3 As shown, the user terminal's console operation page can display the application's rendering parameters, rendering complexity, rendering performance scores of alternative rendering resources, and specifications of the alternative rendering resources. The application's rendering parameters include: draw calls per frame: 17, memory operations per frame: 1250. The application's rendering complexity is 80. The alternative rendering resources are physical GPU1, virtual GPU1, and virtual GPU2. The rendering performance score for physical GPU1 is 85, for virtual GPU1 it is 83, and for virtual GPU2 it is 81. The specifications for physical GPU1 are 3 cores and 2 gigabit (GB) of video memory. The specifications for virtual GPU1 are 2 cores and 2.2 GB of video memory. The specifications for virtual GPU2 are 2 cores and 2 GB of video memory.

[0134] When the rendering resource is a non-fixed-specification rendering resource, the rendering resource recommendation device can recommend virtual resource specifications to the user, and virtualize a virtual rendering resource of that specification according to the user's selection, and allocate it to the application. In this case, the non-fixed-specification rendering resource is called a virtual rendering resource. For example... Figure 9 As shown, Figure 9 This is a flowchart of a method for recommending non-fixed-specification rendering resources to a user, provided in an embodiment of this application. The implementation of step 205 may include the following steps:

[0135] Step 2051b: Based on the requirements, the recommended rendering resources device determines the specifications of various non-fixed specification alternative rendering resources that need to be virtualized.

[0136] Having obtained the application's rendering resource requirements from the rendering resource recommendation device, in order to recommend non-fixed-specification rendering resources to the user, it needs to obtain non-fixed-specification rendering resources whose specifications meet the application's requirements. To this end, the rendering resource recommendation device can first obtain the rendering performance score of the smallest unit of virtual resources, and based on the application's rendering resource requirements and the rendering performance score of the smallest unit of virtual resources, determine the specifications of the non-fixed-specification rendering resources to be virtualized. Optionally, the implementation method for obtaining the rendering performance score of the smallest unit of virtual resources can refer to the implementation method of step a1, which will not be elaborated here. Furthermore, this smallest unit can be quantized using a single computing architecture kernel.

[0137] In one feasible method for determining the specifications of non-fixed-size rendering resources that need to be virtualized, since rendering complexity represents the workload of performing rendering operations, and the rendering performance score of the smallest unit of virtual resource represents the workload that the smallest unit of virtual resource can complete when performing rendering operations, the rendering resource recommendation device can determine the specifications of the non-fixed-size rendering resources based on the application's rendering complexity and the rendering performance score of the smallest unit of virtual resource. For example, the rendering resource recommendation device can determine that the specifications of the non-fixed-size rendering resources are at least equal to the ratio of the application's rendering complexity to the rendering performance score of the smallest unit of virtual resource.

[0138] Step 2052b: The rendering resource recommendation device recommends multiple non-fixed specification alternative rendering resources to the user.

[0139] The rendering resource recommendation device can recommend the specifications of several non-fixed-specification alternative rendering resources to the user for selection, virtualize the non-fixed-specification rendering resource of the user's selected specification, and then allocate it to the application.

[0140] Optionally, when recommending alternative rendering resources of non-fixed specifications to a user, the rendering resource recommendation device can not only provide the user with alternative rendering resources of non-fixed specifications, but also provide the user with other information. This other information may include information such as the application's requirements. For example, the recommendation information provided by the rendering resource recommendation device to the user may include the following three implementation methods:

[0141] In one possible implementation of the recommendation information, the recommendation information may include the rendering performance scores of alternative rendering resources with non-fixed specifications and the rendering complexity of the application. In this case, the user terminal's console operation page can display the rendering performance scores of the alternative rendering resources with non-fixed specifications and the rendering complexity of the application.

[0142] In another possible implementation of the recommendation information, the recommendation information may include the application's rendering parameters, the application's rendering complexity, and the rendering performance scores of alternative rendering resources with non-fixed specifications. In this case, the user terminal's console operation page can display the application's rendering parameters, the application's rendering complexity, and the rendering performance scores of alternative rendering resources with non-fixed specifications.

[0143] In another possible implementation of the recommendation information, the recommendation information may include the application's rendering parameters, the application's rendering complexity, the rendering performance scores of alternative rendering resources with non-fixed specifications, and the specification parameters of alternative rendering resources with non-fixed specifications. In this case, such as... Figure 3 As shown, the console operation page of the user terminal can display the application's rendering parameters, the application's rendering complexity, the rendering performance score of alternative rendering resources with non-fixed specifications, and the specification parameters of alternative rendering resources with non-fixed specifications.

[0144] Step 206: The rendering resource recommendation device receives the user's selection instruction regarding the relevant information of the rendering resources recommended by the rendering resource recommendation device.

[0145] After the rendering resource recommendation device recommends rendering resources to the user, the user can select a rendering resource from the recommended information. Once the user has selected a rendering resource, the rendering resource recommendation device can receive a selection command from the user's terminal to allocate the selected rendering resource, or a non-fixed-specification rendering resource, to the application. For example, the user can log in via the terminal. Figure 3 or Figure 4 The console operation page is shown. Then, determine the specifications of the rendering resource to be selected, and choose the specifications of the rendering resource by clicking the configuration options displayed on the page. Figure 3 or Figure 4 The text describes a process where the user selects "Virtual GPU1, manufactured by Factory B, rendering performance score: 83" within the dashed box. After selecting the rendering resource, the user clicks the "OK" button to instruct the recommended device to allocate the selected rendering resource to the application. Once the user clicks "OK," the recommended device receives the instruction to select the rendering resource.

[0146] Step 207: The rendering resource recommendation device allocates the rendering resources indicated by the selection instruction to the application.

[0147] After receiving the user's selection instruction regarding rendering resources, the rendering resource recommendation device can allocate the selected rendering resources to the application. The device employs different allocation methods depending on whether the rendering resources are of fixed or non-fixed specifications.

[0148] When the rendering resources are of fixed specifications, one possible way to recommend rendering resources is that after receiving a selection instruction from the user regarding the relevant information of the rendering resources recommended by the rendering resource recommendation device, the rendering resource recommendation device allocates the rendering resources selected by the user to the application.

[0149] When the rendering resource is a non-fixed-specification rendering resource, one possible implementation is that the rendering resource recommendation device receives a user's selection instruction regarding the specifications of the non-fixed-specification candidate rendering resources recommended by the device, virtualizes the non-fixed-specification rendering resource of the user's selected specifications, and allocates it to the application. For example, Figure 10 This is a schematic diagram illustrating the virtualization of rendering resources of non-fixed specifications provided in an embodiment of this application. For example... Figure 10 As shown, each virtual graphics processor (vGPU) is a minimum unit. If rendering resources need to be allocated to application A, and the size of the rendering resources allocated to application A is a minimum unit of rendering resources, a single virtual graphics processor can be directly allocated to application A. For example, as... Figure 10 As shown, if it is necessary to allocate rendering resources to application B, and the size of the rendering resources allocated to application B is two minimum units of rendering resources, the two virtual graphics processors can be integrated first, and then the integrated virtual image can be allocated to application B for use.

[0150] It should be noted that when the rendering resources are not of fixed specifications, the specifications of the rendering resources allocated to the application can be dynamically adjusted during application runtime, such as... Figure 11 As shown, its implementation steps include:

[0151] Step 2071: During the process of rendering the application's interface using non-fixed-specification rendering resources, the rendering resource recommendation device re-acquires the application's requirements for rendering resources.

[0152] During application runtime, the rendering resource recommendation device can re-acquire the application's rendering resource requirements to determine if these requirements have changed. Therefore, when rendering the application's interface using non-fixed-specification rendering resources allocated to the application, the rendering resource recommendation device can also acquire rendering parameters generated during application runtime and, based on these parameters, re-acquire the application's rendering resource requirements. The implementation process of step 2071 corresponds to the implementation processes of steps 203 and 204 mentioned above, and will not be elaborated further here.

[0153] Step 2072: Based on the reacquisition requirements, the recommended rendering resources device adjusts the specifications of non-fixed-specification rendering resources.

[0154] To ensure that the virtualization resources allocated to the application meet the application's rendering resource requirements, the rendering resource recommendation device can compare the application's rendering resource requirements with the previously acquired requirements. Based on the degree of change in requirements, it determines whether to reallocate non-fixed-specification rendering resources to the application. When determining to reallocate non-fixed-specification rendering resources, it also determines the specifications of the reassigned resources. For details on determining the specifications of the reassigned non-fixed-specification rendering resources, please refer to steps 2051b and 2052b.

[0155] In one implementation, when the application's rendering complexity is used to reflect the application's demand for rendering resources, if the difference between the application's demand for rendering resources and the previously obtained demand for rendering resources is greater than or equal to a preset threshold, non-fixed-specification rendering resources can be reallocated to the application, and step 2072 can be executed; if the difference between the application's demand for rendering resources and the previously obtained demand for rendering resources is less than the preset threshold, non-fixed-specification rendering resources are not reallocated to the application, and step 2071 can be returned.

[0156] Optionally, the preset threshold can be adjusted according to application requirements. In one implementation, the preset threshold can be a pre-set fixed value. For example, the preset threshold could be that the application's demand for rendering resources exceeds the previously acquired demand by 20%.

[0157] Step 2073: The rendering resource recommendation device allocates non-fixed specification rendering resources, which are virtualized based on the adjusted specifications, to the application.

[0158] After determining the specifications of non-fixed-specification rendering resources that need to be reallocated to the application, the rendering resource recommendation device can directly allocate the resized rendering resources to the application. Alternatively, the rendering resource recommendation device can filter the resized rendering resources according to preset filtering criteria to determine the rendering resources that need to be reallocated to the application. These filtering criteria can be determined based on application requirements. Optionally, these filtering criteria can be user-specified conditions, or they can be configuration conditions set by the rendering resource recommendation device.

[0159] For example, when the filtering condition is a user-specified condition, the rendering resource recommendation device, after determining multiple specifications of non-fixed-specification rendering resources that need to be reallocated to the application, can first recommend some or all of these specifications to the user, receive the user's selection instruction for the recommended specifications, and then reallocate the rendering resources of the specifications indicated by the selection instruction to the application. In this case, the implementation process of step 2073 can correspond to the implementation process of steps 205 to 207 mentioned above, and will not be repeated here. Alternatively, when the filtering condition is a user-specified condition, when the rendering resource recommendation device first recommends the specifications of the rendering resources to the user, the user can also specify the level of the specifications of the rendering resources to be reallocated to the application or information such as the equipment manufacturer of the rendering resources. For example, if the user specifies that the application should be allocated the lower-configuration rendering resources among the newly determined rendering resources each time rendering resources are reallocated, then the rendering resource recommendation device can directly reallocate the lower-configuration rendering resources among the determined specifications to the application after determining the specifications of the rendering resources that need to be reallocated to the application each time.

[0160] For example, when the filter condition is a configuration condition for recommending rendering resources for a specific device, the configuration condition can instruct rendering resources whose rendering performance parameters are greater than a specified percentage of the rendering performance parameters of the rendering resources currently used by the application to be identified as rendering resources that can be reallocated to the application.

[0161] Optionally, when the rendering resource recommendation device first recommends the specifications of rendering resources to the user, it may prompt the user to choose whether to dynamically adjust the specifications of the rendering resources allocated to the application. Furthermore, if the user chooses to dynamically adjust the specifications of the rendering resources allocated to the application, the rendering resource recommendation device may also prompt the user to choose whether to recommend rendering resources to be allocated before each adjustment, so that the user can select the rendering resources to be reassigned to the application.

[0162] Furthermore, after the rendering resource recommendation device reallocates rendering resources to the application, the rendering resource recommendation device can re-execute step 2071 to re-obtain the application's requirements for rendering resources and determine whether to reallocate rendering resources based on the requirements.

[0163] Generally, the rendering resource requirements differ at different stages of an application's execution. In related technologies, to ensure that the rendering resources allocated to an application meet the needs of each stage of the application's execution, the resources must be able to satisfy the stage with the highest rendering resource demand. However, this strategy of allocating rendering resources can lead to significant resource waste. The method described in steps 2071 to 2073 achieves dynamic allocation of rendering resources, enabling the use of appropriately performing rendering resources while meeting the application system's rendering resource requirements, thus saving on rendering resource usage costs.

[0164] The training process of the rendering model is described below. Optionally, such as... Figure 12 As shown, the training process of this rendering model includes:

[0165] Step 1201: The model training device obtains the initial model.

[0166] The model training device can acquire sample rendering parameters generated during the execution of the sample application, determine the model parameters of the initial model based on the rendering operations indicated by the sample rendering parameters, and train the initial model. Optionally, when the application's rendering resource requirements are represented by the application's rendering complexity, the model parameters include that rendering complexity. The model training device is a device used to train the initial model; it can be a device dedicated to training the initial model or a rendering resource recommendation device.

[0167] This application proposes an initial model for calculating the rendering resource requirements of an application based on the rendering pipeline principle. This initial model can obtain the rendering resource requirements of an application based on the rendering parameters generated during application execution. Optionally, the initial model can determine the time required to render the interface of the sample application based on the total time of rendering call operations, the total time of rendering operations, the total time of video memory operations, the impact of various rendering operations on the rendering process of the sample application, the number of rendering call operations, the number of video memory operations, and the execution complexity of various rendering operations. The time required to render the interface of the sample application reflects the rendering resource requirements of the sample application. In one possible implementation, the function of this initial model can refer to the implementation method for obtaining the rendering complexity of the application in step 2044. For example, the principle of the initial model or the rendering resource requirements of the sample application can be expressed using the aforementioned formula (1) or formula (2).

[0168] It should be noted that this initial model can be used for different applications' rendering resource requirements. Since different applications need to draw different drawing targets, the representation of this initial model will vary. For example, when an application needs to draw only vertices and pixels, the cumulative term in formula (2) can involve drawing operations on those vertices and pixels. When another application needs to draw only vertices, pixels, and fragments, the cumulative term in formula (2) can involve drawing operations on those vertices, pixels, and fragments.

[0169] Step 1202: The model training device obtains the sample application needed to train the initial model.

[0170] The model training device can obtain sample rendering parameters generated during the execution of a sample application by running the sample application, and then train the initial model based on these sample rendering parameters. Optionally, the sample application can be an application uploaded by the user or a designated application provided by the console operator of the rendering resource device. When the sample application is a designated application provided by the console operator, the designated application can present more application scenarios and obtain more representative sample rendering parameters, making the obtained rendering parameters more comprehensive and the data source more stable. This facilitates the training of the initial model based on the sample rendering parameters, thereby improving the generalization ability of the trained initial model.

[0171] Step 1203: Run the sample application on the model training device and obtain the sample rendering parameters generated during the operation of the sample application.

[0172] As described in step 1201, the initial model can obtain the application's rendering resource requirements based on the rendering parameters generated during application execution. Therefore, the model training device can obtain the sample rendering parameters generated during the sample application's execution and obtain the model parameters of the initial model based on these sample rendering parameters. Furthermore, in order to obtain the model parameters of the initial model, the sample rendering parameters include, in addition to indicating the rendering operations performed on the sample application, the application's rendering resource requirements.

[0173] In one possible implementation, when the application's demand for rendering resources is reflected by the application's rendering complexity, the model training device can determine the rendering complexity of the sample application's interface based on the sample rendering parameters generated during the sample application's execution. Furthermore, when the initial model can determine the time required to render the application's interface based on the total duration of rendering call operations, the total duration of rendering operations, the total duration of video memory operations, the impact of various rendering operations on the application's rendering process, the number of rendering call operations, the number of video memory operations, and the execution complexity of various rendering operations, and when the time required to render the application's interface is used to reflect the application's rendering complexity, the sample rendering parameters to be obtained can include: the total duration of rendering call operations, the total duration of rendering operations, the total duration of video memory operations, the number of rendering call operations, the number of video memory operations, and the execution complexity of various rendering operations. Correspondingly, the model parameters to be trained include: the impact of various rendering operations on the application's rendering process.

[0174] For example, when the initial model after training obtains the rendering complexity of the application according to formula (1), the sample rendering parameters that need to be obtained include: the time T required to render the interface of the sample application. all The number of times the drawing call operation is executed, N. dc The execution complexity C of each drawing operation performed on different drawing targets. stage The number of memory operations N during the rendering process mem The time T spent executing each drawing call operation dc The time T for each drawing operation performed on different drawing targets stage The average time T for a single video memory operation mem .

[0175] Step 1204: The model training device obtains model parameters based on the sample rendering parameters.

[0176] After acquiring the sample rendering parameters, the model training device can obtain the model parameters in the initial model based on the sample rendering parameters and the initial model, thereby completing the training of the initial model. For example, when the initial model obtains the rendering complexity of the application according to formula (1), the multiple sets of sample rendering parameters can be substituted into formula (1) respectively, so as to obtain the degree of influence f of the drawing call operation in formula (1) on the rendering process of the application. dc The degree of impact f of each drawing operation performed on different drawing targets on the application's rendering process. stage And the degree of impact of video memory operations on the application's rendering process. mem The system of equations is such that by solving this system of equations, we can obtain the values ​​of the above-mentioned degree of influence, that is, the values ​​of the model parameters.

[0177] It should be noted that after the initial training of the initial model is completed, the model training device can use the trained initial model to obtain the user's application's rendering resource requirements. Furthermore, after obtaining the application's rendering resource requirements using the trained initial model, it can also obtain the rendering parameters generated by the user's application during the process of obtaining these requirements. With the user's consent, these obtained rendering parameters are used as feedback rendering parameters based on the application. The trained initial model is then further trained based on these feedback rendering parameters to update the model parameters, thereby improving the initial model's cloud testing accuracy and generalization.

[0178] Optionally, the trained model parameters can also be validated. For example, as described in the preceding steps, the initial model obtained through training can also be used to obtain the rendering performance score of the rendering resources. Therefore, at least two rendering resources with different rendering performances recognized in the industry can be used to render the interface of the sample application, and the sample rendering parameters generated by the sample application during the rendering of the sample application using the at least two rendering resources can be obtained. The rendering performance score of the at least two rendering resources can be obtained based on the sample rendering parameters. Then, the rendering performance of the at least two rendering resources indicated by the rendering performance score is compared with the industry-recognized rendering performance. If the rendering performance of the at least two rendering resources indicated by the rendering performance score matches the industry-recognized rendering performance, it is determined that the trained model parameters are accurate. If the rendering performance of the at least two rendering resources indicated by the rendering performance score does not match the industry-recognized rendering performance, it is determined that the trained model parameters are inaccurate, and retraining can be performed in this case.

[0179] Step 1205: Based on the model parameters, obtain the trained model.

[0180] In one feasible approach, the trained model can be obtained after the model parameters are obtained through training.

[0181] In another possible implementation, after obtaining the model parameters through training, to highlight the differences in rendering complexity between different interfaces, the influence of some more specialized parameters on the rendering complexity can be removed from the initial model after training, so as to obtain the trained model. Optionally, based on determining the time required to render the application interface, the influence of the duration of rendering operations on the rendering complexity in the initial model can be removed. That is, in this case, the trained model can determine the rendering complexity of the application and / or the rendering performance score of the rendering resources based on the degree of influence of various rendering operations performed by the interface on the rendering process of the application, the number of drawing call operations performed, the number of video memory operations performed, and the execution complexity of various drawing operations performed. The function of the trained model can refer to the implementation method of obtaining the rendering complexity of the application in step 2044. For example, the trained model can obtain the rendering complexity of the application and / or the rendering performance score of the rendering resources according to the aforementioned formula (2).

[0182] It's important to note that when the rendering resource recommendation device uses the trained model, the final rendering performance score presented to the user is the rating result R. Compared to the rendering parameters generated during application runtime, the rating R removes overly technical parameter representations, presenting the user with an overall score that is easy to judge. Furthermore, compared to the initial model, the trained model only removes the impact of rendering operation time on rendering complexity, while retaining the model parameters obtained from training the initial model. Therefore, the rating result R calculated by the trained model also reflects the application's requirements or the rendering performance of the rendering resources. And compared to T in the initial model... all The rating result R is presented numerically, making it easier for users to compare the differences in rendering complexity between different applications. For example, T in the initial model all The order of magnitude is 10 -1 The order of magnitude of R in the trained model is 10. 3 A larger order of magnitude allows users to more intuitively compare the differences in rendering complexity between different applications.

[0183] In one possible implementation, the rendering resource recommendation device may include multiple modules, and the functionality of the rendering resource recommendation device in this application can be implemented collaboratively by multiple modules. For example... Figure 13 As shown, the rendering resource recommendation device 01 may include: an application management unit 011, an evaluation system unit 012, and a resource management unit 013.

[0184] The application management unit 011 implements application-related functions in the rendering resource recommendation device. For example, the application management unit 011 is used to install and run applications on the rendering resource recommendation device, store user-uploaded applications, and facilitate remote user operations on the applications. Accordingly, the application management unit 011 may include: an application installation / running subunit 0111, an application storage subunit 0112, and a remote collaboration subunit 0113. The application installation / running subunit 0111 is used to install and run applications on the rendering resource recommendation device. The application storage subunit 0112 is used to store user-uploaded applications. The remote collaboration subunit 0113 is used to facilitate remote user operations on the applications.

[0185] The evaluation system unit 012 is used to acquire the application's rendering resource requirements and allocate resources to the application based on these requirements. Accordingly, the evaluation system unit 012 may include: a data acquisition subunit 0121, a data evaluation and analysis subunit 0122, and a resource matching subunit 0123. The data acquisition subunit 0121 is used to acquire rendering parameters generated during application execution. The data evaluation and analysis subunit 0122 is used to acquire the application's requirements based on the rendering parameters. The resource matching subunit 0123 is used to determine the rendering resources to be allocated to the application based on the requirements, and may even allocate user-selected rendering resources to the application.

[0186] Resource management unit 013 is used to manage rendering resources. Optionally, the resources managed by resource management unit 013 may include physical resources or virtual resources. For example, the resources managed by resource management unit 013 may include: x86 architecture GPU servers (i.e., x86-GPU servers), advanced reduced instruction set compute machines (ARM) architecture GPU servers (i.e., ARM-GPU servers), and GPU virtualization pools, etc.

[0187] Optionally, when the rendering resource recommendation device also has a recording function, the application management unit 011 further includes a control recording subunit 0114, which is used to record operations performed on the application. When the rendering resource recommendation device is also capable of training an initial model, the application management unit 011 further includes a sample management subunit 0115, and the evaluation system unit 012 further includes a model training subunit 0124. The sample management subunit 0115 is used to manage the sample rendering parameters for training the initial model. The model training subunit 0124 is used to train the initial model based on the sample rendering parameters. When the rendering resource recommendation device is capable of dynamically allocating resources to the application, the evaluation system unit 012 further includes an elastic resource scaling subunit 0125, which is used by the user to dynamically allocate resources to the application.

[0188] Those skilled in the art will clearly understand that, for the sake of convenience and brevity, the implementation process of the above-mentioned units and sub-units can be referred to the corresponding process in the foregoing method embodiments, and will not be repeated here.

[0189] In summary, this application provides a rendering resource recommendation method. The rendering resource recommendation device can receive an application uploaded by a user, run the application, obtain the rendering parameters generated during the application's operation, and then, based on the rendering parameters, determine the application's rendering resource requirements. Based on these requirements, it then recommends rendering resources to the user. These rendering resources are used to render the application's interface. By obtaining the application's rendering resource requirements and recommending resources to the user accordingly, on-demand configuration of rendering resources for the application can be achieved, recommending cost-effective rendering resources to the user and improving resource utilization.

[0190] It should be noted that the order of steps in the rendering resource recommendation method provided in this application embodiment can be appropriately adjusted, and steps can also be added or removed as needed. Any variations that can be easily conceived by those skilled in the art within the scope of the technology disclosed in this application should be included within the protection scope of this application, and therefore will not be elaborated further.

[0191] This application also provides a rendering resource recommendation device. For example... Figure 14 As shown, the rendering resource recommendation device 140 includes:

[0192] The first receiving module 1401 is used to receive applications uploaded by users.

[0193] The first acquisition module 1402 is used to run the application and acquire the rendering parameters generated during the application's operation.

[0194] The second acquisition module 1403 is used to acquire the application's requirements for rendering resources based on rendering parameters. The rendering resources are used to render the application's interface.

[0195] The recommendation module 1404 is used to recommend rendering resources to users based on their needs.

[0196] Optionally, such as Figure 15 As shown, the rendering resource recommendation device 140 includes: a third acquisition module 1405, used to acquire operation instructions for performing operations on the application; and a first acquisition module 1402, specifically used to: run the application according to the operation instructions.

[0197] Optionally, the recommendation module 1404 is specifically used to: determine multiple alternative rendering resources that can be allocated to the application based on the requirements; and recommend multiple alternative rendering resources to the user.

[0198] Optionally, the recommendation module 1404 is specifically used to: obtain the rendering performance scores of multiple candidate rendering resources respectively; and based on the requirements and the rendering performance scores of multiple candidate rendering resources, filter among the multiple candidate rendering resources to obtain multiple alternative rendering resources.

[0199] Optionally, module 1404 is specifically used to: obtain the rendering parameters generated by the specified application during the running process when any candidate rendering resource is exhausted during the rendering of the interface of the specified application using any candidate rendering resource; and obtain the rendering performance score of any candidate rendering resource based on the rendering parameters generated by the specified application during the running process when any candidate rendering resource is exhausted.

[0200] Optionally, such as Figure 15 As shown, the rendering resource recommendation device 140 includes: a second receiving module 1406, used to receive a user's selection instruction for rendering resources recommended by the recommendation module 1404; and an allocation module 1407, used to allocate the rendering resources indicated by the selection instruction to the application.

[0201] Optionally, the recommendation module 1404 is specifically used to: determine the specifications of multiple alternative virtual rendering resources that need to be virtualized based on the requirements; and recommend the specifications of multiple alternative virtual rendering resources to the user.

[0202] Optionally, the second receiving module 1406 is used to receive a user's selection instruction on the specifications of the alternative virtual rendering resources recommended by the recommendation module 1404.

[0203] The allocation module 1407 is used to allocate virtual rendering resources virtualized according to the specifications indicated by the selection instructions to the application.

[0204] Optionally, the second acquisition module 1403 is used to reacquire the application's requirements for rendering resources during the process of rendering the application's interface using virtual rendering resources.

[0205] Adjustment module 1408 is used to adjust the specifications of virtual rendering resources based on the reacquired requirements.

[0206] The allocation module 1407 is used to allocate virtual rendering resources to the application based on the virtualized specifications after adjustment.

[0207] Optionally, the demand is reflected by the rendering complexity of the application, which is determined based on the rendering operations indicated by the rendering parameters.

[0208] Optionally, the rendering operation includes one or more of the following: drawing call operations performed by the interface of the rendering application, drawing operations performed on different drawing targets through the drawing call operations, and video memory operations performed in the drawing operations.

[0209] Optionally, the second acquisition module 1403 is specifically used for: acquiring the degree of influence of various rendering operations indicated by rendering parameters on the rendering process of the application; acquiring the number of drawing call operations and the number of video memory operations performed during the rendering of any one of the interfaces in the application; acquiring the execution complexity of various drawing operations performed during the rendering of any one of the interfaces in the application; and obtaining the required situation based on the degree of influence of various rendering operations performed during the rendering of the application, the number of drawing call operations, the number of video memory operations, and the execution complexity of various drawing operations.

[0210] Optionally, the second acquisition module 1403 is specifically used to: obtain the rendering resource requirements of each interface in the partial or all interfaces based on the degree of influence of various rendering operations performed on each interface in the rendering part or all interfaces on the rendering process of the application, the number of drawing call operations performed, the number of video memory operations performed, and the execution complexity of various drawing operations performed; and obtain the rendering resource requirements of the application based on the rendering resource requirements of each interface in the partial or all interfaces.

[0211] In summary, this application provides a rendering resource recommendation device. A first receiving module receives an application uploaded by a user, a first obtaining module runs the application and obtains the rendering parameters generated during its operation, and then a second obtaining module, based on the rendering parameters, obtains the application's rendering resource requirements. This allows a recommendation module to recommend rendering resources to the user based on these requirements. The rendering resources are used to render the application's interface. By obtaining the application's rendering resource requirements through the second obtaining module and recommending resources to the user based on these requirements, on-demand configuration of rendering resources for the application can be achieved, recommending cost-effective rendering resources to the user and improving resource utilization.

[0212] Those skilled in the art will clearly understand that, for the sake of convenience and brevity, the specific working process of the above-described device and module can be referred to the corresponding content in the foregoing method embodiments, and will not be repeated here.

[0213] This application provides a computer device. Figure 16 An exemplary diagram of a possible architecture for a computer device is provided. For example... Figure 16 As shown, the computer device 160 may include a processor 1601, a memory 1602, a communication interface 1603, and a bus 1604. In the computer device, the number of processors 1601 may be one or more. Figure 16 Only one processor 1601 is shown. Optionally, processor 1601 can be a central processing unit (CPU). If the computer device has multiple processors 1601, the multiple processors 1601 can be of different types or can be the same. Optionally, the multiple processors of the computer device can also be integrated into a multi-core processor.

[0214] The memory 1602 stores computer instructions and data. The memory 1602 can store the computer instructions and data required to implement the recommended rendering resource method provided in this application. The memory 1602 can be any one or any combination of the following storage media: non-volatile memory (such as read-only memory (ROM), solid-state disk (SSD), hard disk drive (HDD), optical disk, etc.), and volatile memory.

[0215] The communication interface 1603 can be any one or any combination of the following devices: network interface (such as Ethernet interface), wireless network card, or other devices with network access function.

[0216] Communication interface 1603 is used for data communication between computer devices and other nodes or other computer devices.

[0217] Figure 16 Bus 1604 is also illustrated as an example. Bus 1604 can connect processor 1601 to memory 1602 and communication interface 1603. In this way, through bus 1604, processor 1601 can access memory 1602 and can also use communication interface 1603 to interact with other nodes or other computer devices.

[0218] In this application, the computer device executes the computer instructions stored in memory 1602 to implement the function of the rendering resource recommendation device in the rendering resource recommendation method provided in this application. For example, it receives an application uploaded by a user; runs the application and obtains the rendering parameters generated during the application's operation; based on the rendering parameters, it obtains the application's requirements for rendering resources, which are used to render the application's interface; and recommends rendering resources to the user based on the requirements. Furthermore, the implementation process of the computer device executing the computer instructions stored in memory 1602 can be referred to the corresponding descriptions in the above method embodiments.

[0219] This application also provides a storage medium, which is a non-volatile computer-readable storage medium, and when the instructions in the storage medium are executed by the processor, the rendering resource recommendation method provided in this application is implemented.

[0220] This application also provides a computer program product containing instructions that, when run on a computer, cause the computer to execute the rendering resource recommendation method provided in this application.

Claims

1. A method for recommending rendering resources, characterized in that, include: The device recommended for rendering resources receives user-uploaded applications. The recommended rendering resource device runs the application and obtains the rendering parameters generated by the application during its operation. The rendering parameters are used to indicate the rendering operations performed when rendering the interface of the application. The rendering parameters are also used to indicate the type, number, and duration of the rendering operations. The rendering resource recommendation device obtains the application's rendering resource requirements based on the rendering parameters, and the rendering resources are used to render the application's interface. The rendering resource recommendation device recommends rendering resources to the user based on the stated requirements.

2. The method according to claim 1, characterized in that, Before the application runs on the recommended rendering resource device, the method further includes: The rendering resource recommendation device obtains operation instructions to perform operations on the application. The recommended device for rendering resources runs the application, including: The rendering resource recommendation device runs the application according to the operation instructions.

3. The method according to claim 1 or 2, characterized in that, The rendering resource recommendation device recommends rendering resources to the user based on the demand, including: Based on the demand, the rendering resource recommendation device determines multiple alternative rendering resources that can be allocated to the application. The rendering resource recommendation device recommends the multiple alternative rendering resources to the user.

4. The method according to claim 3, characterized in that, Based on the aforementioned requirements, the rendering resource recommendation device determines multiple alternative rendering resources that can be allocated to the application, including: The rendering resource recommendation device obtains the rendering performance scores of multiple candidate rendering resources respectively; The rendering resource recommendation device filters from the multiple candidate rendering resources based on the demand and the rendering performance scores of the multiple candidate rendering resources to obtain the multiple alternative rendering resources.

5. The method according to claim 4, characterized in that, The rendering resource recommendation device obtains rendering performance scores for multiple candidate rendering resources, including: The rendering resource recommendation device, while rendering the interface of a specified application using any one of the candidate rendering resources, obtains the rendering parameters generated by the specified application during its operation when all one of the candidate rendering resources is exhausted. The rendering resource recommendation device obtains the rendering performance score of any one of the candidate rendering resources based on the rendering parameters generated by the specified application during its operation when any one of the candidate rendering resources is exhausted.

6. The method according to claim 3, characterized in that, After the rendering resource recommendation device recommends rendering resources to the user based on the demand, the method further includes: The rendering resource recommendation device receives the user's selection instruction for the rendering resources recommended by the rendering resource recommendation device; The rendering resource recommendation device allocates the rendering resources indicated by the selection instruction to the application.

7. The method according to claim 1 or 2, characterized in that, The rendering resource recommendation device recommends rendering resources to the user based on the demand, including: Based on the aforementioned requirements, the rendering resource recommendation device determines the specifications of various alternative virtual rendering resources that need to be virtualized. The rendering resource recommendation device recommends the specifications of the multiple alternative virtual rendering resources to the user.

8. The method according to claim 7, characterized in that, After the rendering resource recommendation device recommends rendering resources to the user based on the demand, the method further includes: The rendering resource recommendation device receives the user's selection instruction on the specifications of the alternative virtual rendering resources recommended by the rendering resource recommendation device; The rendering resource recommendation device allocates virtual rendering resources to the application based on the specifications indicated by the selection instruction.

9. The method according to claim 7, characterized in that, After the rendering resource recommendation device allocates virtual rendering resources virtualized based on the specifications indicated by the selection instruction to the application, the method further includes: During the process of rendering the application's interface using the virtual rendering resources, the rendering resource recommendation device re-acquires the application's requirements for the rendering resources; The recommended rendering resource device adjusts the specifications of the virtual rendering resource based on the re-acquisition of requirements; The rendering resource recommendation device allocates virtual rendering resources to the application based on the adjusted specifications.

10. The method according to claim 1 or 2, characterized in that, The required conditions are reflected by the rendering complexity of the application, which is determined based on the rendering operations indicated by the rendering parameters.

11. The method according to claim 10, characterized in that, The rendering operation includes one or more of the following: a drawing call operation performed to render the interface of the application, a drawing operation performed on different drawing targets through the drawing call operation, and a video memory operation performed in the drawing operation.

12. The method according to claim 11, characterized in that, The rendering resource recommendation device, based on the rendering parameters, obtains the application's rendering resource requirements, including: The rendering resource recommendation device respectively obtains the degree of influence of various rendering operations indicated by the rendering parameters on the rendering process of the application; The rendering resource recommendation device, for any one of the interfaces of the application, obtains the number of drawing call operations and the number of video memory operations performed during the rendering of any one interface. The rendering resource recommendation device, for any one of the interfaces of the application, obtains the execution complexity of various drawing operations performed during the rendering of any one interface. The rendering resource recommendation device obtains the required information based on the degree of influence of various rendering operations performed on the rendering process of the application, the number of drawing call operations performed, the number of video memory operations performed, and the execution complexity of various drawing operations performed.

13. The method according to claim 12, characterized in that, The rendering resource recommendation device determines the required conditions based on the impact of various rendering operations performed on the rendering process of the application, the number of drawing call operations, the number of video memory operations, and the complexity of the various drawing operations performed, including: The rendering resource recommendation device obtains the rendering resource requirements of each interface in the partial or all interfaces based on the degree of influence of various rendering operations performed on each interface in rendering the rendering process of the application, the number of drawing call operations performed, the number of video memory operations performed, and the execution complexity of various drawing operations performed. The rendering resource recommendation device obtains the rendering resource requirements of the application based on the rendering resource requirements of each interface in some or all of the interfaces.

14. A rendering resource recommendation device, characterized in that, include: The first receiving module is used to receive applications uploaded by users; The first acquisition module is used to run the application and acquire the rendering parameters generated by the application during its operation. The rendering parameters are used to indicate the rendering operations performed when rendering the interface of the application. The rendering parameters are also used to indicate the type, number, and duration of the rendering operations. The second acquisition module is used to acquire the application's requirements for rendering resources based on the rendering parameters, wherein the rendering resources are used to render the application's interface. The recommendation module is used to recommend rendering resources to the user based on the user's needs.

15. The apparatus according to claim 14, characterized in that, The device further includes: The third acquisition module is used to acquire operation instructions for performing operations on the application. The first acquisition module is specifically used to: run the application according to the operation instructions.

16. The apparatus according to claim 14 or 15, characterized in that, The recommendation module is specifically used for: Based on the aforementioned requirements, multiple alternative rendering resources that can be allocated to the application are identified. The user is recommended the multiple alternative rendering resources.

17. The apparatus according to claim 16, characterized in that, The recommendation module is specifically used for: Obtain the rendering performance scores of multiple candidate rendering resources respectively; Based on the aforementioned requirements and the rendering performance scores of the multiple candidate rendering resources, the multiple alternative rendering resources are selected from among the multiple candidate rendering resources.

18. The apparatus according to claim 17, characterized in that, The recommendation module is specifically used for: During the process of rendering the interface of a specified application using any one of the candidate rendering resources, the rendering parameters generated by the specified application during its operation are obtained when the candidate rendering resources are exhausted. The rendering performance score of any one of the candidate rendering resources is obtained based on the rendering parameters generated by the specified application during its operation when any one of the candidate rendering resources is exhausted.

19. The apparatus according to claim 16, characterized in that, The device further includes: The second receiving module is used to receive the user's selection instruction for the rendering resources recommended by the recommendation module; An allocation module is used to allocate the rendering resources indicated by the selection instruction to the application.

20. The apparatus according to claim 14 or 15, characterized in that, The recommendation module is specifically used for: Based on the aforementioned requirements, the specifications of the various alternative virtual rendering resources that need to be virtualized are determined. The specifications of the multiple alternative virtual rendering resources are recommended to the user.

21. The apparatus according to claim 20, characterized in that, The device further includes: The second receiving module is used to receive the user's selection instruction on the specifications of the alternative virtual rendering resources recommended by the recommendation module; The allocation module is used to allocate virtual rendering resources virtualized according to the specifications indicated by the selection instruction to the application.

22. The apparatus according to claim 20, characterized in that, The device further includes: The second acquisition module is used to reacquire the application's demand for the rendering resources during the process of rendering the application's interface using the virtual rendering resources. An adjustment module is used to adjust the specifications of the virtual rendering resources based on the reacquired requirements. The allocation module is used to allocate virtual rendering resources to the application based on the adjusted specifications.

23. The apparatus according to claim 14 or 15, characterized in that, The required conditions are reflected by the rendering complexity of the application, which is determined based on the rendering operations indicated by the rendering parameters.

24. The apparatus according to claim 23, characterized in that, The rendering operation includes one or more of the following: a drawing call operation performed to render the interface of the application, a drawing operation performed on different drawing targets through the drawing call operation, and a video memory operation performed in the drawing operation.

25. The apparatus according to claim 24, characterized in that, The second acquisition module is specifically used for: The degree of influence of various rendering operations indicated by the rendering parameters on the rendering process of the application is obtained respectively; For any one of the interfaces of the application, in the process of rendering any one interface, obtain the number of drawing call operations and the number of video memory operations performed. For any one of the interfaces in part or all of the application, obtain the execution complexity of various drawing operations performed during the rendering of any one interface. The required conditions are determined based on the degree of influence of various rendering operations performed on the rendering process of the application, the number of drawing call operations performed, the number of video memory operations performed, and the execution complexity of various drawing operations.

26. The apparatus according to claim 25, characterized in that, The second acquisition module is specifically used for: Based on the degree of influence of various rendering operations performed on each interface in rendering the partial or all interfaces on the rendering process of the application, the number of drawing call operations performed, the number of video memory operations performed, and the execution complexity of various drawing operations, the rendering resource requirements of each interface in the partial or all interfaces are obtained. Based on the rendering resource requirements of each interface in some or all of the interfaces, the rendering resource requirements of the application are obtained.

27. A computer device, characterized in that, The computer device includes a processor and a memory, wherein the memory stores a computer program; when the processor executes the computer program, the computer device implements the method according to any one of claims 1 to 13.

28. A storage medium, characterized in that, When the instructions in the storage medium are executed by the processor, the method described in any one of claims 1 to 13 is implemented.

Citation Information

Patent Citations

  • Cloud rendering resource scheduling method and device

    CN111176836A