Rendering processing method and rendering device

By intercepting and adjusting the rendering instructions, adjusting the resolution parameters of the rendering channel according to the field of view transformation information, the heating and power consumption problems of terminal equipment caused by high GPU load is solved, and more efficient rendering processing is achieved.

WO2025044216A1PCT designated stage expired Publication Date: 2025-03-06HUAWEI TECH CO LTD

Patent Information

Application Number
PCT/CN2024/086637
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2023-09-01
Filing Date
2024-04-08
Publication Date
2025-03-06

AI Technical Summary

Technical Problem

When rendering images of higher image quality applications, the GPU load is high, resulting in terminal devices heating up and power consumption faster.

Method used

By intercepting the rendering instructions sent by the target application, obtaining the rendering instructions for the previous frame of the image, determining the field of view transformation information of the image to be rendered relative to the previous frame of the image, and adjusting the resolution parameters of the rendering channel when it meets the preset dynamic scene to reduce the rendering operation.

Benefits of technology

On the premise of relatively ensuring rendering quality, the rendering calculation volume is reduced, the rendering efficiency is improved, the frame rate of the target application is improved, and the heating and power consumption of terminal devices is reduced.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2024086637_06032025_PF_FP_ABST
    Figure CN2024086637_06032025_PF_FP_ABST
Patent Text Reader

Abstract

The present application relates to the technical field of image processing. Disclosed are a rendering processing method and a rendering device, which reduce the heating of a terminal device and reduce the power consumption. The rendering processing method comprises: first, capturing a first rendering instruction which is sent by a target application and is used for rendering an image to be rendered of the target application; then, acquiring a second rendering instruction which is used for rendering the previous image frame of said image; on the basis of the first rendering instruction and the second rendering instruction, determining field-of-view transformation information of said image relative to the previous image frame; when the field-of-view transformation information conforms to a preset dynamic scenario, adjusting an original resolution parameter of at least one rendering channel in the first rendering instruction to a relatively low preset resolution parameter; and finally, sending the adjusted first rendering instruction, so as to render said image.
Need to check novelty before this filing date? Find Prior Art

Description

Rendering processing method and rendering device

[0001] This application claims priority to the Chinese patent application filed with the State Intellectual Property Office on August 29, 2023, with application number 202311114943.2 and application name “Rendering Processing Method and Device”, and the Chinese patent application filed with the State Intellectual Property Office on September 1, 2023, with application number 202311131841.1 and application name “Rendering Processing Method and Rendering Device”, the entire contents of which are incorporated herein by reference. Technical Field

[0002] The present application relates to the field of image processing technology, and in particular to a rendering processing method and a rendering device. Background Art

[0003] As users' requirements for the visual effects of applications become higher and higher, the image resolution of applications is also getting higher and higher. The image resolution of an application depends on how the image is rendered. Specifically, the process of rendering a scene is usually that the central processing unit (CPU) of the terminal device sends rendering data to the graphics processing unit (GPU) so that the GPU can render the image based on the rendering data. Since a dynamic scene is generally composed of a large number of sequential frame images, the GPU needs to render each frame of the dynamic scene, which is very time-consuming. In addition, the higher the image resolution of the application, the more detailed the GPU needs to render each frame of the image, which means that the GPU needs to bear a huge amount of computing power.

[0004] In summary, when rendering images for higher-quality applications, the GPU load is high, causing the terminal device to heat up and consume power quickly.

[0005] Summary of the Invention

[0006] The present application provides a rendering processing method and a rendering device, which reduce the heat generation of terminal devices and save power consumption.

[0007] To achieve the above objectives, this application adopts the following technical solutions:

[0008] In a first aspect, a rendering processing method is provided, which first intercepts a first rendering instruction sent by a target application for rendering an image to be rendered of the target application; then obtains a second rendering instruction for rendering a previous frame of the image to be rendered; then determines field of view transformation information of the image to be rendered relative to the previous frame of the image based on the first rendering instruction and the second rendering instruction; and when the field of view transformation information conforms to a preset dynamic scene, adjusts the original resolution parameter of at least one rendering channel in the first rendering instruction to a lower preset resolution parameter; finally, sends the adjusted first rendering instruction to render the image to be rendered.

[0009] In the first aspect, the first rendering instruction indicating a higher resolution sent by the target application is intercepted, and when the field of view transformation information conforms to the preset dynamic scene, the original resolution parameters of some rendering channels in the first rendering instruction are lowered and then sent to the graphics processor for rendering. This reduces the amount of rendering calculations while relatively ensuring the rendering quality, thereby improving the rendering efficiency to increase the frame rate of the target application and reduce the heat and power consumption of the terminal device.

[0010] In one possible implementation, the method also includes: when the field of view transformation information conforms to a preset static scene, generating a third rendering instruction, the third rendering instruction including a first sub-instruction and a second sub-instruction, specifically, the first sub-instruction is used to indicate the use of the rendering result of at least one rendering channel of the previous frame image as the first rendering result of the image to be rendered, and the second sub-instruction includes the original resolution parameters of the remaining rendering channels except at least one rendering channel in the first rendering instruction; sending the third rendering instruction for rendering the image to be rendered.

[0011] In this implementation, when the field of view transformation information conforms to a preset static scene, a third rendering instruction is generated to instruct to reuse the rendering result of a portion of the rendering channel of the previous frame image as the rendering result of the image to be rendered, thereby reducing the required rendering operations.

[0012] In one possible implementation, adjusting the original resolution parameter of at least one rendering channel in the first rendering instruction to a preset resolution parameter includes: determining multiple rendering channels in the first rendering instruction, and specification parameters of the multiple rendering channels; the specification parameters include at least one of the following: rendering channel size, frame buffer attachments, and number of draw call interfaces; adjusting the original resolution parameter of a target rendering channel among the multiple rendering channels to the preset resolution parameter, wherein the specification parameters of the target rendering channel meet the preset specification conditions.

[0013] In this implementation, only the original resolution parameters of the target rendering channel are adjusted to the preset resolution parameters. In this way, when rendering is performed based on the adjusted first rendering instruction, the rendering calculation amount can be reduced while relatively ensuring the rendering quality, thereby improving the rendering efficiency to increase the frame rate of the target application and reduce the heat and power consumption of the terminal device.

[0014] In a possible implementation, different sizes of field of view transformation information correspond to different preset dynamic scenes; the preset resolution parameters under different preset dynamic scenes are different, or the preset resolution parameters under different preset dynamic scenes are the same.

[0015] In this implementation, preset resolution parameters under different preset dynamic scenes are flexibly defined.

[0016] In one possible implementation, the field of view transformation information includes displacement transformation information and angle transformation information; the first rendering instruction includes a first field of view matrix and a first coordinate, and the second rendering instruction includes a second field of view matrix and a second coordinate; the field of view transformation information of the image to be rendered relative to the previous frame image is determined according to the first rendering instruction and the second rendering instruction, including: calculating the difference between the first coordinate and the second coordinate, and outputting the displacement transformation information; calculating the first plane normal vector according to the first field of view matrix, and calculating the second plane normal vector according to the second field of view matrix; calculating the angle between the first plane normal vector and the second plane normal vector, and outputting the angle transformation information.

[0017] In this implementation, the field of view transformation information can be accurately calculated, and then based on the field of view transformation information, it can be determined whether the camera's transformation scene is a preset dynamic scene or a preset static scene, so as to execute different rendering instruction adjustment strategies based on different scenes.

[0018] In a second aspect, a rendering processing method is provided, the method comprising: receiving a third rendering instruction; wherein the third rendering instruction comprises a first sub-instruction and a second sub-instruction, the first sub-instruction being used to indicate the use of the rendering result of at least one rendering channel of the previous frame image of the target application to be rendered as the first rendering result of the image to be rendered, the second sub-instruction comprising the original resolution parameters of the remaining rendering channels except for at least one rendering channel in the first rendering instruction, the first rendering instruction being an instruction sent by the target application for rendering the image to be rendered; rendering the image to be rendered according to the third rendering instruction to obtain a full rendering result of the image to be rendered, wherein the full rendering result comprises the first rendering result and the second rendering result, and the second rendering result is obtained by rendering the image to be rendered by the remaining rendering channels based on the original resolution parameters.

[0019] In the second aspect, the image to be rendered is rendered based on the third rendering instruction. Since the rendering channel corresponding to the reused rendering result does not need to be rendered again, the rendering calculation amount is reduced, the rendering efficiency is improved, the frame rate of the target application is improved, and the heat and power consumption of the terminal device are reduced.

[0020] In a third aspect, a rendering processing device is provided, including: an interception module for intercepting a first rendering instruction sent by a target application, wherein the first rendering instruction is used to render an image to be rendered of the target application; an acquisition module for acquiring a second rendering instruction, wherein the second rendering instruction is used to render a previous frame image of the image to be rendered; a determination module for determining field of view transformation information of the image to be rendered relative to the previous frame image based on the first rendering instruction and the second rendering instruction; an adjustment module for adjusting the original resolution parameter of at least one rendering channel in the first rendering instruction to a preset resolution parameter when the field of view transformation information conforms to a preset dynamic scene, and the preset resolution parameter is lower than the original resolution parameter; a sending module for sending the adjusted first rendering instruction; the adjusted first rendering instruction is used to render the image to be rendered.

[0021] In one possible implementation, the device also includes: a generation module, which is used to generate a third rendering instruction when the field of view transformation information conforms to a preset static scene, wherein the third rendering instruction includes a first sub-instruction and a second sub-instruction, the first sub-instruction is used to indicate the use of the rendering results of part of the rendering channel of the previous frame image as the partial rendering results of the image to be rendered, and the second sub-instruction includes the original resolution parameters of the remaining rendering channels except the part of the rendering channels in the first rendering instruction; the sending module is also used to send the third rendering instruction, and the third rendering instruction is used to render the image to be rendered.

[0022] In one possible implementation, the adjustment module is specifically used to: determine multiple rendering channels in the first rendering instruction, and specification parameters of the multiple rendering channels; adjust the original resolution parameters of the target rendering channel among the multiple rendering channels to preset resolution parameters; wherein the specification parameters include at least one of the following: rendering channel size, frame buffer attachments, and number of draw call interfaces, and the specification parameters of the target rendering channel meet the preset specification conditions.

[0023] In a possible implementation, different sizes of field of view transformation information correspond to different preset dynamic scenes; the preset resolution parameters under different preset dynamic scenes are different, or the preset resolution parameters under different preset dynamic scenes are the same.

[0024] In one possible implementation, the field of view transformation information includes displacement transformation information and angle transformation information; the first rendering instruction includes a first field of view matrix and a first coordinate, and the second rendering instruction includes a second field of view matrix and a second coordinate; the determination module is specifically used to: calculate the difference between the first coordinate and the second coordinate, and output the displacement transformation information; calculate the first plane normal vector according to the first field of view matrix, and calculate the second plane normal vector according to the second field of view matrix; calculate the angle between the first plane normal vector and the second plane normal vector, and output the angle transformation information.

[0025] In a fourth aspect, a rendering processing device is provided, including: a receiving module for receiving a third rendering instruction; wherein the third rendering instruction includes a first sub-instruction and a second sub-instruction, the first sub-instruction is used to indicate the use of the rendering result of at least one rendering channel of the previous frame image of the target application to be rendered as the first rendering result of the image to be rendered, the second sub-instruction includes the original resolution parameters of the remaining rendering channels except at least one rendering channel in the first rendering instruction, and the first rendering instruction is an instruction sent by the target application for rendering the image to be rendered; a rendering module is used to render the image to be rendered according to the third rendering instruction to obtain a full rendering result of the image to be rendered, wherein the full rendering result includes the first rendering result and the second rendering result, and the second rendering result is obtained by rendering the image to be rendered by the remaining rendering channels based on the original resolution parameters.

[0026] In a fifth aspect, the present application provides a rendering device, comprising a processor and a transceiver, the processor and the transceiver configured to support the rendering device in executing the method of the first or second aspect. Furthermore, the rendering device may further comprise a memory storing computer instructions, the processor being capable of executing the computer instructions to execute the method of the first or second aspect.

[0027] In a sixth aspect, the present application provides a computer-readable storage medium, which stores computer instructions. When the computer instructions are executed, the method of the first aspect or the second aspect is executed.

[0028] In a seventh aspect, the present application provides a computer program product comprising instructions, which, when executed on a computer, enables the computer to execute the method of the first or second aspect described above.

[0029] In an eighth aspect, the present application provides a chip comprising a processor and a transceiver, wherein the processor and the transceiver are used to support a rendering processing device to execute the method of the first aspect or the second aspect.

[0030] Among them, the beneficial effects described in the third to sixth aspects of this application can refer to the analysis of the beneficial effects of the first or second aspect, and will not be repeated here. BRIEF DESCRIPTION OF THE DRAWINGS

[0031] FIG1 is a schematic structural diagram of a rendering device provided in an embodiment of the present application;

[0032] FIG2 is a schematic diagram of the architecture of a rendering system provided in an embodiment of the present application;

[0033] FIG3 is a schematic diagram of a flow chart of a rendering processing method provided in an embodiment of the present application;

[0034] FIG4 is a schematic diagram of a flow chart of another rendering processing method provided in an embodiment of the present application;

[0035] FIG5 is a schematic diagram of a flow chart of another rendering processing method provided in an embodiment of the present application;

[0036] FIG6 is a schematic diagram of a rendering channel provided in an embodiment of the present application;

[0037] FIG7 is a schematic diagram of a flow chart of another rendering processing method provided in an embodiment of the present application;

[0038] FIG8 is a schematic structural diagram of a rendering processing device provided in an embodiment of the present application;

[0039] FIG9 is a schematic structural diagram of another rendering processing device provided in an embodiment of the present application. DETAILED DESCRIPTION

[0040] The network architecture and business scenarios described in the embodiments of the present application are intended to more clearly illustrate the technical solutions of the embodiments of the present application, and do not constitute a limitation on the technical solutions provided in the embodiments of the present application. Ordinary technicians in this field will know that with the evolution of network architecture and the emergence of new business scenarios, the technical solutions provided in the embodiments of the present application are also applicable to similar technical problems.

[0041] It should be noted that the terms "first" and "second" in the specification, claims, and drawings of this application are used to distinguish different objects, rather than to describe a specific order. In addition, the terms "including" and "having" and any variations thereof are intended to cover non-exclusive inclusions. For example, a process, method, system, product, or device that includes a series of steps or units is not limited to the listed steps or units, but may optionally include steps or units that are not listed, or may optionally include other steps or units that are inherent to these processes, methods, products, or devices.

[0042] It should be understood that in the embodiments of the present application, "at least one (item)" refers to one or more, "more than one" refers to two or more, "at least two (items)" refers to two or three and more than three, and "and / or" is used to describe the association relationship of associated objects, indicating that three relationships can exist. For example, "A and / or B" can mean: only A exists, only B exists, and A and B exist at the same time, where A and B can be singular or plural. The character " / " generally indicates that the associated objects before and after are in an "or" relationship. "At least one of the following items" or similar expressions refers to any combination of these items, including any combination of single items or plural items. For example, at least one of a, b or c can mean: a, b, c, "a and b", "a and c", "b and c", or "a and b and c", where a, b, c can be single or multiple. It should be understood that in the embodiments of the present application, "B corresponding to A" means that B is associated with A. For example, B can be determined based on A. It should also be understood that determining B based on A does not mean determining B solely based on A. B can also be determined based on A and / or other information.

[0043] Before introducing the embodiments of the present application, some terms involved in the embodiments of the present application are explained.

[0044] GPU: also known as display core, visual processor, and display chip, is a microprocessor specifically designed to perform image and graphics-related calculations on personal computers, workstations, game consoles, and some mobile devices (such as tablets, smartphones, etc.).

[0045] Model View Projection Matrix (MVP Matrix): This can be referred to as the MVP matrix. Specifically, the MVP matrix is ​​the combination of the model, view, and projection matrices. The model matrix is ​​used to transform an object from the local coordinate system to the world coordinate system, the view matrix is ​​used to transform the world coordinate system to the camera coordinate system, and the projection matrix is ​​used to transform the camera coordinate system to the clipping coordinate system.

[0046] Draw Call Interface (Draw Call): Draw Call refers to the process of the CPU sending a drawing instruction to the GPU. In order to draw an object, the CPU needs to send a Draw Call to the GPU. The more Draw Calls there are, the greater the load on the CPU and GPU, which affects the performance of the terminal device.

[0047] Rendering Pass: abbreviated as Pass, is an important part of the rendering pipeline. Every detail seen in the final rendered frame (also called the rendering result) is calculated through a series of Passes. Pass can generate the textures, buffers, and render targets required for the image. Each image generated by Pass contains specific information about the scene, such as color, normals, and depth information. These image information are combined to generate more complex effects, such as shadows, lighting, blur, glow, and other post-processing effects. Pass is a logical grouping of rendering work with defined input slots and output slots. It receives the input data passed to it through the input slot, calculates it, and then generates an output data, which is passed to other Passes through the output slot.

[0048] In one embodiment, a pass may be a render pass, and the rendering instructions of an application include a group of associated render passes.

[0049] Camera: It can be called a virtual camera, which is very similar to a real camera. The Camera component in the game is responsible for capturing the game screen and then projecting it onto the screen. The screen captured by the Camera determines the screen of the Game panel. When creating a scene, A Camera is created by default, so the screen will appear only when the user clicks the Game panel. In game applications, the Camera is generally mobile. For example, in a first-person game, the Camera will always move with our operations. Specifically, the coordinates of the Camera can correspond to a certain point in the world coordinate system. The visual range determined by the Camera determines the screen range of the game. In the various embodiments of this application, the Camera is also referred to as the field of view.

[0050] To meet users' ever-increasing demands for image quality, applications such as gaming, film, and design are increasingly moving towards higher resolutions and higher frame rates. However, higher image resolutions require more GPU processing, which results in higher heat generation and power consumption in terminal devices.

[0051] In order to solve the above technical problems, an embodiment of the present application provides a rendering processing method. The method provided by the embodiment of the present application is described below in conjunction with the drawings in the specification.

[0052] The communication method provided in the embodiment of the present application can be applied to a rendering device. For example, the rendering device can be a terminal device (terminal equipment), and the terminal device can be a user equipment (UE), a mobile station (MS) or a mobile terminal (MT), etc. Specifically, the terminal device can be a mobile phone, a tablet computer or a computer with wireless transceiver function, and can also be a virtual reality (VR) terminal, an augmented reality (AR) terminal, etc. In the embodiment of the present application, the device for realizing the function of the terminal device can be a terminal, or it can be a device that can support the terminal to realize the function, such as a chip system, which can be installed in the terminal device or used in combination with the terminal device.

[0053] Illustratively, an embodiment of the present application provides a rendering device 100 . The structure of the rendering device 100 is shown in FIG1 . The rendering device 100 includes: a processor 101 , a graphics processor 102 , and a memory 103 .

[0054] Among them, the processor 101 can be a CPU, and the processor 101 can also be other general-purpose processors, digital signal processors (DSP), application specific integrated circuits (ASIC), field-programmable gate arrays (FPGA) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components and other chips, or a combination of the above types of chips.

[0055] The processor 101 is configured to generate a first rendering instruction according to a rendering request of an application, adjust the first rendering instruction using the rendering processing method of an embodiment of the present application, convert the adjusted rendering instruction into hardware code, and send the hardware code to the graphics processor 102 for execution.

[0056] The graphics processor 102 is configured to render an application image by executing hardware codes corresponding to rendering instructions.

[0057] The memory 103 can be a volatile memory, such as a random-access memory (RAM); or a non-volatile memory, such as a read-only memory (ROM), a flash memory, a hard disk drive (HDD) or a solid-state drive (SSD); or a combination of the above types of memory, used to store rendering instructions, rendering resources, shader parameters, rendering status, applications, configuration files, data information or other content that can implement the method of the present application.

[0058] The embodiment of the present application further provides a rendering system, which can be deployed on the rendering device shown in Figure 1. As shown in Figure 2, the rendering system shown in Figure 2 includes an application layer, a software framework layer, a driver layer, and a hardware layer.

[0059] Specifically, the application layer, the software framework layer, and the driver layer may run on the processor 101 of the rendering device 100 , and the hardware layer may run on the graphics processor 102 of the rendering device 100 .

[0060] Among them, the application layer mainly carries graphics rendering programs, including games, graphics applications (APP), display user interfaces (UI), cameras, virtual and augmented reality technologies (VR / AR), etc. The graphics rendering program of the application layer can run on the CPU, receive rendering requests issued by users, and call the target application to generate a first rendering instruction based on the rendering request, and send the generated first rendering instruction to the software framework layer.

[0061] The software framework layer mainly carries the rendering engine, which includes the game engine Unreal Engine, Graphics Display System HWUI), game development engine (Cocos), etc. The software framework layer can run on the CPU, receive the first rendering instruction of the application layer, and execute the rendering processing method of the embodiment of the present application based on the first rendering instruction to obtain the adjusted first rendering instruction, and improve the adjusted first rendering instruction based on the rendering engine.

[0062] The driver layer mainly carries the graphics driver program. The driver layer can run on the CPU and convert the adjusted first rendering instruction into hardware code and send it to the hardware layer.

[0063] The hardware layer mainly carries graphics hardware, and for example, the hardware may be a GPU, etc. The hardware layer may run on the GPU and execute hardware code corresponding to the adjusted first rendering instruction to render an image of the application.

[0064] For example, when a user runs a game application on a mobile phone, a scene is rendered based on a certain operation of the user. The game application running on the application layer on the CPU responds to the user's operation, generates a rendering request and initially generates a first rendering instruction. The game engine running on the software framework layer on the CPU then adjusts the rendering instruction. The driver running on the driver layer on the CPU converts the adjusted rendering instruction into hardware code and sends it to the hardware layer. The hardware layer can run the hardware code on the GPU to render the image of the application.

[0065] Specifically, the process of the software framework layer in the rendering system executing the rendering processing method of the embodiment of the present application will be described in detail in the following method content and will not be repeated here.

[0066] It should be noted that the rendering device illustrated in FIG1 and the rendering system illustrated in FIG2 are merely examples of application scenarios of the present application solution, and are not intended to limit the application scenarios of the present application solution.

[0067] Based on the above rendering device introduced in the embodiment of the present application, the embodiment of the present application provides a rendering processing method. Figure 3 shows a flow chart of the rendering processing method provided by the embodiment of the present application. As shown in Figure 3, the method may include the following steps:

[0068] S310: The processor intercepts a first rendering instruction sent by a target application.

[0069] Among them, when processing rendering instructions sent by various applications, the processor can determine whether it is the target application based on the application information. And intercept the rendering instructions when it is determined that the target application sends the rendering instructions. The target application is a type of application with higher resolution requirements. For example, it can be a game application, VR application, AR application, etc. Precisely because of its higher resolution requirements, if the image to be rendered is rendered based on the first rendering instruction generated by the target application, the resolution of the rendering result is also higher, and the rendering process also places a higher load on the graphics processor.

[0070] Referring to the description of the application layer in the rendering system provided in the embodiment of this application, the application layer receives a rendering request from a user and, based on the rendering request, calls the target application to generate a first rendering instruction, and then sends the generated first rendering instruction to the software framework layer. The software framework layer usually directly improves the first rendering instruction, but the embodiment of this application intercepts the first rendering instruction, adjusts the first rendering instruction, and then the rendering engine of the software framework layer improves the adjusted first rendering instruction. In other words, after intercepting the first rendering instruction, the terminal device cannot render based on the first rendering instruction.

[0071] Installed on terminal device Operating system as an example, you can use The reserved interface of OpenGL and Vulkan of the operating system intercepts the first rendering instruction, intercepts the first rendering instruction before the software framework layer calls the driver layer, and caches it into an instruction stream.

[0072] S320: The processor obtains a second rendering instruction.

[0073] The second rendering instruction is used to render the previous frame of the image to be rendered. When the target application renders a scene, the image is rendered frame by frame. When the image to be rendered is rendered, the previous frame has already been rendered. The rendering of the previous frame was also triggered by a rendering instruction (i.e., the second rendering instruction) generated by the target application. The second rendering instruction is typically stored in a cache as historical data, and can be retrieved from the cache.

[0074] S330: The processor determines field of view transformation information of the image to be rendered relative to the previous frame image according to the first rendering instruction and the second rendering instruction.

[0075] The first rendering instruction and the second rendering instruction respectively record the field of view information of the image to be rendered and the previous frame image. By comparing these two sets of field of view information, the field of view transformation information of the image to be rendered and the previous frame image can be determined.

[0076] S340: When the field of view transformation information conforms to a preset dynamic scene, the processor adjusts an original resolution parameter of at least one rendering channel in the first rendering instruction to a preset resolution parameter.

[0077] Among them, field of view transformation information of different sizes corresponds to different preset dynamic scenes; the preset resolution parameters under different preset dynamic scenes may be the same or different, or may be the same. The preset dynamic scene may be a type of scene in which the field of view transformation information represents a large degree of field of view transformation of the image to be rendered relative to the previous frame image. Exemplarily, if the target application is a game application, the preset dynamic scene may be a scene in which a character in the game walks, a character runs, or the user's perspective rotates. In this case, the original resolution parameter of at least one rendering channel in the first rendering instruction is lowered (i.e., adjusted to the preset resolution parameter) to reduce the amount of rendering operations.

[0078] S350: The processor sends the adjusted first rendering instruction to the graphics processor. Correspondingly, the graphics processor receives the adjusted first rendering instruction.

[0079] The processor sends the adjusted first rendering instruction to the graphics processor, so that the graphics processor renders the image to be rendered based on the adjusted first rendering instruction.

[0080] In an embodiment of the present application, a first rendering instruction indicating a higher resolution sent by a target application is intercepted, and when the field of view transformation information conforms to a preset dynamic scene, the original resolution parameters of some rendering channels in the first rendering instruction are lowered before being sent to the graphics processor for rendering. This reduces the amount of rendering operations while relatively ensuring the rendering quality, thereby improving the rendering efficiency to increase the frame rate of the target application and reduce the heat generation and power consumption of the terminal device.

[0081] Furthermore, without requiring code adaptation between applications and application engines, and independent of any specific hardware platform, this approach uses the contextual transmission of rendering instructions in the form of data streams to determine the field of view change between the previous and next frames and adjust the resolution of the rendering pipeline accordingly, reducing the target application's load and increasing its frame rate. This allows the target application to reduce power consumption on terminal devices without the user noticing, delaying the time it is subject to system frequency and frame rate throttling, and extending its runtime to improve the user experience.

[0082] In one embodiment, as shown in FIG4 , the method may further include:

[0083] S410: When the field of view transformation information conforms to a preset static scene, the processor generates a third rendering instruction.

[0084] Among them, the preset static scene can be a type of scene in which the field of view change information characterizes that the field of view change degree of the image to be rendered is small relative to the previous frame image. Exemplarily, if the target application is a game application, the preset static scene can be a scene in which the Camera is stationary in the game. In this case, reusing the rendering results of part of the rendering channel of the previous frame image as the rendering results of the image to be rendered can still ensure the quality of the target application image. At this time, a third rendering instruction is generated, and the third rendering instruction includes a first sub-instruction and a second sub-instruction. The first sub-instruction is used to indicate the use of the rendering results of at least one rendering channel of the previous frame image as the first rendering result of the image to be rendered, and the second sub-instruction includes the original resolution parameters of the remaining rendering channels except for at least one rendering channel in the first rendering instruction.

[0085] In another example, if the user has not operated on either the game character or the game UI, the rendering results of all rendering passes of the previous frame can be reused. In this case, the first sub-instruction is used to instruct the use of the rendering results of all rendering passes of the previous frame as the first rendering result of the image to be rendered. The second sub-instruction does not exist, that is, the third rendering instruction includes the first sub-instruction. In this case, the third rendering instruction simply instructs the reuse of rendering results, without the need for further specific rendering.

[0086] S420: The processor sends a third rendering instruction to the graphics processor. In response, the graphics processor receives the third rendering instruction.

[0087] S430: The graphics processor renders the image to be rendered according to the third rendering instruction to obtain a full rendering result of the image to be rendered.

[0088] Among them, when the graphics processor renders the image to be rendered according to the third rendering instruction, it is divided into two rendering processes. One is to use the rendering result of at least one rendering channel of the previous frame image of the image to be rendered as the first rendering result of the image to be rendered. The other is to render the image to be rendered based on the original resolution parameters to obtain the second rendering result, and finally obtain the full rendering result.

[0089] In an embodiment of the present application, when the field of view transformation information conforms to a preset static scene, a third rendering instruction is generated to instruct the reuse of the rendering result of part of the rendering channel of the previous frame image as the rendering result of the image to be rendered, and the image to be rendered is rendered based on the third rendering instruction. Since the rendering channel corresponding to the reused rendering result does not need to be rendered again, the rendering calculation amount is reduced, the rendering efficiency is increased, the frame rate of the target application is improved, and the heat generation and power consumption of the terminal device are reduced.

[0090] In one possible implementation, as shown in FIG5 , S340 (adjusting the original resolution parameter of at least one rendering pass in the first rendering instruction to the preset resolution parameter) may include:

[0091] S510: Determine multiple rendering channels in a first rendering instruction and specification parameters of the multiple rendering channels.

[0092] Among them, referring to the description of the rendering channel in the embodiment of the present application, every detail seen in the final rendered frame is calculated through a series of passes. For example, as shown in Figure 6, the rendering channel may include: a main scene rendering channel, a special effects rendering channel, a UI rendering channel, a motion blur rendering channel, a floodlight rendering channel, etc. The first rendering instruction includes specification parameters of multiple rendering channels. Different rendering channels are responsible for rendering different parts of the image. For example, rendering channel A is responsible for rendering the main scene, rendering channel B is responsible for rendering special effects, and rendering channel C is responsible for rendering UI, etc. The specification parameters include at least one of the following: rendering channel size Size, frame buffering attachment Frame buffering Attachment, and the number of draw call interfaces Draw Call. Based on the specification parameters of the rendering channel, it is possible to distinguish which part of the image the rendering channel is responsible for rendering.

[0093] S520: Adjust the original resolution parameter of the target rendering channel among the multiple rendering channels to the preset resolution parameter.

[0094] The target rendering pass's specifications must meet the preset specifications. These specifications can be set flexibly, taking into account both image quality and improved terminal performance. If too many rendering passes are reduced in resolution, while terminal performance improves, the image quality will be poor, which may be noticeable to the user and reduce the user experience. Reducing the number of rendering passes used to render the main scene can strike a balance between image quality and improved terminal performance. The target rendering pass determined by the preset specifications should strike a balance between image quality and improved terminal performance.

[0095] Exemplarily, the target rendering channel determined by the preset specification conditions can be the rendering channel for rendering the main scene. In this case, the preset specification conditions are that the size of the target rendering channel needs to be greater than a certain threshold, the frame buffer attachments need to include three attachments: Color, Depth, and Stencil, and the number of Draw Calls is the largest among multiple rendering channels. Adjusting only the original resolution parameters of the rendering channel for rendering the main scene to the preset resolution parameters can significantly reduce the amount of rendering operations while slightly reducing the rendering quality.

[0096] In another example, the target rendering channel determined by the preset specification conditions can be the rendering channel for rendering the main scene and the associated rendering channel (the associated rendering channel and the rendering channel of the main scene share the depth texture). Only adjusting the original resolution parameters of the rendering channel for rendering the main scene and the associated rendering channel to the preset resolution parameters can greatly reduce the rendering computation amount while slightly reducing the rendering quality.

[0097] In one embodiment, the specification parameters of the rendering channel can also be applied to the generation of the third rendering instruction in S410. The third rendering instruction includes a first sub-instruction and a second sub-instruction. The first sub-instruction is used to indicate that the rendering result of at least one rendering channel of the previous frame image is used as the first rendering result of the image to be rendered, and the second sub-instruction includes the original resolution parameters of the remaining rendering channels except at least one rendering channel in the first rendering instruction. Specifically, the specification parameters of the rendering channel can be used to demarcate which rendering channels the first sub-instruction and the second sub-instruction respectively indicate. For example, the rendering channel of the main scene and the remaining rendering channels except the rendering channel of the main scene are determined by the specification parameters of the rendering channel. Then the first sub-instruction can indicate that the rendering result of the rendering channel of the main scene of the previous frame image is used as the first rendering result of the image to be rendered, and the second sub-instruction includes the original resolution parameters of the remaining rendering channels except the rendering channel of the main scene in the first rendering instruction. Rendering based on the third rendering instruction defined in this way does not require rendering the main scene, which greatly reduces the amount of rendering operations.

[0098] In an embodiment of the present application, only the original resolution parameters of the target rendering channel are adjusted to the preset resolution parameters. In this way, when rendering is performed based on the adjusted first rendering instruction, the rendering calculation amount can be reduced while relatively ensuring the rendering quality, thereby improving the rendering efficiency to increase the frame rate of the target application and reduce the heat and power consumption of the terminal device.

[0099] In one possible implementation, the field of view transformation information includes displacement transformation information and angle transformation information. As shown in FIG7 , S330 (determining the field of view transformation information of the image to be rendered relative to the previous frame image according to the first rendering instruction and the second rendering instruction) may include:

[0100] S710: Calculate the difference between the first coordinate and the second coordinate, and output displacement transformation information.

[0101] The first rendering instruction includes the first coordinate of the Camera, and the second rendering instruction includes the second coordinate of the Camera. By calculating the difference between the two, the displacement transformation information of the Camera can be obtained.

[0102] S720 , calculating a first plane normal vector according to the first viewing matrix, and calculating a second plane normal vector according to the second viewing matrix.

[0103] The first rendering instruction includes a first field of view matrix, and the second rendering instruction includes a second field of view matrix. Based on the field of view matrix, the plane normal vector of the field of view matrix can be calculated. For example, the first field of view matrix is:

[0104] The calculated first plane normal vector is (a, b, c), (a, b, c) is calculated by the following function ax+by+cz+d=0, in which: a=m 41 +m 31 b=m 42 +m 32 c=m 43 +m 33 d=m 44 +m 34

[0105] S730: Calculate the angle between the first plane normal vector and the second plane normal vector, and output angle transformation information.

[0106] After determining the first plane normal vector and the second plane normal vector, the angle transformation information can be calculated. For example, the first plane normal vector is The normal vector of the second plane is The angle transformation information θ can be calculated by the following formula:

[0107] where θ∈[0°, 180°].

[0108] After determining the field of view change information, the field of view change scene can be determined based on the field of view change information. For example, the target application is a game application, and the preset dynamic scenes include the character walking, the character running, or the user's perspective rotating in the game. The preset dynamic scenes include static scenes in the game (the character does not make any major movements, for example, the character meditates, the character stands, the character fishes, etc.). At this time, it can be determined based on the field of view change information which of the above scenes it is. For example, the following scenes can be defined based on the field of view change information:

[0109] Static scene: The displacement transformation information is less than the threshold of 1; the angle transformation information is less than the threshold of 3.

[0110] Character walking scene: displacement transformation information is greater than threshold 1 and less than threshold 2; angle transformation information is less than threshold 3.

[0111] Character running scene: displacement transformation information is greater than threshold 2; angle transformation information is less than threshold 3.

[0112] User perspective rotation scenario: The angle change information is greater than the threshold 3.

[0113] In the embodiment of the present application, the field of view transformation information can be accurately calculated, and then based on the field of view transformation information, it can be determined whether the transformation scene of the Camera is a preset dynamic scene or a preset static scene, so as to execute different rendering instruction adjustment strategies based on different scenes.

[0114] In one embodiment, experiments were conducted on various game apps based on the rendering processing method provided in the embodiments of the present application as shown in Table 1. It can be seen that the performance is improved by 10%-20% or the power consumption is reduced by 10%-20% on different game apps.

[0115] Table 1

[0116] In this embodiment, there is no need for code adaptation between the application and the application engine, and no reliance on any specific hardware platform. Based on the fact that rendering instructions are transmitted in the form of a data stream, the rendering pipeline determines the change in the field of view between the previous and next frames and adjusts the resolution of the rendering pipeline accordingly, reducing the target application load and increasing the target application frame rate. This allows the target application to reduce the power consumption of the terminal device without the user noticing, and delays the time when the target application is limited by the system frequency and frame rate, thereby extending the target application's runtime and improving the user experience.

[0117] The above mainly introduces the solution provided by the embodiment of the present application from the perspective of the execution logic of each step. It is understandable that each node, such as a processor, includes a hardware structure and / or software module corresponding to the execution of each function in order to implement the above functions. Those skilled in the art should easily appreciate that, in combination with the algorithm steps of each example described in the embodiment disclosed herein, the method of the embodiment of the present application can be implemented in the form of hardware, software, or a combination of hardware and computer software. Whether a function is executed in a hardware or computer software driven hardware manner depends on the specific application and design constraints of the technical solution. Professional and technical personnel can use different methods to implement the described functions for each specific application, but such implementation should not be considered to be beyond the scope of this application.

[0118] In the embodiment of the present application, the processor or graphics processor can be divided into functional modules according to the above method example. For example, each functional module can be divided according to each function, or two or more functions can be integrated into one processing module. The above integrated modules can be implemented in the form of hardware or in the form of software functional modules. It should be noted that the division of modules in the embodiment of the present application is schematic and is only a logical functional division. In actual implementation, there may be other division methods.

[0119] FIG8 shows a structural diagram of a rendering processing device 800. Each module in the device shown in FIG8 has the function of implementing the corresponding steps in FIG3-FIG7 and can achieve the corresponding technical effects. The beneficial effects corresponding to the steps executed by each module can be referred to the description of the corresponding steps in FIG3-FIG7 and will not be repeated here. The functions can be implemented by hardware or by hardware executing corresponding software. The hardware or software includes one or more modules corresponding to the above functions. The rendering processing device can be a terminal device or a chip or system on chip in the terminal device. For example, the rendering processing device includes:

[0120] The interception module 810 is configured to intercept a first rendering instruction sent by a target application.

[0121] The first rendering instruction is used to render the image to be rendered of the target application.

[0122] The acquisition module 820 is configured to acquire a second rendering instruction, wherein the second rendering instruction is used to render a previous frame of the image to be rendered.

[0123] The determination module 830 is configured to determine field of view transformation information of the image to be rendered relative to the previous frame of image according to the first rendering instruction and the second rendering instruction.

[0124] The adjustment module 840 is configured to adjust an original resolution parameter of at least one rendering channel in the first rendering instruction to a preset resolution parameter when the field of view transformation information conforms to a preset dynamic scene.

[0125] Among them, the preset resolution parameter is lower than the original resolution parameter.

[0126] The sending module 850 is configured to send the adjusted first rendering instruction.

[0127] The adjusted first rendering instruction is used to render the image to be rendered.

[0128] In one embodiment, the apparatus further includes: a generation module 860 configured to generate a third rendering instruction when the field of view transformation information conforms to a preset static scene, wherein the third rendering instruction includes a first sub-instruction and a second sub-instruction, the first sub-instruction being configured to indicate that the rendering results of a portion of the rendering pass of the previous frame image are used as the partial rendering results of the image to be rendered, and the second sub-instruction including the original resolution parameters of the remaining rendering passes in the first rendering instruction. The sending module 850 is further configured to send the third rendering instruction, which is configured to render the image to be rendered.

[0129] In one embodiment, the adjustment module 840 is specifically configured to: determine multiple rendering passes in the first rendering instruction and specification parameters of the multiple rendering passes; and adjust the original resolution parameters of a target rendering pass in the multiple rendering passes to a preset resolution parameter. The specification parameters include at least one of the following: rendering pass size, frame buffer attachments, and number of draw call interfaces, and the specification parameters of the target rendering pass meet the preset specification conditions.

[0130] In one embodiment, different sizes of field of view transformation information correspond to different preset dynamic scenes, and the preset resolution parameters under different preset dynamic scenes are different, or the preset resolution parameters under different preset dynamic scenes are the same.

[0131] In one embodiment, the field of view transformation information includes displacement transformation information and angle transformation information. The first rendering instruction includes a first field of view matrix and a first coordinate, and the second rendering instruction includes a second field of view matrix and a second coordinate. Determination module 830 is specifically configured to: calculate the difference between the first coordinate and the second coordinate, and output displacement transformation information; calculate a first plane normal vector based on the first field of view matrix, and calculate a second plane normal vector based on the second field of view matrix; calculate the angle between the first plane normal vector and the second plane normal vector, and output angle transformation information.

[0132] FIG9 shows a structural diagram of a rendering processing device 900. Each module in the device shown in FIG9 has the function of implementing the corresponding steps in FIG3-FIG7 and can achieve the corresponding technical effects. The beneficial effects corresponding to the steps executed by each module can be referred to the description of the corresponding steps in FIG3-FIG7 and will not be repeated here. The functions can be implemented by hardware or by hardware executing corresponding software. The hardware or software includes one or more modules corresponding to the above functions. The rendering processing device can be a terminal device or a chip or system on chip in the terminal device. For example, the rendering processing device includes:

[0133] The receiving module 910 is configured to receive a third rendering instruction.

[0134] Among them, the third rendering instruction includes a first sub-instruction and a second sub-instruction. The first sub-instruction is used to indicate that the rendering result of at least one rendering channel of the previous frame image of the target application to be rendered is used as the first rendering result of the image to be rendered. The second sub-instruction includes the original resolution parameters of the remaining rendering channels except at least one rendering channel in the first rendering instruction. The first rendering instruction is an instruction sent by the target application for rendering the image to be rendered.

[0135] The rendering module 920 is configured to render the image to be rendered according to the third rendering instruction to obtain a full rendering result of the image to be rendered.

[0136] The full rendering result includes a first rendering result and a second rendering result. The second rendering result is obtained by rendering the image to be rendered based on the original resolution parameters by the remaining rendering channels.

[0137] The embodiments of the present application also provide a computer-readable storage medium. All or part of the processes in the above-mentioned method embodiments can be completed by a computer program to instruct the relevant hardware, and the program can be stored in the above-mentioned computer-readable storage medium. When the program is executed, it can include the processes of the above-mentioned method embodiments. The computer-readable storage medium can be a terminal device of any of the above-mentioned embodiments, such as: an internal storage unit including a data sending end and / or a data receiving end, such as a hard disk or memory of the terminal device. The above-mentioned computer-readable storage medium can also be an external storage device of the above-mentioned terminal device, such as a plug-in hard disk, a smart memory card (smart media card, SMC), a secure digital (secure digital, SD) card, a flash card (flash card), etc. equipped on the above-mentioned terminal device. Furthermore, the above-mentioned computer-readable storage medium can also include both the internal storage unit of the above-mentioned terminal device and an external storage device. The above-mentioned computer-readable storage medium is used to store the above-mentioned computer program and other programs and data required by the above-mentioned terminal device. The above-mentioned computer-readable storage medium can also be used to temporarily store data that has been output or is to be output.

[0138] The present application also provides a computer instruction. All or part of the process in the above method embodiment can be completed by the computer instruction to instruct the relevant hardware (such as a computer, processor, network device, and terminal, etc.). The program can be stored in the above computer-readable storage medium.

[0139] The present application also provides a chip system. The chip system may consist of a chip, or may include a chip and other discrete components, without limitation. The chip system includes a processor and a transceiver. All or part of the processes in the above method embodiments may be performed by the chip system. For example, the chip system may be used to implement the functions performed by the processor in the above method embodiments, or to implement the functions performed by the graphics processor in the above method embodiments.

[0140] In one possible design, the chip system further includes a memory, which is used to store program instructions and / or data. When the chip system is running, the processor executes the program instructions stored in the memory, so that the chip system performs the functions performed by the processor in the above method embodiment or performs the functions performed by the graphics processor in the above method embodiment.

[0141] In the embodiments of the present application, the processor may be a general-purpose processor, a digital signal processor, an application-specific integrated circuit, a field programmable gate array or other programmable logic device, a discrete gate or transistor logic device, or a discrete hardware component, and may implement or execute the methods, steps, and logic block diagrams disclosed in the embodiments of the present application. A general-purpose processor may be a microprocessor or any conventional processor. The steps of the methods disclosed in the embodiments of the present application may be directly implemented as being executed by a hardware processor, or may be executed by a combination of hardware and software modules in the processor.

[0142] In an embodiment of the present application, the memory may be a non-volatile memory, such as a hard disk drive (HDD) or a solid-state drive (SSD), or a volatile memory (volatile memory), such as a random-access memory (RAM). The memory is any other medium that can be used to carry or store desired program code in the form of instructions or data structures and can be accessed by a computer, but is not limited thereto. The memory in an embodiment of the present application may also be a circuit or any other device that can implement a storage function, for storing instructions and / or data.

[0143] Unless otherwise specified, the "transmission" (transmit / transmission) appearing in the embodiments of the present application refers to bidirectional transmission, including the actions of sending and / or receiving. Specifically, the "transmission" in the embodiments of the present application includes the sending of data, the receiving of data, or the sending of data and the receiving of data. In other words, the data transmission here includes uplink and / or downlink data transmission. Data may include channels and / or signals, uplink data transmission is uplink channel and / or uplink signal transmission, and downlink data transmission is downlink channel and / or downlink signal transmission. The "network" and "system" appearing in the embodiments of the present application express the same concept, and the communication system is the communication network.

[0144] Through the description of the above implementation methods, technical personnel in the relevant field can clearly understand that for the convenience and simplicity of description, only the division of the above-mentioned functional modules is used as an example. In actual applications, the above-mentioned functions can be assigned to different functional modules as needed, that is, the internal structure of the device can be divided into different functional modules to complete all or part of the functions described above.

[0145] In the several embodiments provided in this application, it should be understood that the disclosed devices and methods can be implemented in other ways. For example, the device embodiments described above are merely schematic. For example, the division of the modules or units is merely a logical function division. In actual implementation, there may be other division methods, such as multiple units or components can be combined or integrated into another device, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be through some interfaces, indirect coupling or communication connection of devices or units, which can be electrical, mechanical or other forms.

[0146] The units described as separate components may or may not be physically separate, and the components shown as units may be one physical unit or multiple physical units, that is, they may be located in one place or distributed in multiple different places. Some or all of the units may be selected according to actual needs to achieve the purpose of the present embodiment.

[0147] In addition, each functional unit in each embodiment of the present application can be integrated into a processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The above-mentioned integrated unit can be implemented in the form of hardware or in the form of a software functional unit. If the integrated unit is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a readable storage medium. Based on this understanding, the technical solution of the embodiment of the present application is essentially or the part that contributes to the prior art or all or part of the technical solution can be embodied in the form of a software product, which is stored in a storage medium and includes several instructions to enable a device, such as a single-chip microcomputer, a chip, etc., or a processor to execute all or part of the steps of the method described in each embodiment of the present application. The aforementioned storage medium includes various media that can store program code, such as a USB flash drive, a mobile hard disk, a ROM, a RAM, a magnetic disk, or an optical disk.

[0148] The above is only a specific embodiment of the present application, but the scope of protection of this application is not limited to this. Any changes or substitutions within the technical scope disclosed in this application should be included in the scope of protection of this application. Therefore, the scope of protection of this application should be based on the scope of protection of the claims.

Claims

1. A rendering processing method, characterized in that: include: intercepting a first rendering instruction sent by a target application, wherein the first rendering instruction is used to render an image to be rendered of the target application; Obtaining a second rendering instruction, wherein the second rendering instruction is used to render a previous frame image of the image to be rendered; Determine, according to the first rendering instruction and the second rendering instruction, field of view transformation information of the image to be rendered relative to the previous frame image; When the field of view change information conforms to a preset dynamic scene, adjusting an original resolution parameter of at least one rendering channel in the first rendering instruction to a preset resolution parameter, wherein the preset resolution parameter is lower than the original resolution parameter; Sending the adjusted first rendering instruction; the adjusted first rendering instruction is used to render the image to be rendered.

2. The rendering processing method according to claim 1, characterized in that: The method further comprises: In a case where the field of view change information conforms to a preset static scene, a third rendering instruction is generated, wherein the third rendering instruction includes a first sub-instruction and a second sub-instruction, the first sub-instruction is used to instruct to use a rendering result of at least one rendering channel of the previous frame image as a first rendering result of the image to be rendered, and the second sub-instruction includes original resolution parameters of the remaining rendering channels except the at least one rendering channel in the first rendering instruction; The third rendering instruction is sent, where the third rendering instruction is used to render the image to be rendered.

3. The rendering processing method according to claim 1, characterized in that: Adjusting the original resolution parameter of at least one rendering channel in the first rendering instruction to a preset resolution parameter includes: Determine a plurality of rendering channels in the first rendering instruction, and specification parameters of the plurality of rendering channels; the specification parameters include at least one of the following: a rendering channel size, a frame buffer attachment, and a number of draw call interfaces; Adjusting original resolution parameters of a target rendering channel among the multiple rendering channels to preset resolution parameters, wherein specification parameters of the target rendering channel meet preset specification conditions.

4. The rendering processing method according to claim 1 or 3, characterized in that: The field of view change information of different sizes corresponds to different preset dynamic scenes; the preset resolution parameters under different preset dynamic scenes are different, or the preset resolution parameters under different preset dynamic scenes are the same.

5. The rendering method according to any one of claims 1 to 4, characterized in that: The field of view transformation information includes displacement transformation information and angle transformation information; the first rendering instruction includes a first field of view matrix and a first coordinate, and the second rendering instruction includes a second field of view matrix and a second coordinate; The determining, according to the first rendering instruction and the second rendering instruction, field of view transformation information of the image to be rendered relative to the previous frame image includes: Calculating the difference between the first coordinate and the second coordinate, and outputting the displacement transformation information; Calculating a first plane normal vector according to the first field of view matrix, and calculating a second plane normal vector according to the second field of view matrix; Calculate the angle between the first plane normal vector and the second plane normal vector, and output the angle transformation information.

6. A rendering processing method, characterized in that: include: Receive a third rendering instruction; wherein the third rendering instruction includes a first sub-instruction and a second sub-instruction, the first sub-instruction is used to instruct to use the rendering result of at least one rendering channel of the previous frame image of the image to be rendered by the target application as the first rendering result of the image to be rendered, the second sub-instruction includes the original resolution parameters of the remaining rendering channels except the at least one rendering channel in the first rendering instruction, and the first rendering instruction is an instruction sent by the target application and used to render the image to be rendered; Render the image to be rendered according to the third rendering instruction to obtain a full rendering result of the image to be rendered, wherein the full rendering result includes the first rendering result and the second rendering result, and the second rendering result is obtained by rendering the image to be rendered by the remaining rendering channels based on the original resolution parameters.

7. A rendering device, characterized in that: The rendering device comprises a processor and a transceiver, and the processor and the transceiver are used to support the rendering device to execute the method according to any one of claims 1-6.

8. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores computer instructions, and when the computer instructions are executed, the method according to any one of claims 1 to 6 is executed.

Citation Information

Patent Citations

  • Rendering processing method and rendering equipment

    CN119540434A

  • Image drawing method and device, storage medium and intelligent terminal

    CN108648259A

  • Method and system for accelerated image rendering with motion compensation

    CN114359451A

  • Graph rendering method and device

    CN115253300A

  • Techniques for providing dynamic multi-layer rendering in graphics processing

    US20190051026A1

Cited By

  • Image rendering method and device based on building model

    CN120472117A

  • Image rendering method and electronic device

    WO2025232855A1