Image rendering method and apparatus, and storage medium

By dividing scene data into low-dependency parts based on the rendering pipeline and utilizing multiple rendering devices in parallel, the problem of low image rendering quality in existing technologies is solved, achieving high-quality and efficient rendering effects.

WO2026066086A1PCT designated stage Publication Date: 2026-04-02HUAWEI CLOUD COMPUTING TECHNOLOGIES CO LTD
View PDF 3 Cites 0 Cited by

Patent Information

Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Filing Date
2025-04-30
Publication Date
2026-04-02

AI Technical Summary

Technical Problem

Existing frame-by-frame rendering, screen-by-screen rendering, and scene-by-scene rendering methods often result in low image quality and fail to effectively utilize the parallel rendering capabilities of multiple GPUs.

Method used

By acquiring the rendering pipeline of the scene data to be rendered, the dependencies are determined, and the scene data is divided into multiple rendering parts based on this, so that the dependency strength of each part is lower than the threshold. Then, multiple rendering devices are used to render these parts in parallel, using frame-by-frame, screen-by-screen, scene-by-scene, or sub-process grouping rendering methods.

Benefits of technology

It improves the rendering quality and efficiency of images, ensuring that each rendering device can independently complete its part of the work, thus avoiding a decline in rendering quality due to dependencies.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2025092554_02042026_PF_FP_ABST
    Figure CN2025092554_02042026_PF_FP_ABST
Patent Text Reader

Abstract

The present application belongs to the field of communications. Disclosed are an image rendering method and apparatus, and a storage medium. The method is applied to a cloud service platform. The method comprises: acquiring at least one frame of scene data corresponding to at least one image frame to be rendered; determining at least one image rendering mode on the basis of a rendering pipeline of the at least one frame of scene data, wherein the rendering pipeline is used for describing a rendering process for rendering the at least one frame of scene data; on the basis of the at least one image rendering mode, dividing the at least one frame of scene data into a plurality of rendering parts, wherein the dependency intensity between the plurality of rendering parts is lower than an intensity threshold value; and rendering the plurality of rendering parts by means of a plurality of rendering devices to obtain the at least one image frame. The present application can improve the quality of rendered images.
Need to check novelty before this filing date? Find Prior Art

Description

Method, device and storage medium for rendering a picture

[0001] The present application claims priority to the Chinese patent application No. 202411389890.X, filed on September 30, 2024, and entitled "Method, device and storage medium for rendering a picture", the entire content of which is incorporated herein by reference. TECHNICAL FIELD

[0002] The present application relates to the field of communication, in particular to a method, device and storage medium for rendering a picture. BACKGROUND

[0003] Picture rendering refers to outputting a real picture under a model and lighting condition in a real world by computer calculation according to scene data of the picture. The scene data of the picture includes object models and / or light data, that is, when displaying the picture, the scene data of the picture needs to be rendered to obtain a picture that can be displayed, and then the picture is displayed using a display device.

[0004] In order to improve the efficiency of picture rendering, in the related art, a plurality of frames of scene data to be rendered can be allocated to a plurality of GPUs based on a frame-based rendering manner, and different GPUs are used to render scene data of different frames to obtain a plurality of pictures. Alternatively, a frame of scene data is divided into a plurality of image blocks, the plurality of image blocks are allocated to a plurality of GPUs, and different GPUs are used to render different image blocks to obtain a frame of picture. Alternatively, a plurality of object models in a frame of scene data are allocated to a plurality of GPUs, and different GPUs are used to render different object models to obtain a frame of picture.

[0005] The related art provides three rendering manners for rendering a picture, but all of the three rendering manners have disadvantages, resulting in low picture quality when rendering scene data of some pictures. SUMMARY

[0006] The present application provides a method, device and storage medium for rendering a picture to improve the quality of the rendered picture. The technical solution is as follows:

[0007] In a first aspect, the present application provides a method for rendering a picture, the method is applied to a cloud service platform. In the method, at least one frame of scene data corresponding to at least one frame of picture to be rendered is obtained; at least one picture rendering mode is determined according to a rendering pipeline of the at least one frame of scene data, the rendering pipeline is used to describe a rendering process of rendering the at least one frame of scene data. Based on the at least one picture rendering mode, the at least one frame of scene data is divided into a plurality of rendering parts, and a dependency strength between the plurality of rendering parts is lower than a strength threshold. The plurality of rendering parts are rendered by a plurality of rendering devices to obtain the at least one frame of picture.

[0008] The rendering pipeline is used to describe the rendering process of rendering the at least one frame of scene data. Since the at least one picture rendering mode is obtained based on the rendering pipeline of the at least one frame of scene data to be rendered, the at least one frame of scene data is divided into the plurality of rendering parts based on the at least one picture rendering mode, so that the dependency strength between the plurality of rendering parts is lower than the strength threshold, and the plurality of rendering parts are rendered by the plurality of rendering devices to obtain the at least one frame of picture. Since the dependency strength between the plurality of rendering parts is lower than the strength threshold, each rendering device can not need a rendering result of other rendering part when rendering the respective rendering part. Thus, the plurality of rendering devices render the plurality of rendering parts, which not only can render the plurality of rendering parts in parallel, but also can improve the quality of the at least one frame of picture.

[0009] In a possible implementation, the rendering pipeline is determined based on the at least one frame of scene data. A dependency relationship existing in the at least one frame of scene data is determined based on the rendering pipeline, and the dependency relationship includes one or more of the following relationships: an inter-frame dependency relationship between the at least one frame of scene data, a pixel dependency relationship between a plurality of pixel points included in the at least one frame of scene data, or an object dependency relationship between a plurality of object models included in the at least one frame of scene data. At least one picture rendering mode is determined based on the dependency relationship, and the at least one picture rendering mode includes a picture rendering mode other than a picture rendering mode corresponding to the dependency relationship. Thus, when the at least one frame of scene data is divided by the at least one picture rendering mode, the plurality of rendering parts with the dependency strength lower than the strength threshold can be obtained.

[0010] In another possible implementation, the rendering process includes a plurality of sub-processes, each sub-process is used to render a different image feature of the at least one frame of scene data, and the at least one picture rendering mode includes one or more of the following: a frame rendering mode, a screen blocking rendering mode, a scene blocking rendering mode, or a sub-process grouping rendering mode, the sub-process grouping rendering mode is used to group the plurality of sub-processes.

[0011] In a possible implementation, the picture rendering mode corresponding to the dependency relationship comprises one or more of the following: a frame splitting rendering mode corresponding to an inter-frame dependency relationship, a screen partitioning rendering mode corresponding to a pixel dependency relationship, or a scene partitioning rendering mode corresponding to an object dependency relationship.

[0012] In a possible implementation, the target information comprises one or more of the following: information to be rendered included in the at least one frame of scene data or state information of the plurality of rendering devices. The at least one candidate picture rendering mode is determined based on the dependency relationship, and the at least one candidate picture rendering mode comprises a picture rendering mode other than the picture rendering mode corresponding to the dependency relationship. The at least one picture rendering mode is selected from the at least one candidate picture rendering mode based on the target information. In this way, when the at least one frame of scene data is divided by using the at least one picture rendering mode, the plurality of rendering parts with the dependency strength lower than the strength threshold can be obtained.

[0013] In a possible implementation, the division detail information of the at least one picture rendering mode is obtained based on the target information. The at least one frame of scene data is divided into the plurality of rendering parts based on the division detail information and the at least one picture rendering mode. In this way, the plurality of rendering parts obtained by division can be more suitable for rendering on the plurality of rendering devices.

[0014] In a possible implementation, the at least one picture rendering mode is received from a terminal device of a user or received from a third-party service device, and the at least one picture rendering mode is obtained by the third-party service device based on a rendering pipeline. In this way, the flexibility of obtaining the picture rendering mode is improved.

[0015] In a possible implementation, the rendering process comprises a plurality of sub-processes, and the at least one picture rendering mode comprises a sub-process grouping rendering mode. The plurality of sub-processes is divided into a plurality of groups based on the sub-process grouping rendering mode, each group comprises at least one sub-process, and the dependency strength between the plurality of groups is lower than the strength threshold. The at least one frame of scene data is divided into the plurality of rendering parts based on the plurality of groups. In this way, the plurality of rendering parts with the dependency strength lower than the strength threshold can be obtained by using the sub-process grouping rendering mode, that is, the sub-process grouping rendering mode can be selected to render the picture regardless of the situation, so as to ensure the quality of the rendered picture.

[0016] In a possible implementation, the dependency strength between the at least one sub-process is not lower than the strength threshold. In this way, the image features with high dependency strength are divided into one rendering part, so that the dependency strength between different rendering parts is low, and the quality of the rendered picture is improved.

[0017] In another possible implementation, each rendering device is assigned at least one rendering part based on the computation complexity of the plurality of rendering parts and the state information of the plurality of rendering devices. At least one frame of picture is rendered by using each rendering device to render the at least one rendering part of each rendering device respectively. In this way, each rendering device can be assigned with appropriate rendering part through the state information, and the plurality of rendering parts can be rendered in parallel by the plurality of rendering devices, so that the efficiency of rendering the plurality of rendering parts can be improved.

[0018] In a second aspect, the present application provides a device for rendering a picture, which is configured to perform the method in the first aspect or any possible implementation of the first aspect. Specifically, the device comprises units for performing the method in the first aspect or any possible implementation of the first aspect.

[0019] In a third aspect, the present application provides a computing device cluster, which comprises at least one computing device, each computing device comprising a processor and a memory.

[0020] The processor of the at least one computing device is configured to execute instructions stored in the memory of the at least one computing device, so that the computing device cluster performs the method in the first aspect or any possible implementation of the first aspect.

[0021] In a fourth aspect, the present application provides a computer program product comprising instructions, which, when executed by a computing device cluster, cause the computing device cluster to perform the method in the first aspect or any possible implementation of the first aspect.

[0022] In a fifth aspect, the present application provides a computer-readable storage medium comprising computer program instructions, which, when executed by a computing device cluster, cause the computing device cluster to perform the method in the first aspect or any possible implementation of the first aspect.

[0023] In a sixth aspect, the present application provides a chip comprising a memory and a processor, the memory being configured to store computer instructions, and the processor being configured to invoke and run the computer instructions from the memory to perform the method in the first aspect or any possible implementation of the first aspect. BRIEF DESCRIPTION OF DRAWINGS

[0024] FIG. 1 is a structural schematic diagram of a cloud service platform according to an embodiment of the present application;

[0025] FIG. 2 is a structural schematic diagram of a network architecture according to an embodiment of the present application;

[0026] FIG. 3 is a structural schematic diagram of another network architecture according to an embodiment of the present application;

[0027] FIG. 4 is a structural schematic diagram of another network architecture according to an embodiment of the present application;

[0028] FIG. 5 is a flowchart of a method for rendering a picture according to an embodiment of the present application;

[0029] FIG. 6 is a structural schematic diagram of another network architecture according to an embodiment of the present application;

[0030] FIG. 7 is a structural schematic diagram of an apparatus for rendering a picture according to an embodiment of the present application;

[0031] FIG. 8 is a structural schematic diagram of a computing device according to an embodiment of the present application;

[0032] FIG. 9 is a structural schematic diagram of a cluster for rendering a picture according to an embodiment of the present application;

[0033] FIG. 10 is a structural schematic diagram of another cluster for rendering a picture according to an embodiment of the present application. DETAILED DESCRIPTION

[0034] The scene data of a picture can include object models and / or light data, etc. The scene data of a picture can be three-dimensional scene data. In order to obtain a displayable picture, the scene data of the picture can be rendered to obtain the picture, and then the picture can be displayed. For the scene data of at least one frame of picture to be rendered, i.e., for at least one frame of scene data, the at least one frame of scene data can be divided into multiple rendering parts based on a picture rendering manner, and then the multiple rendering parts can be rendered using multiple rendering devices to obtain the at least one frame of picture.

[0035] In some embodiments, the number of at least one frame of scene data is multiple, and the picture rendering manner can be a frame-by-frame rendering manner. Based on the frame-by-frame rendering manner, the multiple frames of scene data can be divided into multiple groups, each group of scene data including one or more frames of scene data, and the multiple groups of scene data are the multiple rendering parts. For the multiple rendering devices, each rendering device is allocated a group of scene data, and each rendering device is used to render the group of scene data of the rendering device respectively to obtain multiple frames of picture.

[0036] The multiple frames of scene data can have or can not have inter-frame dependency. The inter-frame dependency refers to the dependency between any two frames of scene data in the multiple frames of scene data. When rendering a later frame of scene data, the rendering result of an earlier frame of scene data can be needed.

[0037] In the case that there is an inter-frame dependency between the multi-frame scene data, if a frame-by-frame rendering manner is used to render the multi-frame scene data, the former and the latter two frames of scene data can be allocated to two different rendering devices. Rendering the two frames of scene data in parallel by the two different rendering devices results in that when the latter frame of scene data is rendered, a picture with poor quality can be obtained because there is no rendering result of the former frame of scene data.

[0038] For example, the multi-frame scene data includes first scene data and second scene data, and the first scene data is one frame of scene data before the second scene data. When rendering, the first scene data can be rendered first to obtain a rendering result, and then the second scene data is rendered based on the rendering result, so there is an inter-frame dependency between the first scene data and the second scene data.

[0039] If a frame-by-frame rendering manner is used to render the first scene data and the second scene data, the first scene data is allocated to a first rendering device, and the second scene data is allocated to a second rendering device. The first rendering device renders the first scene data, and at the same time, the second rendering device renders the second scene data. Because the second rendering device does not have the rendering result of the first scene data when rendering the second scene data, the quality of a second picture obtained by rendering the second scene data is low, and the picture effect of the second picture is poor.

[0040] In some embodiments, the picture rendering manner can be a screen blocking rendering manner. Based on the screen blocking rendering manner, one frame of scene data can be divided into a plurality of image blocks, and the plurality of image blocks are the plurality of rendering parts. For the plurality of rendering devices, one image block is allocated to each rendering device, and each rendering device is used to render the image block of the rendering device, respectively, to obtain one frame of picture.

[0041] The plurality of pixel points included in the frame of scene data can have a pixel dependency or can not have a pixel dependency. The pixel dependency refers to a dependency between two adjacent pixel points in one frame of scene data. When rendering one pixel point, the rendering result of another pixel point can be needed. For example, one frame of scene data includes a first pixel point and a second pixel point, and the first pixel point is adjacent to the second pixel point. When rendering, the first pixel point can be rendered first to obtain a rendering result, and then the second pixel point is rendered based on the rendering result, so there is a pixel dependency between the first pixel point and the second pixel point.

[0042] In a case where there is a pixel dependency between pixel points included in the frame scene data, if a screen block rendering manner is used to render the frame scene data, the frame scene data is divided into a plurality of image blocks. The plurality of image blocks are assigned to a plurality of rendering devices, and the plurality of image blocks are rendered by the plurality of rendering devices in parallel to obtain a frame picture. Since there is a pixel dependency between two adjacent pixel points in the frame scene data, when the frame scene data is divided into a plurality of image blocks, the edge pixel points of one image block are adjacent to the edge pixel points of another image block. This causes each rendering device to be unable to obtain the rendering result of the neighbor pixel points adjacent to the edge pixel points when rendering the edge pixel points of the image block, resulting in a low quality of the picture obtained by rendering the frame scene data, and a poor picture effect of the picture.

[0043] In some embodiments, the picture rendering manner can be a scene block rendering manner. A frame scene data can include a plurality of object models, which can be three-dimensional object models. Based on the scene block rendering manner, the frame scene data can be divided into a plurality of object models, and the plurality of object models are the plurality of rendering parts. For the plurality of rendering devices, at least one object model is assigned to each rendering device, and each object model of each rendering device is rendered using each rendering device to obtain a frame picture.

[0044] The object models included in the frame scene data can have an object dependency or can not have an object dependency. The object dependency refers to a dependency between a plurality of object models in a frame scene data. When rendering an object model, the rendering result of another object model can be needed. For example, a frame scene data includes a first object model and a second object model. When rendering in sequence, the first object model can be rendered first to obtain a rendering result, and then the second object model is rendered based on the rendering result. Therefore, there is an object dependency between the first object model and the second object model.

[0045] In a case where there is an object dependency between object models included in the frame scene data, if a scene block rendering manner is used to render the frame scene data, the frame scene data is divided into a plurality of object models, and the plurality of object models are assigned to a plurality of rendering devices. The plurality of object models are rendered by the plurality of rendering devices in parallel to obtain a frame picture. Since there is an object dependency between a plurality of object models in the frame scene data, two object models with an object dependency are rendered in parallel using two rendering devices. When rendering an object model, one of the rendering devices is unable to obtain the rendering result of another object model rendered by the other rendering device, resulting in a low quality of the picture obtained by rendering the frame scene data, and a poor picture effect of the picture.

[0046] In some embodiments, in order to improve the quality of the rendered picture, referring to FIG. 1, an embodiment of the present application provides a cloud service platform 100, which comprises a rendering queue 101 and a plurality of rendering devices 102. The rendering queue 101 is configured to store at least one frame of scene data to be rendered, the at least one frame of scene data being scene data of at least one frame of picture.

[0047] The cloud service platform 100 obtains a rendering pipeline based on the at least one frame of scene data stored in the rendering queue 101, the rendering pipeline being configured to describe a rendering process of the at least one frame of scene data. A dependency relationship existing in the at least one frame of scene data is determined based on the rendering pipeline, the dependency relationship comprising one or more of the following relationships: an inter-frame dependency relationship between the at least one frame of scene data, a pixel dependency relationship between a plurality of pixel points comprised in the at least one frame of scene data, or an object dependency relationship between a plurality of object models comprised in the at least one frame of scene data.

[0048] The cloud service platform 100 determines at least one candidate picture rendering mode based on the dependency relationship, the at least one candidate picture rendering mode not comprising a picture rendering mode corresponding to the dependency relationship. At least one picture rendering mode is selected from the at least one candidate picture rendering mode. The at least one frame of scene data is divided into a plurality of rendering parts based on the at least one picture rendering mode.

[0049] In this way, the cloud service platform 100 renders the plurality of rendering parts in parallel by using the plurality of rendering devices 102, which not only improves the rendering efficiency, but also obtains at least one frame of picture with high picture quality, thereby improving the quality of the rendered picture.

[0050] In this way, the cloud service platform 100 renders the plurality of rendering parts in parallel by using the plurality of rendering devices 102, which not only improves the rendering efficiency, but also obtains at least one frame of picture with high picture quality, thereby improving the quality of the rendered picture.

[0051] In some embodiments, a new picture rendering mode, i.e., a sub-process grouping rendering mode, can be configured in the cloud service platform 100. The sub-process grouping rendering mode is configured to group a plurality of sub-processes comprised in the rendering process to obtain a plurality of groups, each group comprising at least one sub-process, and the dependency strength between the plurality of groups being lower than a strength threshold.

[0052] There can be a dependency relationship or no dependency relationship between the plurality of sub-processes included in the rendering process. In the case where there is a dependency relationship between the plurality of sub-processes, the dependency strength between some sub-processes is relatively strong, and the dependency strength between some sub-processes is relatively weak. Optionally, for each group, the dependency strength between at least one sub-process included in the group can be no less than a strength threshold, so that the dependency strength between the image features that each sub-process included in the group needs to render is relatively strong. In this way, an image feature of each sub-process can be rendered using one rendering device, thereby improving the quality of the picture obtained by rendering.

[0053] For each frame of scene data, and for a rendering process used to render the frame of scene data, the cloud service platform 100 divides the plurality of sub-processes included in the rendering process to obtain a plurality of groups based on the sub-process grouping rendering manner. Then the frame of scene data can be divided into a plurality of rendering parts based on the plurality of groups, and the plurality of rendering parts correspond one-to-one to the plurality of groups.

[0054] For each group, the group includes at least one sub-process, each sub-process is used to process part of the image features in the frame of scene data, and the rendering part corresponding to the group includes the image features that each sub-process needs to render, that is, a rendering part includes image features with relatively high dependency strength, and the dependency strength between a plurality of rendering parts is relatively low, lower than a strength threshold.

[0055] For example, assuming that the rendering process for rendering the frame of scene data includes the first sub-process, the second sub-process, the third sub-process and the fourth sub-process listed above, the cloud service platform 100 divides the four sub-processes included in the rendering process to obtain a first group and a second group based on the sub-process grouping rendering manner. The first group includes the first sub-process and the second sub-process, and the second group includes the third sub-process and the fourth sub-process. Based on the first group and the second group, the frame of scene data is divided into a first rendering part and a second rendering part, the first rendering part includes the depth that the first sub-process needs to render and the skinning that the second sub-process needs to calculate, and the second rendering part includes the shading and lighting that the third sub-process needs to calculate and the image effect that the fourth sub-process needs to render.

[0056] Since the sub-process grouping rendering manner is configured, the at least one candidate picture rendering manner determined by the cloud service platform 100 includes one or more of the following: a frame-by-frame rendering manner, a screen tiling rendering manner, a scene tiling rendering manner, or a sub-process grouping rendering manner, etc.

[0057] In some embodiments, the picture rendering manner corresponding to the above-mentioned dependency relationship includes:

[0058] The picture rendering mode corresponding to the inter-frame dependency relationship is a frame-based rendering mode, the picture rendering mode corresponding to the pixel dependency relationship is a screen-tiled rendering mode, and / or the picture rendering mode corresponding to the object dependency relationship is a scene-tiled rendering mode.

[0059] In some embodiments, the plurality of rendering devices 102 can include one or more of a graphics processing unit (GPU) or a heterogeneous hardware device, etc. Optionally, the heterogeneous hardware device can include one or more of a field programmable gate array (FPGA), a central processing unit (CPU), a neural network processing unit (NPU), or a tensor processing unit (TPU), etc.

[0060] In some embodiments, in order to improve the quality of the rendered picture, referring to FIG. 2, an embodiment of the present application provides a network architecture 200, which includes a cloud service platform 201 and a target device 202. The target device 202 can communicate with the cloud service platform 201. The cloud service platform 201 includes a rendering queue 2011 and a plurality of rendering devices 2012. The rendering queue 2011 is used to save at least one frame of scene data to be rendered, which is scene data of at least one picture.

[0061] The target device 202 can obtain at least one picture rendering mode, which is obtained based on a rendering pipeline of the at least one frame of scene data to be rendered, and send the at least one picture rendering mode to the cloud service platform 201.

[0062] The cloud service platform 201 can receive the at least one picture rendering mode, divide the at least one frame of scene data saved in the rendering queue 2011 into a plurality of rendering parts based on the at least one picture rendering mode, and the dependency strength between the plurality of rendering parts is lower than a strength threshold. The plurality of rendering parts are rendered in parallel by the plurality of rendering devices 2012. In this way, not only the rendering efficiency is improved, but also at least one picture with high picture quality is obtained, and the quality of the rendered picture is improved.

[0063] In some embodiments, the at least one frame of scene data saved in the rendering queue 2011 in the cloud service platform 201 can be sent by the target device 202. That is, the cloud service platform 201 can receive the at least one frame of scene data sent by the target device 202, and save the at least one frame of scene data in the rendering queue 2011.

[0064] In some embodiments, the at least one candidate picture rendering mode includes one or more of a frame splitting rendering mode, a screen tiling rendering mode, a scene tiling rendering mode, or a sub-process grouping rendering mode, etc.

[0065] In some embodiments, referring to FIG. 3, the target device 202 can be a terminal device of a user. The terminal device can obtain at least one frame of scene data, obtain a rendering pipeline based on the at least one frame of scene data, and show the rendering pipeline to the user.

[0066] The user can determine a dependency relationship existing in the at least one frame of scene data based on the rendering pipeline, and configure at least one picture rendering mode in the terminal device. The at least one picture rendering mode does not include a picture rendering mode corresponding to the dependency relationship.

[0067] The terminal device can obtain the at least one picture rendering mode configured by the user, and send the at least one frame of scene data and the at least one picture rendering mode to the cloud service platform 201.

[0068] The cloud service platform 201 receives the at least one frame of scene data and the at least one picture rendering mode, and caches the at least one frame of scene data in a rendering queue 2011. Based on the at least one picture rendering mode, the cloud service platform 201 divides the at least one frame of scene data saved in the rendering queue 2011 into a plurality of rendering parts, and the dependency strength between the plurality of rendering parts is lower than a strength threshold. The cloud service platform 201 renders the plurality of rendering parts through a plurality of rendering devices 2012 to obtain at least one frame of picture with high picture quality.

[0069] In some embodiments, referring to FIG. 4, the target device 202 can be a third-party service device. The third-party service device can obtain at least one frame of scene data, and obtain a rendering pipeline based on the at least one frame of scene data. The third-party service device determines a dependency relationship existing in the at least one frame of scene data based on the rendering pipeline. The third-party service device determines at least one candidate picture rendering mode based on the dependency relationship, and the at least one candidate picture rendering mode does not include a picture rendering mode corresponding to the dependency relationship. The third-party service device selects at least one picture rendering mode from the at least one candidate picture rendering mode, and sends the at least one frame of scene data and the at least one picture rendering mode to the cloud service platform 201.

[0070] The cloud service platform 201 receives the at least one frame of scene data and the at least one picture rendering mode, and caches the at least one frame of scene data in a rendering queue 2011. Based on the at least one picture rendering mode, the cloud service platform 201 divides the at least one frame of scene data saved in the rendering queue 2011 into a plurality of rendering parts, and the dependency strength between the plurality of rendering parts is lower than a strength threshold. The cloud service platform 201 renders the plurality of rendering parts through a plurality of rendering devices 2012 to obtain at least one frame of picture with high picture quality.

[0071] Optionally, the third-party service device and the cloud service platform 201 belong to different enterprises or organizations.

[0072] Optionally, the third-party service device can also be a cloud service platform, but the cloud service platform is different from the cloud service platform 201, and the two belong to different enterprises or organizations.

[0073] Referring to FIG. 5, the embodiment of the present application provides a method 500 of rendering a picture, which can be applied to the cloud service platform 100 shown in FIG. 1, or can be applied to the cloud service platform 201 in the network architecture 200 shown in FIG. 2, FIG. 3 or FIG. 4. The method 500 includes the following processes.

[0074] Step 501: The cloud service platform obtains at least one picture rendering mode, the at least one picture rendering mode being obtained based on a rendering pipeline of at least one frame of scene data to be rendered, the rendering pipeline being used to describe a rendering process of rendering the at least one frame of scene data.

[0075] In step 501, the cloud service platform can obtain the at least one picture rendering mode in the following three ways.

[0076] Way one, the cloud service platform obtains at least one frame of scene data, and obtains the at least one picture rendering mode based on the at least one frame of scene data.

[0077] Optionally, the cloud service platform locally saves at least one frame of scene data, and the cloud service platform can obtain the locally saved at least one frame of scene data. Alternatively, the cloud service platform can receive at least one frame of scene data to be rendered.

[0078] Referring to FIG. 6, the cloud service platform includes a microservice, which is a service of obtaining a picture rendering mode, and the at least one picture rendering mode is obtained based on the at least one frame of scene data through the microservice.

[0079] Optionally, in implementation, the at least one picture rendering mode can be obtained through the following operations 5011 to 5014.

[0080] 5011: Determine a rendering pipeline based on at least one frame of scene data.

[0081] The cloud service platform includes a rendering queue, which is used to save at least one frame of scene data. The cloud service platform can obtain at least one frame of scene data from the rendering queue, and obtain a rendering pipeline based on the at least one frame of scene data.

[0082] Optionally, the rendering pipeline is a rendering process of rendering the at least one frame of scene data.

[0083] 5012: Determine dependencies existing in at least one frame of scene data based on the rendering pipeline. These dependencies include one or more of the following relationships: inter-frame dependencies between at least one frame of scene data, pixel dependencies between multiple pixels included in at least one frame of scene data, or object dependencies between multiple object models included in at least one frame of scene data.

[0084] 5013: Based on the dependency relationship, at least one candidate image rendering method is determined, and the at least one candidate image rendering method includes image rendering methods other than the image rendering method corresponding to the dependency relationship.

[0085] The image rendering methods corresponding to the so-called dependency relationship include one or more of the following:

[0086] The image rendering method corresponding to inter-frame dependency is frame-by-frame rendering, the image rendering method corresponding to pixel dependency is screen-by-screen rendering, and / or, the image rendering method corresponding to object dependency is scene-by-scene rendering.

[0087] In some embodiments, the dependency relationship includes inter-frame dependency relationships, and the at least one candidate image rendering method does not include the frame-by-frame rendering method corresponding to the inter-frame dependency relationship. Wherein, inter-frame dependency relationships exist between multiple frames of scene data, meaning that each frame of scene data within the multi-frame scene data is dependent on the others. If a frame-by-frame rendering method is used, where consecutive frames of scene data are assigned to two different rendering devices and rendered in parallel by these two different devices, then when rendering the subsequent frame of scene data, the rendering result may be poor-quality because the rendering result of the previous frame of scene data is not available. To improve the quality of the rendered image, it is necessary to ensure that the selected at least one image rendering method does not include the frame-by-frame rendering method.

[0088] In some embodiments, the dependency relationship comprises a pixel dependency relationship, and the at least one candidate picture rendering manner does not comprise a screen partition rendering manner corresponding to the pixel dependency relationship. Wherein, the scene data comprises a plurality of pixel points, and there is a pixel dependency relationship between the plurality of pixel points, indicating that there is a dependency between two adjacent pixel points in the scene data, and the rendering result of another pixel point can be needed when rendering a pixel point. If a screen partition rendering manner is used to render a frame of scene data, the frame of scene data is divided into a plurality of image blocks. The plurality of image blocks are assigned to a plurality of rendering devices, and the plurality of image blocks are rendered by the plurality of rendering devices in parallel to obtain a frame of picture. Since there is a pixel dependency relationship between two adjacent pixel points in the frame of scene data, an edge pixel point of one image block is adjacent to an edge pixel point of another image block when the frame of scene data is divided into a plurality of image blocks. This causes that each rendering device cannot obtain the rendering result of a neighbor pixel point adjacent to an edge pixel point when rendering the edge pixel point of the image block, resulting in that the quality of the picture obtained by rendering the frame of scene data is low, and the picture effect of the picture is poor. In order to improve the quality of the rendered picture, it is necessary to ensure that the selected at least one picture rendering manner does not comprise the screen partition rendering manner.

[0089] In some embodiments, the dependency relationship comprises an object dependency relationship, and the at least one candidate picture rendering manner does not comprise a scene partition rendering manner corresponding to the object dependency relationship. Wherein, the scene data comprises a plurality of object models, and there is an object dependency relationship between the plurality of object models, indicating that there is a dependency between a plurality of object models in a frame of scene data, and the rendering result of another object model can be needed when rendering an object model. If a scene partition rendering manner is used to render a frame of scene data, the frame of scene data is divided into a plurality of object models, and the plurality of object models are assigned to a plurality of rendering devices, and the plurality of object models are rendered by the plurality of rendering devices in parallel to obtain a frame of picture. Since there is an object dependency relationship between a plurality of object models in the frame of scene data, two rendering devices are used to render two object models with an object dependency relationship in parallel, and one rendering device cannot obtain the rendering result of another rendering device rendering another object model when rendering the object model, resulting in that the quality of the picture obtained by rendering the frame of scene data is low, and the picture effect of the picture is poor. In order to improve the quality of the rendered picture, it is necessary to ensure that the selected at least one picture rendering manner does not comprise the scene partition rendering manner.

[0090] 5014: selecting at least one picture rendering manner from the at least one candidate picture rendering manner.

[0091] In some embodiments, the cloud service platform can select part or all of the at least one candidate picture rendering manner to obtain at least one picture rendering manner.

[0092] In some embodiments, the cloud service platform can obtain target information, the target information comprising one or more of: information included in the at least one frame of scene data that needs to be rendered, or state information of the plurality of rendering devices. Based on the target information, at least one picture rendering manner is selected from the at least one candidate picture rendering manner.

[0093] Optionally, the information included in the at least one frame of scene data that needs to be rendered can comprise one or more of:

[0094] The number of pixels included in each frame of scene data, the computational complexity of the object model included in each frame of scene data, the number of object models included in each frame of scene data, the number of patches included in each frame of scene data, the resolution of each frame of scene data, the number of sub-processes capable of being executed in parallel in the rendering process for rendering the at least one frame of scene data, or the computational complexity of each sub-process included in the rendering process, and the like. Wherein, the number of pixels included in each frame of scene data can be equal, and the resolution of each frame of scene data can be equal.

[0095] For each frame of scene data, the frame of scene data comprises at least one object model, and at least one object image included in a picture can be obtained by rendering the at least one object model.

[0096] For each object model included in the frame of scene data, the object model is composed of a plurality of patches, and the plurality of patches are triangular patches or quadrilateral patches, and the like.

[0097] Optionally, the operation of selecting at least one picture rendering manner from the at least one candidate picture rendering manner based on the target information can be:

[0098] The at least one candidate picture rendering manner comprises a screen partition rendering manner, and for each frame of scene data, if the number of pixels included in the frame of scene data exceeds a pixel number threshold, and / or the resolution of the frame of scene data exceeds a resolution threshold, the screen partition rendering manner can be selected from the at least one candidate picture rendering manner. That is, the at least one picture rendering manner comprises the screen partition rendering manner.

[0099] The at least one candidate picture rendering manner comprises a scene partition rendering manner, and if the number of object models included in the at least one frame of scene data exceeds a first number threshold and / or the number of patches exceeds a second number threshold, the scene partition rendering manner can be selected from the at least one candidate picture rendering manner. That is, the at least one picture rendering manner comprises the scene partition rendering manner.

[0100] The at least one candidate picture rendering manner includes a sub-process grouping rendering manner, and the sub-process grouping rendering manner is selected from the at least one candidate picture rendering manner if the number of sub-process groups capable of being executed in parallel in the rendering process is large. That is, the at least one picture rendering manner includes the sub-process grouping rendering manner. In this case, the plurality of sub-processes included in the rendering process can be grouped into a plurality of groups, and the sub-processes included in the plurality of groups can be executed in parallel.

[0101] Optionally, the at least one candidate picture rendering manner includes a frame-by-frame rendering manner, and the frame-by-frame rendering manner is selected from the at least one candidate picture rendering manner if there is no inter-frame dependency between the at least one frame of scene data. That is, the at least one picture rendering manner includes the frame-by-frame rendering manner.

[0102] Optionally, the state information of the plurality of rendering devices includes one or more of the following: a number of tasks being executed by each rendering device in the plurality of rendering devices, a size of a remaining video memory of the each rendering device, or a number of remaining computing resources of the each rendering device.

[0103] Optionally, the operation of selecting at least one picture rendering manner from the at least one candidate picture rendering manner based on the target information can be:

[0104] The at least one candidate picture rendering manner includes a sub-process grouping rendering manner, and the sub-process grouping rendering manner is selected from the at least one candidate picture rendering manner if the size of the remaining video memory of the each rendering device exceeds a size threshold value and / or the number of the remaining computing resources of the each rendering device exceeds a number threshold value. That is, the at least one picture rendering manner includes the sub-process grouping rendering manner.

[0105] In mode two, a terminal device of a user acquires at least one picture rendering manner, the at least one picture rendering manner being configured to the terminal device by a rendering pipeline of the user based on at least one frame of scene data, and the terminal device sends the at least one picture rendering manner to a cloud service platform. The cloud service platform receives the at least one picture rendering manner sent by the terminal device.

[0106] Referring to FIG. 6, in mode two, a terminal device of a user acquires at least one frame of scene data to be rendered, obtains a rendering pipeline based on the at least one frame of scene data, and displays a user interface including the rendering pipeline to realize display of the rendering pipeline to the user.

[0107] Optionally, the terminal device locally stores the at least one frame of scene data, and the terminal device can acquire the at least one frame of scene data stored locally.

[0108] The user can derive a dependency relationship existing in the at least one frame of scene data based on the rendering pipeline, and configure at least one picture rendering mode in a user interface displayed by the terminal device based on the dependency relationship, wherein the at least one picture rendering mode does not include a picture rendering mode corresponding to the dependency relationship.

[0109] The terminal device obtains the at least one picture rendering mode from the user interface and sends the at least one picture rendering mode to the cloud service platform. The cloud service platform receives the at least one picture rendering mode.

[0110] Optionally, the terminal device can further send the at least one frame of scene data to the cloud service platform, and the cloud service platform receives the at least one frame of scene data and saves the at least one frame of scene data in a rendering queue.

[0111] In some embodiments, the terminal device can first send the at least one frame of scene data to the cloud service platform. The cloud service platform can obtain the target information and send the target information to the terminal device. The terminal device receives the target information and can further display the target information in the user interface. In this way, the user can configure at least one picture rendering mode in the user interface displayed by the terminal device based on the dependency relationship and the target information, and send the at least one picture rendering mode to the cloud service platform.

[0112] Optionally, the user interface can be a web page, or an interface provided by an application (APP), a program, or a control panel software, etc.

[0113] In some embodiments, the user can further configure division detail information of the at least one picture rendering mode in the user interface. The terminal device can obtain the division detail information from the user interface and send the division detail information to the cloud service platform.

[0114] Optionally, the at least one picture rendering mode includes a screen partition rendering mode, and the division detail information includes at least one screen division ratio, which can divide one frame of scene data into multiple image blocks. For example, if the at least one screen division ratio is 0.4, one frame of scene data can be divided into two image blocks, the first image block accounts for 40% of the one frame of scene data, and the second image block accounts for 60% of the one frame of scene data. For another example, if the at least one screen division ratio is 0.3 and 0.5, one frame of scene data can be divided into three image blocks, the first image block accounts for 30% of the one frame of scene data, the second image block accounts for 50% of the one frame of scene data, and the third image block accounts for 20% of the one frame of scene data.

[0115] Optionally, the at least one picture rendering mode includes a frame division rendering mode, and the division detail information includes a frame number in each group of scene data, i.e., indicates which frames can be divided into a group.

[0116] Optionally, the at least one picture rendering mode comprises a scene partition rendering mode, and the partition detail information comprises a number of object models that can be contained in a rendering part.

[0117] Optionally, the at least one picture rendering mode comprises a sub-process grouping rendering mode, and the partition detail information comprises a number of sub-processes contained in a sub-process group.

[0118] Optionally, the third-party service device obtains the at least one picture rendering mode based on a rendering pipeline of the at least one frame of scene data, and sends the at least one picture rendering mode to the cloud service platform. The cloud service platform receives the at least one picture rendering mode sent by the third-party service device.

[0119] Referring to FIG. 6, the third-party service device comprises a third-party microservice, which is a service provided by a third party for obtaining a picture rendering mode. The third-party service device obtains at least one frame of scene data, and obtains at least one picture rendering mode based on the at least one frame of scene data through the third-party microservice.

[0120] The third-party service device saves at least one frame of scene data to be rendered. The third-party service device can obtain at least one frame of scene data saved locally, and obtain a rendering pipeline based on the at least one frame of scene data. A dependency relationship existing in the at least one frame of scene data is determined based on the rendering pipeline. At least one candidate picture rendering mode is determined based on the dependency relationship, the at least one candidate picture rendering mode not including a picture rendering mode corresponding to the dependency relationship. At least one picture rendering mode is selected from the at least one candidate picture rendering mode. The at least one picture rendering mode is sent to the cloud service platform.

[0121] Optionally, the third-party service device can also send the at least one frame of scene data to the cloud service platform, and the cloud service platform caches the at least one frame of scene data in a rendering queue.

[0122] In some embodiments, the third-party service device can first send the at least one frame of scene data to the cloud service platform. The cloud service platform can also obtain the target information, and send the target information to the third-party service device. After obtaining at least one candidate picture rendering mode, the third-party service device selects at least one picture rendering mode from the at least one candidate picture rendering mode based on the target information, and sends the at least one picture rendering mode to the cloud service platform.

[0123] In some embodiments, the third-party service device can also obtain partition detail information of the at least one picture rendering mode, and send the partition detail information to the cloud service platform.

[0124] Optionally, the third-party service device can obtain the division detail information of the at least one picture rendering mode based on the target information.

[0125] For example, the state information in the target information includes a number of tasks being executed by each rendering device, a size of a remaining video memory of each rendering device, or a number of remaining computing resources of each rendering device. The third-party service device can obtain the at least one screen division ratio based on a computational complexity of the pixel points included in the at least one frame of scene data and the state information (the number of tasks, the size of the remaining video memory, and / or the number of remaining computing resources).

[0126] For another example, the third-party service device can obtain a number of frames in each group of scene data based on the state information (the number of tasks, the size of the remaining video memory, and / or the number of remaining computing resources).

[0127] For yet another example, the third-party service device can obtain a number of object models included in one rendering part based on a computational complexity of the object models included in the at least one frame of scene data and the state information (the number of tasks, the size of the remaining video memory, and / or the number of remaining computing resources).

[0128] For yet another example, the third-party service device can obtain a number of sub-processes included in one sub-process group based on a computational complexity of the sub-processes included in the rendering process and the state information (the number of tasks, the size of the remaining video memory, and / or the number of remaining computing resources).

[0129] In some embodiments, the cloud service platform provides a calling interface through which the third-party service device sends information to the cloud service platform. For example, the third-party service device sends one or more of the following to the cloud service platform through the calling interface: the at least one picture rendering mode, the division detail information of the at least one picture rendering mode, or the at least one frame of scene data.

[0130] Optionally, the calling interface can be in the form of JavaScript Object Notation (JSON) or Extensible Markup Language (XML), etc.

[0131] Step 502: The cloud service platform divides the at least one frame of scene data into a plurality of rendering parts based on the at least one picture rendering mode, the dependency strength between the plurality of rendering parts being lower than a strength threshold.

[0132] In some embodiments, the at least one picture rendering mode includes a frame division rendering mode, so that the cloud service platform divides the at least one frame of scene data into a plurality of groups based on the frame division rendering mode, each group of scene data including one or more frames of scene data, and the plurality of groups of scene data being the plurality of rendering parts.

[0133] In some embodiments, the at least one picture rendering manner comprises a scene partition rendering manner, such that the cloud service platform divides the at least one frame of scene data into a plurality of object models based on the scene partition rendering manner, and the plurality of object models are the plurality of rendering parts.

[0134] In some embodiments, the at least one picture rendering manner comprises a screen partition rendering manner, such that the cloud service platform divides the at least one frame of scene data into a plurality of image blocks based on the screen partition rendering manner, and the plurality of image blocks are the plurality of rendering parts.

[0135] In some embodiments, the at least one picture rendering manner comprises a sub-process grouping rendering manner, such that the cloud service platform divides a plurality of sub-processes into a plurality of groups based on the sub-process grouping rendering manner, each group comprises at least one sub-process, and a dependency strength between the plurality of groups is lower than the strength threshold. Based on the plurality of groups, the at least one frame of scene data is divided into the plurality of rendering parts.

[0136] The plurality of groups and the plurality of rendering parts correspond to each other, and for each group, a rendering part corresponding to the group comprises image features required to be rendered by each sub-process in the group, and the required-to-be-rendered image features are features in the at least one frame of scene data.

[0137] In some embodiments, the at least one picture rendering manner can comprise a plurality of picture rendering manners, and the cloud service platform can obtain a rendering order of the plurality of picture rendering manners, and divide the at least one frame of scene data into the plurality of rendering parts based on the plurality of picture rendering manners and the rendering order.

[0138] For example, the at least one picture rendering manner comprises a frame partition rendering manner and a screen partition rendering manner, and the rendering order of the frame partition rendering manner is earlier than the rendering order of the screen partition rendering manner. The cloud service platform divides the at least one frame of scene data into a plurality of groups based on the frame partition rendering manner. Any group of scene data comprises at least one frame of scene data, and for each frame of scene data in the group of scene data, the group of scene data is divided based on the screen partition rendering manner to obtain a plurality of rendering parts. For each rendering part, the rendering part comprises at least one image block, and the at least one image block is an image block in the at least one frame of scene data.

[0139] For another example, the at least one picture rendering manner includes a sub-frame rendering manner and a scene partition rendering manner, and the rendering order of the sub-frame rendering manner is earlier than the rendering order of the scene partition rendering manner. The cloud service platform divides the at least one frame of scene data into a plurality of groups based on the sub-frame rendering manner. Any group of scene data includes at least one frame of scene data, and for each frame of scene data in the group of scene data, the scene partition rendering manner is used to divide each frame of scene data in the group of scene data to obtain a plurality of rendering parts. For each rendering part, the rendering part includes at least one object model, and the at least one object model is an object model in the at least one frame of scene data.

[0140] For another example, the at least one picture rendering manner includes a sub-frame rendering manner and a sub-process grouping rendering manner, and the rendering order of the sub-frame rendering manner is earlier than the rendering order of the sub-process grouping rendering manner. The cloud service platform divides the at least one frame of scene data into a plurality of groups based on the sub-frame rendering manner. Any group of scene data includes at least one frame of scene data, and the sub-process grouping rendering manner is used to determine a rendering process for rendering the group of scene data, divide a plurality of sub-processes included in the rendering process into a plurality of groups, each group including at least one sub-process, and divide the group of scene data into a plurality of rendering parts based on the plurality of groups.

[0141] The at least one picture rendering manner can also have other combinations, which are not listed here.

[0142] In some embodiments, the cloud service platform can also obtain division detail information of the at least one picture rendering manner based on the target information. The at least one frame of picture is divided into a plurality of rendering parts based on the division detail information and the at least one picture rendering manner.

[0143] Step 503: The cloud service platform renders the plurality of rendering parts by the plurality of rendering devices to obtain the at least one frame of picture.

[0144] In step 503, the cloud service platform assigns at least one rendering part to each rendering device based on the calculation complexity of the plurality of rendering parts and the state information of the plurality of rendering devices. Each rendering device is used to render at least one rendering part of the rendering device to obtain the at least one frame of picture.

[0145] In some embodiments, referring to FIG. 6, the cloud service platform includes a scheduling system, and the scheduling system can be used to schedule the plurality of rendering devices to assign at least one rendering part to each rendering device.

[0146] For example, the plurality of rendering parts are a plurality of groups of scene data, and the state information of the rendering device includes a number of tasks being executed by the rendering device, a size of a remaining video memory of the rendering device, and / or a number of remaining computing resources of the rendering device. The cloud service platform assigns each rendering device a group of scene data based on each group of scene data, the number of tasks being executed by each rendering device, the size of the remaining video memory of each rendering device, and / or the number of remaining computing resources of each rendering device. Each rendering device then renders the group of scene data of the rendering device to obtain at least one frame of scene data.

[0147] For another example, the plurality of rendering parts are a plurality of image blocks. The cloud service platform assigns each rendering device an image block based on a computing complexity of each image block, the number of tasks being executed by each rendering device, the size of the remaining video memory of each rendering device, and / or the number of remaining computing resources of each rendering device. Each rendering device then renders the image block of the rendering device to obtain at least one frame of scene data.

[0148] For yet another example, the plurality of rendering parts are a plurality of object models. The cloud service platform assigns each rendering device an object model based on a computing complexity of each object model, the number of tasks being executed by each rendering device, the size of the remaining video memory of each rendering device, and / or the number of remaining computing resources of each rendering device. Each rendering device then renders the object model of the rendering device to obtain at least one frame of scene data.

[0149] For yet another example, the plurality of rendering parts are determined based on grouping of a plurality of sub-processes, and the state information of the rendering device includes the number of tasks being executed by the rendering device, the size of the remaining video memory of the rendering device, and / or the number of remaining computing resources of the rendering device. The cloud service platform assigns each rendering device a group based on each group, the number of tasks being executed by each rendering device, the size of the remaining video memory of each rendering device, and / or the number of remaining computing resources of each rendering device. For each rendering device and the group corresponding to the rendering device, the rendering device executes sub-processes included in the group to render a rendering part corresponding to the group to obtain at least one frame of scene data.

[0150] In some embodiments, the at least one picture rendering mode includes a plurality of picture rendering modes, and the cloud service platform obtains a rendering order of the plurality of picture rendering modes. After rendering the at least one frame of scene data, the cloud service platform re-caches new scene data to the rendering queue. The cloud service platform obtains a rendering performance of rendering the at least one frame of scene data, and takes the rendering performance as a rendering performance corresponding to the rendering order. The cloud service platform then re-combines the plurality of picture rendering modes to obtain a new rendering order of the plurality of picture rendering modes.

[0151] In this way, when the rendering queue re-caches new scene data, the cloud service platform divides the new scene data into multiple rendering parts based on the multiple picture rendering manners and the new rendering order, and then renders the multiple rendering parts to obtain rendering performance corresponding to the new rendering order. By repeating the above process, rendering performance corresponding to different rendering orders can be obtained, and a rendering order with optimal rendering performance is selected. Then, the cloud service platform can use the selected rendering order to render the re-cached scene data in the rendering queue.

[0152] Optionally, the cloud service platform can randomly combine the multiple picture rendering manners, and each combined new rendering order is different from the combined rendering order.

[0153] In the embodiment of the present application, the cloud service platform obtains at least one picture rendering manner, which is obtained based on a rendering pipeline of at least one frame of scene data. The rendering pipeline is used to describe a rendering process of rendering the at least one frame of scene data. Since the rendering pipeline can be used to obtain a dependency relationship existing in the at least one frame of scene data, the at least one picture rendering manner obtained based on the rendering pipeline can not include a picture rendering manner corresponding to the dependency relationship. Therefore, the cloud service platform divides the at least one frame of scene data into multiple rendering parts based on the at least one picture rendering manner, so that the dependency strength between the multiple rendering parts is lower than a strength threshold. In this way, the multiple rendering parts are rendered by multiple rendering devices to obtain at least one frame of picture, which not only can be rendered in parallel, but also can improve the quality of the at least one frame of picture.

[0154] Referring to FIG. 7, the embodiment of the present application provides a device 700 for rendering a picture, which is deployed on the cloud service platform 100 shown in FIG. 1, or deployed on the cloud service platform 201 in the network architecture 200 shown in FIG. 2, FIG. 3 or FIG. 4. The device 700 further includes:

[0155] The obtaining unit 701 is configured to obtain at least one frame of scene data corresponding to at least one frame of picture to be rendered.

[0156] The obtaining unit 701 is configured to determine at least one picture rendering manner according to a rendering pipeline of the at least one frame of scene data, wherein the at least one picture rendering manner is obtained based on the rendering pipeline of the at least one frame of scene data, and the rendering pipeline is used to describe a rendering process of rendering the at least one frame of scene data.

[0157] The dividing unit 702 is configured to divide the at least one frame of scene data into multiple rendering parts based on the at least one picture rendering manner, wherein the dependency strength between the multiple rendering parts is lower than a strength threshold.

[0158] The rendering unit 703 is configured to render the multiple rendering parts by multiple rendering devices to obtain at least one frame of picture.

[0159] Optionally, the detailed implementation process of the obtaining unit 701 obtaining the at least one frame of scene data corresponding to the at least one frame of picture to be rendered can be referred to related content in step 501 of the method 500 shown in FIG. 5, which will not be described in detail here.

[0160] Optionally, the detailed implementation process of the obtaining unit 701 obtaining the at least one picture rendering mode can be referred to related content in step 501 of the method 500 shown in FIG. 5, which will not be described in detail here.

[0161] Optionally, the detailed implementation process of the dividing unit 702 dividing the at least one frame of scene data into the plurality of rendering parts can be referred to related content in step 502 of the method 500 shown in FIG. 5, which will not be described in detail here.

[0162] Optionally, the detailed implementation process of the rendering unit 703 rendering the plurality of rendering parts by the plurality of rendering devices to obtain the at least one frame of picture can be referred to related content in step 503 of the method 500 shown in FIG. 5, which will not be described in detail here.

[0163] Optionally, the obtaining unit 701 is configured to:

[0164] determine a rendering pipeline based on the at least one frame of scene data;

[0165] determine a dependency relationship existing in the at least one frame of scene data based on the rendering pipeline, the dependency relationship including one or more of the following relationships: an inter-frame dependency relationship between the at least one frame of scene data, a pixel dependency relationship between a plurality of pixel points included in the at least one frame of scene data, or an object dependency relationship between a plurality of object models included in the at least one frame of scene data;

[0166] determine at least one picture rendering mode based on the dependency relationship, the at least one picture rendering mode including a picture rendering mode other than a picture rendering mode corresponding to the dependency relationship.

[0167] Optionally, the detailed implementation process of the obtaining unit 701 determining the rendering pipeline based on the at least one frame of scene data can be referred to related content in step 501 of the method 500 shown in FIG. 5, which will not be described in detail here.

[0168] Optionally, the detailed implementation process of the obtaining unit 701 determining the dependency relationship existing in the at least one frame of scene data based on the rendering pipeline can be referred to related content in step 501 of the method 500 shown in FIG. 5, which will not be described in detail here.

[0169] Optionally, the detailed implementation process of the obtaining unit 701 determining the at least one picture rendering mode based on the dependency relationship can be referred to related content in step 501 of the method 500 shown in FIG. 5, which will not be described in detail here.

[0170] Optionally, the rendering process comprises a plurality of sub-processes, each of which is used to render different image features of the at least one frame of scene data, and the at least one picture rendering mode comprises one or more of the following: a frame-by-frame rendering mode, a screen partition rendering mode, a scene partition rendering mode, or a sub-process grouping rendering mode used for grouping the plurality of sub-processes.

[0171] Optionally, the picture rendering mode corresponding to the dependency relationship comprises one or more of the following: a frame-by-frame rendering mode corresponding to an inter-frame dependency relationship, a screen partition rendering mode corresponding to a pixel dependency relationship, or a scene partition rendering mode corresponding to an object dependency relationship.

[0172] Optionally, the obtaining unit 701 is configured to:

[0173] obtain target information, the target information comprising one or more of the following: information included in the at least one frame of scene data that needs to be rendered or state information of the plurality of rendering devices;

[0174] determine at least one candidate picture rendering mode based on the dependency relationship, the at least one candidate picture rendering mode comprising a picture rendering mode other than the picture rendering mode corresponding to the dependency relationship;

[0175] select the at least one picture rendering mode from the at least one candidate picture rendering mode based on the target information.

[0176] Optionally, the detailed implementation process of the obtaining unit 701 obtaining the target information can be found in the related content in step 501 of the method 500 shown in FIG. 5, which will not be described in detail here.

[0177] Optionally, the detailed implementation process of the obtaining unit 701 determining the at least one candidate picture rendering mode based on the dependency relationship can be found in the related content in step 501 of the method 500 shown in FIG. 5, which will not be described in detail here.

[0178] Optionally, the detailed implementation process of the obtaining unit 701 selecting the at least one picture rendering mode from the at least one candidate picture rendering mode based on the target information can be found in the related content in step 501 of the method 500 shown in FIG. 5, which will not be described in detail here.

[0179] Optionally, the obtaining unit 701 is further configured to:

[0180] obtain division detail information of the at least one picture rendering mode based on the target information;

[0181] The division unit 702 is configured to divide the at least one frame of scene data into a plurality of rendering parts based on the division detail information and the at least one picture rendering mode.

[0182] Optionally, the obtaining unit 701 obtains the detailed implementation process of the division detail information of the at least one picture rendering mode based on the target information. For details, please refer to the related content in step 502 of method 500 shown in FIG. 5, which will not be described in detail here.

[0183] Optionally, the division unit 702 divides the at least one frame of scene data into a plurality of rendering parts based on the division detail information and the at least one picture rendering mode. For details, please refer to the related content in step 502 of method 500 shown in FIG. 5, which will not be described in detail here.

[0184] Optionally, the apparatus 700 further includes a receiving unit 704, which is configured to:

[0185] receive at least one picture rendering mode sent by a terminal device of a user; or

[0186] receive at least one picture rendering mode sent by a third-party service device, the at least one picture rendering mode being obtained by the third-party service device based on the rendering pipeline.

[0187] Optionally, the rendering process includes a plurality of sub-processes, and the at least one picture rendering mode includes a sub-process grouping rendering mode.

[0188] The division unit 702 is configured to:

[0189] divide the plurality of sub-processes into a plurality of groups based on the sub-process grouping rendering mode, each group including at least one sub-process, and the dependency strength between the plurality of groups being lower than the strength threshold.

[0190] divide the at least one frame of scene data into a plurality of rendering parts based on the plurality of groups.

[0191] Optionally, the division unit 702 divides the plurality of sub-processes into a plurality of groups based on the sub-process grouping rendering mode. For details, please refer to the related content in step 502 of method 500 shown in FIG. 5, which will not be described in detail here.

[0192] Optionally, the division unit 702 divides the at least one frame of scene data into a plurality of rendering parts based on the plurality of groups. For details, please refer to the related content in step 502 of method 500 shown in FIG. 5, which will not be described in detail here.

[0193] Optionally, the dependency strength between the at least one sub-process is not lower than the strength threshold.

[0194] Optionally, the rendering unit 703 is configured to:

[0195] allocate at least one rendering part to each rendering device based on the computation complexity of the plurality of rendering parts and the state information of the plurality of rendering devices;

[0196] render at least one frame of picture by using each rendering device to render the at least one rendering part of each rendering device respectively.

[0197] Optionally, the detailed implementation process of the rendering unit 703 allocating at least one rendering part to each rendering device based on the computation complexity of the plurality of rendering parts and the state information of the plurality of rendering devices can refer to the related content in step 503 of the method 500 shown in FIG. 5, and will not be described in detail here.

[0198] Optionally, the detailed implementation process of the rendering unit 703 rendering at least one frame of picture by using each rendering device to render the at least one rendering part of each rendering device respectively can refer to the related content in step 503 of the method 500 shown in FIG. 5, and will not be described in detail here.

[0199] The obtaining unit 701, the dividing unit 702, the rendering unit 703 and the receiving unit 704 can be implemented by software or by hardware. For example, the implementation of the obtaining unit 701 will be described below. Similarly, the implementation of the dividing unit 702, the rendering unit 703 and the receiving unit 704 can refer to the implementation of the obtaining unit 701.

[0200] As an example of a software functional unit, the obtaining unit 701 can include code running on a computing instance. The computing instance can include at least one of a physical host (computing device), a virtual machine, and a container. Further, the computing instance can be one or more. For example, the obtaining unit 701 can include code running on multiple hosts / virtual machines / containers. The multiple hosts / virtual machines / containers for running the code can be distributed in the same region or in different regions. Further, the multiple hosts / virtual machines / containers for running the code can be distributed in the same availability zone (AZ) or in different AZs, and each AZ includes one data center or multiple data centers with close geographical locations. Generally, one region can include multiple AZs.

[0201] Similarly, the plurality of hosts / virtual machines / containers used to run the code can be distributed in the same virtual private cloud (VPC) or in multiple VPCs. Among them, usually one VPC is set in one region, and a communication gateway needs to be set in each VPC for cross-region communication between two VPCs in the same region and between VPCs in different regions, and the interconnection between VPCs is realized through the communication gateway.

[0202] As an example of a hardware functional unit, the obtaining unit 701 can include at least one computing device, such as a server or the like. Alternatively, the obtaining unit 701 can also be a device implemented by an application-specific integrated circuit (ASIC) or a programmable logic device (PLD), and the like. Among them, the above-mentioned PLD can be implemented by a complex programmable logical device (CPLD), a field-programmable gate array (FPGA), a generic array logic (GAL), or any combination thereof.

[0203] The plurality of computing devices included in the obtaining unit 701 can be distributed in the same region or in different regions. The plurality of computing devices included in the obtaining unit 701 can be distributed in the same AZ or in different AZs. Similarly, the plurality of computing devices included in the obtaining unit 701 can be distributed in the same VPC or in multiple VPCs. Among them, the plurality of computing devices can be any combination of server, ASIC, PLD, CPLD, FPGA and GAL computing devices.

[0204] It should be noted that in other embodiments, the obtaining unit 701 can be used to perform any step in the method of rendering a picture, the division unit 702 can be used to perform any step in the method of rendering a picture, the rendering unit 703 can be used to perform any step in the method of rendering a picture, and the receiving unit 704 can be used to perform any step in the method of rendering a picture. The steps responsible for the obtaining unit 701, the division unit 702, the rendering unit 703 and the receiving unit 704 can be specified as needed, and the entire function of the device 700 for rendering a picture is realized by the obtaining unit 701, the division unit 702, the rendering unit 703 and the receiving unit 704 respectively realizing different steps in the method of rendering a picture.

[0205] In the embodiments of the present application, the rendering pipeline is used to describe the rendering process of rendering at least one frame of scene data. Since the at least one picture rendering manner is obtained by the acquisition unit based on the rendering pipeline of the at least one frame of scene data to be rendered, the division unit divides the at least one frame of scene data into a plurality of rendering parts based on the at least one picture rendering manner, so that the dependency strength between the plurality of rendering parts is lower than the strength threshold, and the rendering unit renders the plurality of rendering parts by the plurality of rendering devices to obtain at least one frame of picture. Since the dependency strength between the plurality of rendering parts is lower than the strength threshold, each rendering device can not need the rendering result of other rendering parts when rendering the respective rendering part. Thus, the plurality of rendering devices render the plurality of rendering parts, which not only can render the plurality of rendering parts in parallel, but also improves the quality of the obtained at least one frame of picture.

[0206] Referring to FIG. 8, an embodiment of the present application provides a computing device 800. For example, the computing device 800 can be a device in the cloud service platform shown in FIG. 1, or can be a device in the cloud service platform included in the network architecture 200 shown in FIG. 2, FIG. 3 or FIG. 4, or the computing device 800 can be a device in the cloud service platform of the method 500 shown in FIG. 5, etc.

[0207] As shown in FIG. 8, the computing device 800 includes a bus 802, a processor 804, a memory 806 and a communication interface 808. The processor 804, the memory 806 and the communication interface 808 communicate through the bus 802. The computing device 800 can be a server or a terminal device. It should be understood that the number of processors and memories in the computing device 800 is not limited by the present application.

[0208] The bus 802 can be a peripheral component interconnect (PCI) bus or an extended industry standard architecture (EISA) bus, etc. The bus can be divided into an address bus, a data bus, a control bus, etc. For the convenience of representation, only one line is shown in FIG. 8, but it does not mean that there is only one bus or only one type of bus. The bus 802 can include a path for transmitting information between various components (for example, the processor 804, the memory 806, the communication interface 808) of the computing device 800.

[0209] The processor 804 can include any one or more of a central processing unit (CPU), a graphics processing unit (GPU), a microprocessor (MP), or a digital signal processor (DSP), among other processors.

[0210] The memory 806 can include volatile memory, such as random access memory (RAM), and non-volatile memory, such as read-only memory (ROM), floppy disks, mechanical hard disks, or solid state hard disks, among others.

[0211] Referring to FIG. 8, the memory 806 stores executable program code that the processor 804 executes to implement the functions of the obtaining unit 701, the dividing unit 702, the rendering unit 703, and the receiving unit 704 in the apparatus 700 shown in FIG. 7, respectively, to implement the method provided by any of the embodiments described above. That is, the memory 806 stores instructions for implementing the method provided by any of the embodiments described above. Alternatively,

[0212] The communication interface 808 uses a transceiving module, such as but not limited to a network interface card or a transceiver, to enable communication between the computing device 800 and other devices or communication networks.

[0213] Embodiments of the present disclosure also provide a cluster for rendering pictures. The cluster for rendering pictures includes at least one computing device. The computing device can be a server, such as a central server, an edge server, or a local server in a local data center. In some embodiments, the computing device can also be a terminal device, such as a desktop computer, a notebook computer, or a smartphone.

[0214] As shown in FIG. 9, the cluster for rendering pictures includes at least one computing device 800. The memory 806 in one or more of the computing devices 800 in the cluster for rendering pictures can store the same instructions for implementing the method for rendering pictures provided by any of the embodiments described above.

[0215] In some possible implementation, the memory 806 of one or more computing devices 800 in the cluster for rendering pictures can also respectively store partial instructions for performing the above-mentioned method for rendering pictures. In other words, the combination of one or more computing devices 800 can collectively perform the instructions for performing the method provided by any of the above-mentioned embodiments.

[0216] The memory 806 in different computing devices 800 in the cluster of computing devices can store different instructions respectively for performing the partial functions of the apparatus 700 for rendering pictures as shown in FIG. 7. That is, the instructions stored in the memory 806 in different computing devices 800 can implement the functions of one or more of the obtaining unit 701, the dividing unit 702, the rendering unit 703 and the receiving unit 704.

[0217] In some possible implementation, one or more computing devices in the cluster for rendering pictures can be connected through a network. The network can be a wide area network, a local area network or the like. FIG. 10 shows one possible implementation. As shown in FIG. 10, two computing devices 800A and 800B are connected through a network. Specifically, the computing devices are connected to the network through the communication interfaces in the computing devices.

[0218] In this kind of possible implementation, the memory 806 in the computing device 800A stores instructions for performing the functions of the obtaining unit 701, the dividing unit 702 and the rendering unit 703 in the embodiment as shown in FIG. 7. Meanwhile, the memory 806 in the computing device 800B stores instructions for performing the functions of the receiving unit 704 in the embodiment as shown in FIG. 7.

[0219] The connection manner between the cluster of computing devices as shown in FIG. 10 can be that the functions implemented by the receiving unit 704 are performed by the computing device 800B in consideration of the needs of the method for rendering pictures provided by the present application (e.g. storing and / or transmitting a large amount of data).

[0220] It should be understood that the functions of the computing device 800A as shown in FIG. 10 can also be completed by multiple computing devices 800. Similarly, the functions of the computing device 800B can also be completed by multiple computing devices 800.

[0221] The embodiments of the present application also provide another cluster for rendering pictures. The connection manner between the computing devices in the cluster for rendering pictures can be similar to the connection manner of the cluster for rendering pictures as described with reference to FIG. 10. The difference is that the memory 806 in one or more computing devices 800 in the cluster for rendering pictures can store the same instructions for performing the method for rendering pictures provided by any of the above-mentioned embodiments.

[0222] In some possible implementation manners, part of instructions for performing the method provided by any of the above embodiments can also be stored in the memory 806 of one or more computing devices 800 in the cluster of rendering pictures respectively. In other words, the combination of one or more computing devices 800 can collectively perform the instructions for performing the method provided by any of the above embodiments.

[0223] The embodiments of the present application further provide a computer program product containing instructions. The computer program product can be a software or program product containing instructions, which can run on a computing device or be stored in any available medium. When the computer program product runs on at least one computing device, the at least one computing device is caused to perform the method provided by any of the above embodiments.

[0224] The embodiments of the present application further provide a computer readable storage medium. The computer readable storage medium can be any available medium that the computing device can store or a data storage device such as a data center containing one or more available media. The available medium can be a magnetic medium (for example, a floppy disk, a hard disk, a magnetic tape), an optical medium (for example, a DVD), or a semiconductor medium (for example, a solid state disk) and the like. The computer readable storage medium includes instructions, which instruct the computing device to perform the method provided by any of the above embodiments.

[0225] Those of ordinary skill in the art can understand that all or part of the steps of the above embodiments can be completed by hardware, or by a program instructing relevant hardware, and the program can be stored in a computer readable storage medium. The storage medium mentioned above can be a read-only memory, a magnetic disk or an optical disk, etc.

[0226] The above description is only optional embodiments of the present application and is not used to limit the present application. Any modification, equivalent replacement, improvement, etc. made within the principles of the present application shall be included in the protection scope of the present application.

Claims

1. A method of rendering a picture, characterized by, The method is applied to a cloud service platform, and the method comprises: obtaining at least one frame of scene data corresponding to at least one frame of picture to be rendered; determining at least one picture rendering mode according to a rendering pipeline of the at least one frame of scene data, the rendering pipeline being used to describe a rendering process of rendering the at least one frame of scene data; based on the at least one picture rendering mode, dividing the at least one frame of scene data into a plurality of rendering parts, the dependency strength between the plurality of rendering parts being lower than a strength threshold; rendering the plurality of rendering parts by a plurality of rendering devices to obtain the at least one frame of picture.

2. The method of claim 1, wherein, The determining at least one picture rendering mode according to a rendering pipeline of the at least one frame of scene data comprises: determining the rendering pipeline based on the at least one frame of scene data; determining a dependency relationship existing in the at least one frame of scene data based on the rendering pipeline, the dependency relationship comprising one or more of the following relationships: an inter-frame dependency relationship between the at least one frame of scene data, a pixel dependency relationship between a plurality of pixel points included in the at least one frame of scene data, or an object dependency relationship between a plurality of object models included in the at least one frame of scene data; determining at least one picture rendering mode based on the dependency relationship, the at least one picture rendering mode comprising a picture rendering mode other than a picture rendering mode corresponding to the dependency relationship.

3. The method of claim 2, wherein, The rendering process comprises a plurality of sub-processes, each sub-process being used to render a different image feature of the at least one frame of scene data, and the at least one picture rendering mode comprises one or more of the following: a frame rendering mode, a screen block rendering mode, a scene block rendering mode, or a sub-process grouping rendering mode used for grouping the plurality of sub-processes.

4. The method of claim 2 or 3, wherein, The picture rendering mode corresponding to the dependency relationship comprises one or more of the following: a frame rendering mode corresponding to the inter-frame dependency relationship, a screen block rendering mode corresponding to the pixel dependency relationship, or a scene block rendering mode corresponding to the object dependency relationship.

5. The method according to any one of claims 2 to 4, wherein, The method further comprises: obtaining target information, the target information comprising one or more of the following: information included in the at least one frame of scene data that needs to be rendered or state information of the plurality of rendering devices; The determining at least one picture rendering mode based on the dependency relationship comprises: determining at least one candidate picture rendering mode based on the dependency relationship, the at least one candidate picture rendering mode comprising a picture rendering mode other than a picture rendering mode corresponding to the dependency relationship; selecting the at least one picture rendering mode from the at least one candidate picture rendering mode based on the target information.

6. The method of claim 5, wherein, The method further comprises: obtaining division detail information of the at least one picture rendering mode based on the target information; The dividing the at least one frame of scene data into a plurality of rendering parts based on the at least one picture rendering mode comprises: dividing the at least one frame of scene data into the plurality of rendering parts based on the division detail information and the at least one picture rendering mode.

7. The method of claim 1, wherein, The determining at least one picture rendering mode comprises: receive the at least one picture rendering mode sent by a terminal device of a user; or receive the at least one picture rendering mode sent by a third-party service device, the at least one picture rendering mode being obtained by the third-party service device based on the rendering pipeline.

8. The method according to any one of claims 1 to 7, wherein, The rendering process includes a plurality of sub-processes, and the at least one picture rendering mode includes a sub-process grouping rendering mode. The dividing, based on the at least one picture rendering mode, of the at least one frame of scene data into a plurality of rendering parts includes: based on the sub-process grouping rendering mode, dividing the plurality of sub-processes into a plurality of groups, each group including at least one sub-process, and the dependency strength between the plurality of groups being lower than the strength threshold; based on the plurality of groups, dividing the at least one frame of scene data into a plurality of rendering parts.

9. The method of claim 8, wherein, The dependency strength between the at least one sub-process is not lower than the strength threshold.

10. The method of any one of claims 1-9, wherein, The rendering, by a plurality of rendering devices, of the plurality of rendering parts to obtain the at least one frame of picture includes: based on the calculation complexity of the plurality of rendering parts and the state information of the plurality of rendering devices, assigning at least one rendering part to each rendering device; using the each rendering device, rendering the at least one rendering part of the each rendering device respectively to obtain the at least one frame of picture.

11. An apparatus for rendering a picture, the apparatus comprising: The apparatus is deployed on a cloud service platform, and the apparatus includes: an obtaining unit configured to obtain at least one frame of scene data corresponding to at least one frame of picture to be rendered; The obtaining unit is further configured to determine at least one picture rendering mode according to a rendering pipeline of the at least one frame of scene data, the rendering pipeline being used to describe a rendering process of rendering the at least one frame of scene data. a dividing unit configured to divide, based on the at least one picture rendering mode, the at least one frame of scene data into a plurality of rendering parts, the dependency strength between the plurality of rendering parts being lower than a strength threshold; a rendering unit configured to render, by a plurality of rendering devices, the plurality of rendering parts to obtain the at least one frame of picture.

12. The apparatus of claim 11, wherein, The obtaining unit is configured to: determine the rendering pipeline based on the at least one frame of scene data; determine a dependency relationship existing in the at least one frame of scene data based on the rendering pipeline, the dependency relationship including one or more of the following relationships: an inter-frame dependency relationship between the at least one frame of scene data, a pixel dependency relationship between a plurality of pixel points included in the at least one frame of scene data, or an object dependency relationship between a plurality of object models included in the at least one frame of scene data; determine at least one picture rendering mode based on the dependency relationship, the at least one picture rendering mode including a picture rendering mode other than a picture rendering mode corresponding to the dependency relationship.

13. The apparatus of claim 12, wherein, The rendering process includes a plurality of sub-processes, each sub-process being used to render different image features of the at least one frame of scene data, and the at least one picture rendering mode includes one or more of the following: a frame-by-frame rendering mode, a screen blocking rendering mode, a scene blocking rendering mode, or a sub-process grouping rendering mode used for grouping the plurality of sub-processes.

14. The apparatus of claim 12 or 13, wherein, The picture rendering mode corresponding to the dependency relationship comprises one or more of a frame splitting rendering mode corresponding to the inter-frame dependency relationship, a screen partitioning rendering mode corresponding to the pixel dependency relationship, or a scene partitioning rendering mode corresponding to the object dependency relationship.

15. The apparatus of any one of claims 12-14, wherein, The obtaining unit is configured to: obtain target information, the target information comprising one or more of information included in the at least one frame of scene data that needs to be rendered or state information of the plurality of rendering devices; determine at least one candidate picture rendering mode based on the dependency relationship, the at least one candidate picture rendering mode comprising a picture rendering mode other than the picture rendering mode corresponding to the dependency relationship; select the at least one picture rendering mode from the at least one candidate picture rendering mode based on the target information.

16. The apparatus of claim 15, wherein, The obtaining unit is further configured to: obtain partitioning detail information of the at least one picture rendering mode based on the target information; The partitioning unit is configured to partition the at least one frame of scene data into the plurality of rendering portions based on the partitioning detail information and the at least one picture rendering mode.

17. The apparatus of claim 11, wherein, The apparatus further comprises a receiving unit configured to: receive the at least one picture rendering mode sent by a terminal device of a user; or receive the at least one picture rendering mode sent by a third-party service device, the at least one picture rendering mode being obtained by the third-party service device based on the rendering pipeline.

18. The apparatus of any one of claims 11-17, wherein, The rendering process comprises a plurality of sub-processes, and the at least one picture rendering mode comprises a sub-process grouping rendering mode. The partitioning unit is configured to: partition the plurality of sub-processes into a plurality of groups based on the sub-process grouping rendering mode, each group comprising at least one sub-process, and a dependency strength between the plurality of groups being lower than the strength threshold; partition the at least one frame of scene data into a plurality of rendering portions based on the plurality of groups.

19. The apparatus of claim 18, wherein, The dependency strength between the at least one sub-process is not lower than the strength threshold.

20. The apparatus of any one of claims 11-19, wherein, The rendering unit is configured to: assign at least one rendering portion to each rendering device based on a computational complexity of the plurality of rendering portions and the state information of the plurality of rendering devices; and render the at least one frame of picture by using the each rendering device to respectively render the at least one rendering portion of the each rendering device.

21. A cluster of computing devices, characterized in that, The at least one computing device comprises a processor and a memory; The processor of the at least one computing device is configured to execute instructions stored in the memory of the at least one computing device, so that the cluster of computing devices performs the method of any one of claims 1-10.

22. A computer-readable storage medium, characterized in that, The computer program instructions, when executed by a cluster of computing devices, cause the cluster of computing devices to perform the method of any one of claims 1-10.

23. A computer program product comprising instructions, characterized in that, The instructions, when executed by a cluster of computing devices, cause the cluster of computing devices to perform the method of any one of claims 1-10.

Citation Information

Patent Citations

  • Image rendering method and device, computer equipment and storage medium

    CN112381918A

  • Rendering method, device and system

    CN118212333A

  • Techniques for rendering complex scenes

    US20050248563A1