Image rendering method, device, display system and storage medium
By dynamically adjusting the transmission time of the synchronization signal and extending the synchronization period, the screen tear and frame loss caused by inconsistent graphics card rendering frame rate and display refresh rate are solved, and the user's visual experience is improved.
Patent Information
- Application Number
- CN202411025612.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-07-29
- Publication Date
- 2025-04-11
- Estimated Expiration
- 2044-07-29
AI Technical Summary
When the rendering frame rate of the graphics card and the refresh rate of the monitor are inconsistent, the problem of picture tear and frame loss is prone to occur, which affects the user's visual experience.
By dynamically adjusting the timing of sending the synchronization signal, the synchronization period is extended, so that the time between adjacent two transmissions of the synchronization signals matches the time taken for the GPU to render a frame.
It effectively avoids picture tearing and frame loss, and improves the user's visual experience.
Smart Images

Figure CN118967914B_ABST
Abstract
Description
Technical Field
[0001] The present application relates to but is not limited to the field of graphics processing technology, and in particular to an image rendering method, device, equipment and storage medium. Background Art
[0002] The graphics card processes the image to obtain the image signal (frame) and transmits the frame to the monitor; the monitor displays the frame transmitted by the graphics card. The rendering frame rate of the graphics card refers to the number of frames rendered per second by the GPU (Graphics Processing Unit) in the graphics card. The refresh rate of the monitor refers to the number of frames displayed per second by the monitor. Since the rendering frame rate of the graphics card changes with the load, there may be inconsistencies between the rendering frame rate of the graphics card and the refresh rate of the monitor. In addition, the monitor has the characteristic of progressive scanning, so the problem of screen tearing will occur, affecting the user's visual experience.
[0003] In the related technology, vertical synchronization (V-Sync) technology is used to solve the problem of screen tearing. Specifically, vertical synchronization technology fixes the refresh rate of the display and reduces the rendering frame rate of the graphics card so that the rendering frame rate of the graphics card matches the refresh rate of the display. However, in a virtual display, the rendering frame rate of the graphics card may change to be lower than the refresh rate of the display. In this case, the use of vertical synchronization technology may cause frame loss, resulting in screen freezes. Summary of the invention
[0004] In view of this, the embodiments of the present application provide an image rendering method, apparatus, device and storage medium, which can dynamically adjust the time of sending the synchronization signal to avoid screen tearing and frame loss, thereby improving the user's visual experience.
[0005] The technical solution of the embodiment of the present application is implemented as follows:
[0006] An embodiment of the present application provides an image rendering method, which includes: determining a rendering state of a graphics processor; in response to the rendering state satisfying a first preset condition and a synchronization period satisfying a second preset condition, extending the synchronization period; wherein the synchronization period is an interval period for sending a synchronization signal; in response to reaching the end time of the synchronization period, sending the synchronization signal; the synchronization signal is used to instruct the graphics processor to render.
[0007] In some embodiments of the present application, the method further includes: in response to sending the synchronization signal, adjusting the synchronization period to an initial period.
[0008] In some embodiments of the present application, in response to the rendering state satisfying a first preset condition and the synchronization period satisfying a second preset condition, the synchronization period is extended, including: in response to the rendering state satisfying the first preset condition and the synchronization period is less than a preset maximum period, the synchronization period is extended.
[0009] In some embodiments of the present application, determining the rendering state of the graphics processor includes: in response to the graphics processor issuing a return frame, determining that the rendering state is a first state; the first state is a state that does not satisfy the first preset condition; the return frame is frame data for display transmitted to the display when the graphics processor completes screen frame rendering.
[0010] In some embodiments of the present application, determining the rendering state of the graphics processor also includes: in response to the graphics processor not issuing the return frame and the graphics processor not performing screen frame rendering, determining that the rendering state is an idle state; wherein the first preset condition is the condition that the rendering state is not the idle state and is not the first state.
[0011] In some embodiments of the present application, in response to the rendering state satisfying a first preset condition, and the synchronization cycle satisfying a second preset condition, the synchronization cycle is extended, including: in response to the rendering state satisfying the first preset condition, the synchronization cycle satisfies the second preset condition, and the refresh rate of the display satisfies a third preset condition, the synchronization cycle is extended by the corresponding duration of the refresh rate of the display.
[0012] In some embodiments of the present application, in response to the rendering state satisfying the first preset condition and the refresh rate of the display satisfying the third preset condition, the synchronization period is extended by the corresponding duration of the refresh rate of the display, including: in response to the rendering state satisfying the first preset condition and the refresh rate of the display is less than the preset maximum refresh rate, the refresh rate of the display is updated; and the synchronization period is extended by the first duration of the corresponding period of the updated refresh rate of the display.
[0013] In some embodiments of the present application, in response to the refresh rate of the display being less than a preset maximum refresh rate, updating the refresh rate of the display includes: in response to the refresh rate of the display being less than a preset maximum refresh rate, updating the refresh rate of the display to an integer multiple of the current value.
[0014] In some embodiments of the present application, in response to the rendering state satisfying a first preset condition and the refresh rate of the display satisfying a third preset condition, the synchronization period is extended by a duration corresponding to the refresh rate of the display, and also includes: in response to the rendering state satisfying the first preset condition and the refresh rate of the display being greater than or equal to the maximum refresh rate, counting a preset counter; in response to the count value of the counter being less than the preset maximum count value, extending the synchronization period by a second duration corresponding to the refresh rate of the display.
[0015] In some embodiments of the present application, the method also includes: in response to the count value being greater than or equal to the maximum count value, marking the rendering state as an idle state and clearing the count value of the counter; wherein, the count value being greater than or equal to the maximum count value indicates that the refresh rate of the display does not meet the third preset condition.
[0016] An embodiment of the present application also provides an image rendering device, which includes: a determination module, configured to determine the rendering state of a graphics processor; an extension module, configured to extend the synchronization cycle in response to the rendering state satisfying a first preset condition and the synchronization cycle satisfying a second preset condition; wherein the synchronization cycle is an interval period for sending a synchronization signal; a sending module, configured to send the synchronization signal in response to reaching the end time of the synchronization cycle; the synchronization signal is used to instruct the graphics processor to render.
[0017] An embodiment of the present application also provides a display system, which includes: a display, a graphics processor, a memory and a processor; wherein the memory stores a computer program that can be run on the processor, and the processor implements the steps in the above method when executing the computer program.
[0018] An embodiment of the present application also provides a computer program product, including a computer-readable code, or a non-volatile computer-readable storage medium carrying the computer-readable code. When the computer-readable code runs in an electronic device, a processor in the electronic device executes the steps in the above method.
[0019] An embodiment of the present application also provides a computer-readable storage medium on which a computer program is stored. When the computer program is executed by a processor, the steps in the above method are implemented.
[0020] It can be seen that in the embodiment of the present application, based on the current rendering state, the synchronization cycle is extended and the time of sending the synchronization signal is postponed. In this way, the time of sending the synchronization signal can be dynamically adjusted so that the time interval between two adjacent synchronization signal transmissions matches the time taken by the GPU to render one frame. Thus, screen tearing can be avoided, frame loss can be avoided, and the user's visual experience is improved. BRIEF DESCRIPTION OF THE DRAWINGS
[0021] Figure 1 Schematic diagram of an image rendering method in the related art Figure 1 ;
[0022] Figure 2 Schematic diagram of an image rendering method in the related art Figure 2 ;
[0023] Figure 3 A schematic diagram of an implementation process of an image rendering method provided in an embodiment of the present application Figure 1 ;
[0024] Figure 4 A schematic diagram of an implementation process of an image rendering method provided in an embodiment of the present application Figure 2 ;
[0025] Figure 5 A schematic diagram of an implementation process of an image rendering method provided in an embodiment of the present application Figure 3 ;
[0026] Figure 6 A schematic diagram of an implementation process of an image rendering method provided in an embodiment of the present application Figure 4 ;
[0027] Figure 7 A schematic diagram of an implementation process of an image rendering method provided in an embodiment of the present application Figure 5 ;
[0028] Figure 8 A schematic diagram of an image rendering method provided in an embodiment of the present application;
[0029] Fig. 9 A schematic diagram of the composition structure of an image rendering device provided in an embodiment of the present application;
[0030] Fig.10 A hardware entity diagram of a computer device provided in an embodiment of the present application. DETAILED DESCRIPTION
[0031] In order to make the purpose, technical solutions and advantages of the present application clearer, the technical solutions of the present application are further elaborated in detail below in conjunction with the drawings and embodiments. The described embodiments should not be regarded as limiting the present application. All other embodiments obtained by ordinary technicians in the field without making creative work are within the scope of protection of the present application.
[0032] In the following description, reference is made to "some embodiments", which describe a subset of all possible embodiments, but it is understood that "some embodiments" may be the same subset or different subsets of all possible embodiments, and may be combined with each other without conflict. The terms "first / second / third" involved are merely used to distinguish similar objects and do not represent a specific order for the objects. It is understood that "first / second / third" may be interchanged in a specific order or sequence where permitted, so that the embodiments of the present application described herein can be implemented in an order other than that illustrated or described herein.
[0033] Unless otherwise defined, all technical and scientific terms used herein have the same meaning as those commonly understood by those skilled in the art to which this application belongs. The terms used herein are only for the purpose of describing this application and are not intended to limit this application.
[0034] It should be noted that the load will change during the image processing process. For example, the load is different when running a large game and running a notepad; for another example, the load is different at different running stages of the same application (APP). If the image to be processed is relatively simple, the load is relatively small; correspondingly, if the image to be processed is relatively complex, the load is relatively large.
[0035] At the same time, the rendering frame rate of the graphics card will change with the load. Specifically, if the load is heavy, the rendering frame rate is low, that is, the GPU can render fewer frames per unit time; correspondingly, if the load is light, the rendering frame rate is high, that is, the GPU can render more frames per unit time. In this way, the rendering frame rate of the graphics card and the refresh rate of the display will be inconsistent.
[0036] In the related art, vertical synchronization technology is used to fix the refresh rate of the display and reduce the rendering frame rate of the graphics card, thereby matching the rendering frame rate of the graphics card with the refresh rate of the display. Figure 1As shown, the vertical synchronization technology can use the Triple Buffer solution. The synchronization signal vsync is generated according to a fixed refresh cycle T. A, B, and C are all Frame Buffers. When the monitor is displaying A, the GPU puts the rendered image (frame) into buffer B and waits for the synchronization signal vsync. After receiving the synchronization signal vsync, the monitor displays the frame in buffer B, and the GPU renders the next frame (that is, renders the frame in buffer C), and the cycle continues.
[0037] However, continue to refer to Figure 1 When using vertical synchronization technology, the GPU needs to wait for the synchronization signal vsync after each rendering before it can continue to render the next frame. Therefore, it will cause input delay and thus performance degradation.
[0038] On the other hand, Figure 2 As shown, in a virtualized scenario (i.e., a virtual display), since there is no hardware display, it is necessary to call the function Acquire NextFrame (ANF) provided by the driver dxgk (DirectX Graphics Kernel) to capture the screen, and then encode the captured screen (i.e., the frame in the frame buffer). Finally, the frame is decoded and displayed through a third-party software (such as VNC / ToDesk, etc.).
[0039] However, continue to refer to Figure 2 , when the GPU does not complete the rendering task within a refresh cycle T, the screen capture mechanism problem of the function Acquire Next Frame may cause frame loss, resulting in screen freeze. This is because the screen capture of the function Acquire Next Frame is affected by the dxgk scheduling or the application, so the screen capture time is not fixed. Specifically, the application calls the function Acquire Next Frame to capture the screen, which needs to be done through the driver dxgk, and the driver dxgk needs to wait until the next rendering event starts to obtain the latest frame. In this way, each screen capture of the function Acquire Next Frame needs to wait until the next rendering event starts before the screen can be captured; at the same time, the function Acquire Next Frame captures the frame in a Frame Buffer, and the return frame will not be transmitted to the virtual display until the frame in the Frame Buffer is rendered. Therefore, the screen capture time does not match the rendering start time, which will cause frame loss (i.e. frame loss).
[0040] by Figure 2For example, the synchronization signal vsync is generated according to a fixed refresh cycle T. When the GPU receives the synchronization signal vsync, it renders a frame. After receiving the first synchronization signal vsync, the GPU renders the frame in buffer B, while the frame in buffer C is waiting; however, the function ANF (Acquire Next Frame) grabs the frame in buffer C, and transmits the return frame to the virtual display only after the frame in buffer C is rendered, while the return frame is not transmitted after the frame in buffer B is rendered, so the frame in buffer B is lost. Similarly, after receiving the third synchronization signal vsync, the GPU renders the frame in buffer A, while the frame in buffer B is waiting; however, the function ANF grabs the frame in buffer B, and transmits the return frame to the virtual display only after the frame in buffer B is rendered, while the return frame is not transmitted after the frame in buffer A is rendered, so the frame in buffer A is lost.
[0041] That is to say, when the rendering frame rate of the graphics card is low, that is, when the GPU rendering time for one frame is greater than the refresh period T of the virtual display, the frame will wait for rendering, which may cause a mismatch between the time of screen capture and the time of starting rendering, resulting in frame loss.
[0042] An embodiment of the present application provides an image rendering method, which can be executed by a processor of a computer device.
[0043] It should be noted that the image rendering method provided in the embodiment of the present application can be applicable to a virtualized environment, wherein the virtualized environment includes a virtualized GPU and / or a virtualized display. In other words, the image rendering method provided in the embodiment of the present application can be run without a real hardware display, and can also be run without a real hardware GPU.
[0044] Figure 3 A schematic diagram of an implementation flow of an image rendering method provided in an embodiment of the present application is shown in FIG. Figure 1 As shown, the method includes steps S101 to S103.
[0045] S101: Determine the rendering state of a graphics processor.
[0046] In the embodiment of the present application, the current rendering state of the graphics processor is determined after each refresh cycle, wherein the refresh cycle is inversely proportional to the refresh rate of the display, and the refresh cycle is the reciprocal of the refresh rate of the display.
[0047] In the embodiment of the present application, the moment of determining the rendering state of the graphics processor can be called the moment of preparing to send the synchronization signal. That is, if the current first waiting time reaches the current refresh cycle, the synchronization signal is prepared to be sent; wherein the first waiting time is the time from the current moment to the last time the synchronization signal was prepared to be sent.
[0048] S102: In response to the rendering state satisfying a first preset condition and the synchronization period satisfying a second preset condition, extending the synchronization period; wherein the synchronization period is an interval period for sending a synchronization signal.
[0049] S103. In response to reaching the end time of the synchronization period, sending a synchronization signal; wherein the synchronization signal is used to instruct the graphics processor to perform rendering.
[0050] In the embodiment of the present application, when the current first waiting time reaches the current refresh cycle, the synchronization signal is not sent immediately, but the current rendering state of the graphics processor is determined first. Then, based on the current rendering state of the graphics processor, the synchronization cycle can be extended, that is, the time of sending the synchronization signal can be postponed.
[0051] In the embodiment of the present application, in a virtual display scenario, the synchronization signal is generated by timer interrupt simulation.
[0052] refer to Figure 8 , the GPU renders in response to the synchronization signal vsync, obtains the next return frame, and transmits the next return frame to the display. That is to say, after each rendering is completed, the GPU needs to wait for the synchronization signal vsync, and then, in response to the synchronization signal vsync, continue to render the next frame. Among them, in the virtualization scenario, it is necessary to call the function Acquire Next Frame provided by the driver dxgk to capture the screen and capture a frame in a Frame Buffer. Then, after the GPU completes rendering the captured frame, it will transmit the return frame to the virtual display.
[0053] Continue to refer Figure 8 The synchronization signal vsync is generated by a timer interrupt, and then, after the operating system (OS) receives the synchronization signal vsync, it will send the currently rendered image to the display.
[0054] It is understandable that, since a synchronization signal is prepared to be sent after each refresh cycle, changing the current refresh cycle also changes the time for preparing to send the synchronization signal next time, thereby adjusting the time for sending the synchronization signal next time.
[0055] At the same time, each time the embodiment of the present application prepares to send a synchronization signal, it will determine whether to send the synchronization signal based on the current rendering state; that is, it may skip sending the synchronization signal this time and wait for the next time to prepare to send the synchronization signal, which is also an adjustment to the time of sending the synchronization signal.
[0056] It is understandable that based on the current rendering state, the synchronization cycle is extended and the time of sending the synchronization signal is postponed. In this way, the time of sending the synchronization signal can be dynamically adjusted so that the time interval between two adjacent synchronization signal transmissions matches the time it takes the GPU to render a frame. Thus, screen tearing and frame loss can be avoided, improving the user's visual experience.
[0057] In some embodiments of the present application, Figure 3 After step S103, the image rendering method further includes Figure 4 The step S104 shown will be explained in conjunction with each step.
[0058] S104: In response to sending the synchronization signal, adjust the synchronization period to the initial period.
[0059] In the embodiment of the present application, after the synchronization signal is sent, the synchronization period can be reset, that is, the synchronization period can be adjusted to the initial period. The initial period of the synchronization period can be set to the refresh period of the display (that is, the inverse of the refresh rate of the display).
[0060] It is understandable that after the synchronization signal is sent, the synchronization period is reset, so as to ensure that the synchronization period will not be continuously extended, thereby avoiding the screen delay caused by the screen not being updated for a long time on the display, and improving the user experience.
[0061] In some embodiments of the present application, step S1021 can be used to implement Figure 3 The step S102 shown will be explained in conjunction with each step.
[0062] S1021: In response to the rendering state satisfying a first preset condition and the synchronization period being less than a preset maximum period, extending the synchronization period.
[0063] In the embodiment of the present application, an upper limit (i.e., a maximum period) may be preset for the synchronization period. When the synchronization period is less than the maximum period, the synchronization period may be extended; however, when the synchronization period reaches the maximum period, that is, when the synchronization period is greater than or equal to the maximum period, the synchronization period is no longer extended. In other words, the second preset condition may be: the synchronization period is less than the preset maximum period.
[0064] It should be noted that if the synchronization period is greater than or equal to the maximum period, it means that the synchronization signal has not been sent for a long time and the display screen has not been updated for a long time; this will cause display screen delays and affect user experience.
[0065] In an embodiment of the present application, when the synchronization period is greater than or equal to the maximum period, the synchronization period will no longer be extended, but a synchronization signal will be sent to enable the GPU to start rendering the next frame, thereby updating the screen on the display; at the same time, the synchronization period will be adjusted to the initial period.
[0066] refer to Figure 8 , during the GPU rendering of the frame in the buffer A, the synchronization signal vsync is skipped for many times, so that the synchronization period is greater than the maximum period. In this case, the synchronization signal vsync is reported, and at the same time, the synchronization period is adjusted to the initial period T0 (that is, the current display refresh rate is restored to the initial value).
[0067] It is understandable that when the synchronization period is greater than or equal to the maximum period, the synchronization signal is sent in time and the synchronization period is adjusted to the initial period. In this way, the screen delay caused by the screen not being updated for a long time can be avoided, thereby improving the user experience.
[0068] In some embodiments of the present application, step S1011 can be used to implement Figure 3 The step S101 shown will be explained in conjunction with each step.
[0069] S1011. In response to the graphics processor sending a return frame, determine that the rendering state is a first state; wherein the first state is a state that does not meet a first preset condition; the return frame is frame data for display transmitted to the display when the graphics processor completes picture frame rendering.
[0070] In an embodiment of the present application, the rendering state can be determined based on whether the display has received a return frame, that is, based on whether a new frame has been rendered by the GPU. If the graphics processor sends a return frame and the display has received the return frame, then it can be determined that the rendering state is the first state, that is, the rendering state does not meet the first preset condition. Furthermore, if the rendering state does not meet the first preset condition, the synchronization period will not be extended, and at the same time, a synchronization signal will be sent when the end time of the synchronization period is reached.
[0071] In the embodiment of the present application, if the display has received the return frame, it means that the GPU has currently completed rendering the previous frame. In this case, the current synchronization signal can be sent to enable the GPU to continue rendering the next frame; at the same time, the current synchronization cycle can be restored to the initial cycle, waiting for the next determination of the rendering state.
[0072] refer to Figure 8 After the refresh cycle T2, another refresh cycle T3 is passed, and the next moment of determining the rendering state is reached, wherein the refresh cycle T3 is half of the refresh cycle T2; at this time, the return frame of the buffer area B has been transmitted to the display in the refresh cycle T3, that is, the display has received the previous return frame; in this way, the synchronization signal vsync can be sent this time, and the synchronization cycle is restored to the initial cycle T0.
[0073] It is understandable that when the GPU has completed rendering the previous frame, the synchronization period is no longer extended, and a synchronization signal is sent to allow the GPU to continue rendering the next frame. In this way, the time interval between two consecutive synchronization signal transmissions matches the time it takes the GPU to render a frame. Thus, screen tearing can be avoided, frame loss can be avoided, and the user's visual experience is improved.
[0074] In some embodiments of the present application, step S1012 can be used to implement Figure 3 The step S101 shown will be explained in conjunction with each step.
[0075] S1012: In response to the graphics processor not sending a return frame and the graphics processor not rendering a picture frame, determining that the rendering state is an idle state; wherein the first preset condition is a condition that the rendering state is not an idle state and is not a first state.
[0076] In the embodiment of the present application, the rendering state may also include: whether the GPU is currently in an idle state. The idle state refers to a state in which the GPU is not performing any calculation or processing tasks. In the idle state, no picture needs to be updated, so the GPU will not transmit a return frame to the display.
[0077] In the embodiment of the present application, if the display has not received the return frame (that is, the graphics processor has not sent a return frame), it is possible that the GPU has not yet completed the rendering of the previous frame, and therefore has not transmitted the previous return frame to the display; in addition, it is also possible that the GPU is currently in an idle state and is not rendering, so no previous return frame is transmitted to the display. Furthermore, if the graphics processor has not sent a return frame and the graphics processor has not rendered a picture frame, it can be determined that the GPU is currently in an idle state, and then, processing can be performed accordingly based on the idle state.
[0078] In some embodiments of the present application, after step S1012, the image rendering method further includes step S105, which will be described in conjunction with each step.
[0079] S105: If the rendering state is an idle state, a synchronization signal is sent, and the synchronization period is adjusted to an initial period.
[0080] In the embodiment of the present application, if the graphics processor is currently in an idle state, the synchronization signal is reported according to a fixed synchronization period (ie, the initial period).
[0081] refer to Figure 8 When the GPU is unloaded and the refresh rate of the display reaches the lower limit of the refresh rate multiple times (i.e. reaches the minimum refresh rate multiple times), the synchronization signal vsync is reported according to the initial cycle T0. In this way, if there is a new graphics processing task, the GPU can process it in time to ensure that the display screen can be updated in time.
[0082] In some embodiments of the present application, step S1022 can be used to implement Figure 3 The step S102 shown will be explained in conjunction with each step.
[0083] S1022: In response to the rendering state satisfying the first preset condition, the synchronization period satisfying the second preset condition, and the refresh rate of the display satisfying the third preset condition, extending the synchronization period by a duration corresponding to the refresh rate of the display.
[0084] In the embodiment of the present application, the rendering state satisfies the first preset condition, which means that the rendering state is not an idle state and the graphics processor does not send a return frame. The synchronization period satisfies the second preset condition, which means that the synchronization period is less than the preset maximum period. The refresh rate of the display satisfies the third preset condition, which means that the current refresh rate of the display can allow the corresponding duration of the current refresh rate of the display to be extended on the synchronization period, that is, the current refresh period (the inverse of the refresh rate of the display) is extended on the synchronization period.
[0085] In the embodiment of the present application, if the display has not received the return frame (that is, the GPU has not sent the return frame), and the GPU is not currently in an idle state, it means that the GPU has not yet completed the rendering of the previous frame, and therefore has not transmitted the previous return frame to the display. In this case, the sending of the synchronization signal can be skipped, the synchronization cycle can be extended by the corresponding duration of the refresh rate of the display, and the GPU continues to wait for the GPU to complete the rendering of the previous frame.
[0086] In some embodiments of the present application, Figure 5 Steps S1023 to S1024 are shown to implement step S1022, and will be described in conjunction with each step.
[0087] S1023: In response to the rendering state satisfying the first preset condition and the refresh rate of the display being less than a preset maximum refresh rate, updating the refresh rate of the display.
[0088] S1024. Extend the synchronization period by a first duration of a period corresponding to the refresh rate of the updated display.
[0089] In the embodiment of the present application, the refresh rate of the display can be set to an adjustment range [minVRR, maxVRR], so as to avoid exceeding the range during the process of adjusting the refresh rate of the display. Accordingly, since the refresh cycle is inversely proportional to the refresh rate of the display, the upper limit of the refresh cycle corresponds to the lower limit minVRR of the refresh rate of the display.
[0090] In the embodiment of the present application, the refresh rate of the current display can be updated while skipping the sending of the synchronization signal. Furthermore, the synchronization period can be extended by the first duration of the refresh period corresponding to the refresh rate of the updated display; that is, the updated refresh period can be accumulated on the existing synchronization period to extend the synchronization period.
[0091] In some embodiments of the present application, in response to the refresh rate of the display being less than the preset maximum refresh rate, the refresh rate of the display may be updated to an integer multiple of the current value. For example, the current refresh rate of the display may be increased by two times, that is, the current refresh cycle is halved.
[0092] It can be understood that since the updated refresh cycle is smaller than the refresh cycle before the update (for example, the refresh cycle is halved), compared with directly adding the unupdated refresh cycle to the existing synchronization cycle, steps S1023~S1024 can reach the next time to prepare to send the synchronization signal faster.
[0093] refer to Figure 8 After sending the first synchronization signal vsync, after the refresh cycle T1, the GPU has not completed rendering the frame in buffer area B, and the display has not received the previous return frame (that is, the return frame of buffer area B); in this case, the sending of this synchronization signal is skipped, and the GPU continues to wait for completion of rendering the frame in buffer area B, and the current refresh cycle is halved (the refresh cycle is halved from T1 to T2).
[0094] Furthermore, continue to refer to Figure 8 , and after refresh cycle T2, the GPU still has not completed rendering the frame in buffer area B, and the display still has not received the previous return frame (that is, the return frame of buffer area B); in this case, the sending of the synchronization signal is skipped again, and the process continues to wait for the GPU to complete rendering the frame in buffer area B, and the current refresh cycle is halved again (the refresh cycle is halved from T2 to T3).
[0095] It can be understood that, on the one hand, when the GPU has not yet completed the rendering of the previous frame, the sending of the synchronization signal is skipped, the synchronization cycle is extended, and the GPU continues to wait for the completion of the rendering of the previous frame; in this way, the time interval between two adjacent sending of the synchronization signal matches the time taken by the GPU to render a frame; thereby avoiding frame loss caused by sending the synchronization signal too early.
[0096] On the other hand, while skipping the sending of the synchronization signal this time, the refresh rate of the current display is updated, for example, the refresh rate of the current display is doubled; in this way, the next time the synchronization signal is prepared to be sent can be reached more quickly, that is, the rendering status of the GPU can be determined more frequently to detect whether the GPU has completed the rendering; thereby, the GPU is prevented from waiting for the synchronization signal for a long time after completing the rendering, which improves the rendering efficiency and avoids the display screen from freezing.
[0097] In some embodiments of the present application, Figure 6 Steps S201 to S202 are shown to implement step S1022. Each step will be described in combination.
[0098] S201: In response to a rendering state satisfying a first preset condition and a refresh rate of a display being greater than or equal to a maximum refresh rate, counting a preset counter.
[0099] S202: In response to the count value of the counter being less than a preset maximum count value, extending the synchronization period by a second duration corresponding to the refresh rate of the display.
[0100] It should be noted that if the refresh rate of the display is greater than the refresh rate upper limit maxVRR (ie, the maximum refresh rate), it means that the refresh rate of the display is too fast, which will cause frequent interruptions and increase power consumption.
[0101] In the embodiment of the present application, when the refresh rate of the display is greater than the refresh rate upper limit maxVRR (i.e., the maximum refresh rate), the preset counter will be counted once, that is, the count value count will be accumulated once. Furthermore, if the count value count does not reach the threshold value (i.e., the preset maximum count value), that is, the count value of the counter is less than the preset maximum count value, then the sending of the current synchronization signal is skipped, and the refresh rate of the current display is restored to the initial value. At the same time, the count value count is not cleared, and the count value count can continue to be accumulated until the count value count reaches the threshold value.
[0102] It is understandable that an upper limit is set for the refresh rate of the display, and when the upper limit is reached, corresponding processing is performed and the refresh rate is restored to the initial value. In this way, frequent interruptions caused by excessively fast refresh rates of the display can be avoided, and power consumption can be reduced.
[0103] In some embodiments of the present application, the image rendering method further includes: Figure 6 The step S203 shown will be described in combination with each step.
[0104] S203: In response to the count value being greater than or equal to the maximum count value, marking the rendering state as an idle state, and clearing the count value of the counter.
[0105] In an embodiment of the present application, after counting a preset counter once, if the count value count reaches a threshold value (i.e., a preset maximum count value), the GPU is marked as currently in an idle state, and corresponding processing is performed according to the idle state, that is, a synchronization signal is sent to restore the refresh rate of the current display to the initial value, and at the same time, the count value count is cleared.
[0106] refer to Figure 8 , no load and reaching the minimum refresh rate multiple times means that the GPU is no load, and the count value count is greater than or equal to the maximum count value. In this case, the synchronization signal vsync is reported according to the initial cycle T0, that is, the synchronization signal vsync is sent, and the refresh rate of the current display is restored to the initial value, and the count value count is cleared.
[0107] In the embodiment of the present application, the threshold of the count value count can be set to 1, that is, when the refresh rate of the display is greater than the upper limit of the refresh rate maxVRR for the first time, a synchronization signal can be sent to restore the refresh rate of the current display to the initial value, and at the same time, the count value count is cleared. The threshold of the count value count can also be set to an integer greater than or equal to 2, that is, when the refresh rate of the display is greater than the upper limit of the refresh rate maxVRR for multiple times, a synchronization signal can be sent to restore the refresh rate of the current display to the initial value, and at the same time, the count value count is cleared.
[0108] In the embodiment of the present application, if the count value is greater than or equal to the maximum count value, it means that the refresh rate of the display does not meet the third preset condition. That is, if the count value is greater than or equal to the maximum count value, the synchronization period will not be extended.
[0109] It is understandable that a counter is set to monitor whether the refresh rate of the display continuously reaches the upper limit of the refresh rate by accumulating the count value of the counter; further, when the refresh rate of the display continuously reaches the upper limit of the refresh rate, corresponding processing is performed and the refresh rate is restored to the initial value. In this way, frequent interruptions caused by excessively fast refresh rate of the display can be avoided, and power consumption can be reduced.
[0110] In some embodiments of the present application, the image rendering method includes: Figure 7 Steps S1 to S16 are shown and will be described in conjunction with each step.
[0111] First, if the current first waiting time reaches the current refresh cycle, the synchronization signal vysnc is prepared to be sent, that is, step S1 is executed. The first waiting time is the time from the current moment to the last time the synchronization signal was prepared to be sent; the refresh cycle is inversely proportional to the refresh rate of the display.
[0112] Further, in the case of preparing to send a synchronization signal (ie, after executing step S1), step S2 may be executed to determine whether a new frame rendering has been completed, that is, to determine whether the display has received the last return frame.
[0113] Furthermore, after executing step S2, if a new frame rendering is completed, that is, if the display has received the previous return frame, steps S8, S9 and S15 can be executed to mark that the current state is not an idle state (that is, clear the idle state), send a synchronization signal vysnc, and restore the refresh period T to the initial value (that is, restore the refresh rate of the display to the initial value), and then, step S16 can be executed to wait for the next preparation to send vsync.
[0114] On the other hand, after executing step S2, if no new frame rendering is completed, that is, if the display has not received the last return frame, step S3 can be executed to determine whether the GPU is idle.
[0115] Further, after executing step S3, if the GPU is in an idle state, steps S9 and S15 can be executed to send a synchronization signal vysnc and restore the refresh cycle T to an initial value, and then step S16 can be executed to wait for the next preparation to send vsync.
[0116] On the other hand, after executing step S3, if the GPU is not in an idle state, step S4 can be executed to determine whether the second waiting time (i.e., skipTime) is greater than the refresh cycle upper limit. The second waiting time is the time from the current moment to the last time the synchronization signal was sent, including the time for skipping the sending of the synchronization signal.
[0117] Furthermore, after executing step S4, if the second waiting time is greater than the upper limit of the refresh cycle, that is, the refresh rate of the display reaches the lower limit of the refresh rate, steps S9 and S15 can be executed to send the synchronization signal vysnc and restore the refresh cycle T to the initial value; then, step S16 can be executed to wait for the next preparation to send vsync.
[0118] On the other hand, after executing step S4, if the second waiting time is not greater than the upper limit of the refresh cycle, step S5 may be executed to determine whether the current refresh rate of the display is greater than the upper limit of the refresh rate.
[0119] Furthermore, after executing step S5, if the current refresh rate of the display is greater than the upper limit of the refresh rate, step S10 can be executed to accumulate the count value count once (i.e., count++), and step S11 can be executed to determine whether the upper limit of the refresh rate is reached for multiple consecutive times, that is, to determine whether the count value count reaches the threshold.
[0120] Furthermore, after executing step S11, if the refresh rate of the display reaches the refresh rate upper limit for multiple consecutive times, that is, it is determined that the count value count reaches the threshold; then, step S12 can be executed to mark the GPU as idle and perform corresponding processing according to the idle state, that is, step S9 and step S15 can be executed; in addition, step S13 can be executed to clear the count value count (that is, count=0); further, step S16 can be executed to wait for the next preparation to send vsync.
[0121] On the other hand, after executing step S11, if the refresh rate of the display does not reach the refresh rate upper limit for multiple consecutive times, that is, it is determined that the count value count has not reached the threshold value; then, step S14 can be executed to skip sending the current synchronization signal, that is, continue to accumulate a refresh cycle T (that is, skipTime+=T) at the second waiting time, and at the same time, the count value count is not cleared; in addition, step S15 can be executed to restore the refresh cycle T to the initial value; then, step S16 can be executed to wait for the next preparation to send vsync.
[0122] Further, after executing step S5, if the refresh rate of the current display is not greater than the upper limit of the refresh rate, then, step S6 can be executed to halve the current refresh cycle T; then, step S7 is executed to skip sending the current synchronization signal, that is, continue to accumulate a refresh cycle T (that is, skipTime+=T) at the second waiting time; further, step S16 can be executed to wait for the next preparation to send vsync.
[0123] It is understandable that in the embodiment of the present application, the virtual display can dynamically adjust the refresh rate, thereby solving the frame loss problem caused by the GPU rendering frame rate being lower than the display refresh rate, and improving the user's visual experience. At the same time, it is possible to determine whether the GPU is idle, and then, when the GPU is idle, the power consumption can be reduced by reducing the display refresh rate.
[0124] Fig. 9 A schematic diagram of the structure of an image rendering device provided in an embodiment of the present application is shown in FIG. Fig. 9 As shown, the image rendering device 800 includes: a determination module 810 , an extension module 820 and a sending module 830 .
[0125] The determining module 810 is configured to determine the rendering state of the graphics processor. The extending module 820 is configured to extend the synchronization period in response to the rendering state satisfying the first preset condition and the synchronization period satisfying the second preset condition; wherein the synchronization period is the interval period for sending the synchronization signal. The sending module 830 is configured to send the synchronization signal in response to reaching the end time of the synchronization period; wherein the synchronization signal is used to instruct the graphics processor to render.
[0126] In some embodiments of the present application, the extension module 820 is further configured to adjust the synchronization period to the initial period in response to sending a synchronization signal.
[0127] In some embodiments of the present application, the extension module 820 is further configured to extend the synchronization period in response to the rendering state satisfying the first preset condition and the synchronization period being less than a preset maximum period.
[0128] In some embodiments of the present application, the determination module 810 is also configured to determine that the rendering state is a first state in response to the graphics processor issuing a return frame; the first state is a state that does not meet the first preset condition; the return frame is frame data for display transmitted to the display when the graphics processor completes the rendering of the screen frame.
[0129] In some embodiments of the present application, the determination module 810 is further configured to determine that the rendering state is an idle state in response to the graphics processor not issuing a return frame and the graphics processor not performing screen frame rendering; wherein the first preset condition is the condition that the rendering state is not an idle state and is not a first state.
[0130] In some embodiments of the present application, the extension module 820 is also configured to extend the synchronization cycle by the corresponding duration of the refresh rate of the display in response to the rendering state satisfying the first preset condition, the synchronization cycle satisfying the second preset condition, and the refresh rate of the display satisfying the third preset condition.
[0131] In some embodiments of the present application, the extension module 820 is also configured to update the refresh rate of the display in response to the rendering state satisfying the first preset condition and the refresh rate of the display being less than the preset maximum refresh rate; and extend the synchronization period by the first duration of the period corresponding to the refresh rate of the updated display.
[0132] In some embodiments of the present application, the extension module 820 is further configured to update the refresh rate of the display to an integer multiple of the current value in response to the refresh rate of the display being less than a preset maximum refresh rate.
[0133] In some embodiments of the present application, the extension module 820 is also configured to count a preset counter in response to the rendering state satisfying a first preset condition and the refresh rate of the display being greater than or equal to the maximum refresh rate; in response to the count value of the counter being less than the preset maximum count value, the synchronization period is extended by a second duration corresponding to the refresh rate of the display.
[0134] In some embodiments of the present application, the extension module 820 is also configured to mark the rendering state as an idle state and clear the count value of the counter in response to the count value being greater than or equal to the maximum count value; wherein, the count value being greater than or equal to the maximum count value indicates that the refresh rate of the display does not meet the third preset condition.
[0135] The description of the above device embodiment is similar to the description of the above method embodiment, and has similar beneficial effects as the method embodiment. In some embodiments, the functions or modules included in the device provided in the embodiment of the present application can be used to execute the method described in the above method embodiment. For technical details not disclosed in the device embodiment of the present application, please refer to the description of the method embodiment of the present application for understanding.
[0136] It should be noted that in the embodiment of the present application, if the above-mentioned image rendering method is implemented in the form of a software function module and sold or used as an independent product, it can also be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the embodiment of the present application can be essentially or partly reflected in the form of a software product that contributes to the relevant technology. The software product is stored in a storage medium, including a number of instructions to enable a computer device (which can be a personal computer, a server, or a network device, etc.) to execute all or part of the methods described in each embodiment of the present application. The aforementioned storage medium includes: various media that can store program codes, such as a U disk, a mobile hard disk, a read-only memory (ROM), a disk or an optical disk. In this way, the embodiment of the present application is not limited to any specific hardware, software or firmware, or any combination of hardware, software, and firmware.
[0137] An embodiment of the present application provides a computer device, including a memory and a processor, wherein the memory stores a computer program that can be run on the processor, and when the processor executes the program, some or all of the steps in the above method are implemented.
[0138] The embodiment of the present application provides a computer-readable storage medium on which a computer program is stored, and when the computer program is executed by a processor, some or all of the steps in the above method are implemented. The computer-readable storage medium can be volatile or non-volatile.
[0139] An embodiment of the present application provides a computer program, including a computer-readable code. When the computer-readable code is run in a computer device, a processor in the computer device executes some or all of the steps for implementing the above method.
[0140] The embodiment of the present application provides a computer program product, which includes a non-transitory computer-readable storage medium storing a computer program, and when the computer program is read and executed by a computer, some or all of the steps in the above method are implemented. The computer program product can be implemented specifically by hardware, software or a combination thereof. In some embodiments, the computer program product is specifically embodied as a computer storage medium, and in other embodiments, the computer program product is specifically embodied as a software product, such as a software development kit (SDK) and the like.
[0141] It should be noted here that the description of the various embodiments above tends to emphasize the differences between the various embodiments, and the same or similar aspects can be referenced to each other. The description of the above device, storage medium, computer program and computer program product embodiments is similar to the description of the above method embodiment, and has similar beneficial effects as the method embodiment. For technical details not disclosed in the embodiments of the device, storage medium, computer program and computer program product of this application, please refer to the description of the method embodiment of this application for understanding.
[0142] Fig.10 A hardware entity diagram of a computer device provided in an embodiment of the present application is shown in FIG. Fig.10 As shown, the hardware entity of the computer device 1100 includes: a processor 1101, a memory 1102, a graphics processor 1103 and a display 1104. The memory 1102 stores a computer program that can be run on the processor 1101, and the processor 1101 implements the steps of the method in any of the above embodiments when executing the program.
[0143] The memory 1102 stores computer programs that can be run on the processor. The memory 1102 is configured to store instructions and applications executable by the processor 1101. It can also cache data to be processed or processed by the processor 1101 and various modules in the computer device 1100 (for example, image data, audio data, voice communication data, and video communication data). This can be achieved through flash memory (FLASH) or random access memory (Random Access Memory, RAM).
[0144] When the processor 1101 executes the program, the steps of any of the above-mentioned image rendering methods are implemented. The processor 1101 generally controls the overall operation of the computer device 1100.
[0145] An embodiment of the present application provides a computer storage medium, which stores one or more programs. The one or more programs can be executed by one or more processors to implement the steps of the image rendering method of any of the above embodiments.
[0146] It should be noted here that the description of the above storage medium and device embodiments is similar to the description of the above method embodiments, and has similar beneficial effects as the method embodiments. For technical details not disclosed in the storage medium and device embodiments of this application, please refer to the description of the method embodiments of this application for understanding.
[0147] The processor may be at least one of an Application Specific Integrated Circuit (ASIC), a Digital Signal Processor (DSP), a Digital Signal Processing Device (DSPD), a Programmable Logic Device (PLD), a Field Programmable Gate Array (FPGA), a Central Processing Unit (CPU), a controller, a microcontroller, and a microprocessor. It is understandable that the electronic device that implements the functions of the processor may also be other, and the embodiments of the present application are not specifically limited.
[0148] The above-mentioned computer storage medium / memory can be a read-only memory (ROM), a programmable read-only memory (PROM), an erasable programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM), a magnetic random access memory (FRAM), a flash memory (Flash Memory), a magnetic surface memory, an optical disk, or a compact disc read-only memory (CD-ROM) and the like; it can also be various terminals including one or any combination of the above-mentioned memories, such as mobile phones, computers, tablet devices, personal digital assistants, etc.
[0149] It should be understood that "one embodiment" or "an embodiment" mentioned throughout the specification means that specific features, structures or characteristics related to the embodiment are included in at least one embodiment of the present application. Therefore, "in one embodiment" or "in an embodiment" appearing throughout the specification does not necessarily refer to the same embodiment. In addition, these specific features, structures or characteristics can be combined in one or more embodiments in any suitable manner. It should be understood that in various embodiments of the present application, the size of the serial number of each step / process mentioned above does not mean the order of execution, and the execution order of each step / process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiment of the present application. The serial numbers of the embodiments of the present application mentioned above are for description only and do not represent the advantages and disadvantages of the embodiments.
[0150] It should be noted that, in this article, the terms "include", "comprises" or any other variations thereof are intended to cover non-exclusive inclusion, so that a process, method, article or device including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, article or device. In the absence of further restrictions, an element defined by the sentence "comprises a ..." does not exclude the existence of other identical elements in the process, method, article or device including the element.
[0151] In the several embodiments provided in the present application, it should be understood that the disclosed devices and methods can be implemented in other ways. The device embodiments described above are only schematic. For example, the division of the units is only a logical function division. There may be other division methods in actual implementation, such as: multiple units or components can be combined, or can be integrated into another system, or some features can be ignored or not executed. In addition, the coupling, direct coupling, or communication connection between the components shown or discussed can be through some interfaces, and the indirect coupling or communication connection of the devices or units can be electrical, mechanical or other forms.
[0152] The units described above as separate components may or may not be physically separated, and the components displayed as units may or may not be physical units; they may be located in one place or distributed on multiple network units; some or all of the units may be selected according to actual needs to achieve the purpose of the present embodiment.
[0153] In addition, all functional units in the embodiments of the present application can be integrated into one processing unit, or each unit can be a separate unit, or two or more units can be integrated into one unit; the above integrated unit can be implemented in the form of hardware or in the form of hardware plus software functional units. A person of ordinary skill in the art can understand that all or part of the steps of the above method embodiments can be completed by hardware related to program instructions, and the above program can be stored in a computer-readable storage medium. When the program is executed, the steps of the above method embodiments are executed; and the above storage medium includes: mobile storage devices, read-only memory (ROM), disks or optical disks, etc. Various media that can store program codes.
[0154] Alternatively, if the above-mentioned integrated unit of the present application is implemented in the form of a software function module and sold or used as an independent product, it can also be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present application can essentially or in other words, the part that contributes to the relevant technology can be embodied in the form of a software product, which is stored in a storage medium and includes a number of instructions for a computer device (which can be a personal computer, a server, or a network device, etc.) to execute all or part of the methods described in each embodiment of the present application. The aforementioned storage medium includes: various media that can store program codes, such as mobile storage devices, ROMs, magnetic disks, or optical disks.
[0155] The above is only an implementation method of the present application, but the protection scope of the present application is not limited thereto. Any technician familiar with the technical field can easily think of changes or substitutions within the technical scope disclosed in the present application, which should be included in the protection scope of the present application.
Claims
1. An image rendering method, characterized in that: The image rendering method comprises: Determine the rendering state of the graphics processor; In response to the rendering state satisfying a first preset condition and the synchronization period satisfying a second preset condition, extending the synchronization period; wherein the synchronization period is an interval period for sending a synchronization signal; In response to reaching the end time of the synchronization cycle, sending the synchronization signal; the synchronization signal is used to instruct the graphics processor to perform rendering; Among them, in response to the rendering state satisfying the first preset condition and the synchronization cycle satisfying the second preset condition, the synchronization cycle is extended, including: in response to the rendering state satisfying the first preset condition, the synchronization cycle satisfies the second preset condition, and the refresh rate of the display satisfies the third preset condition, the synchronization cycle is extended by the corresponding duration of the refresh rate of the display.
2. The method according to claim 1, characterized in that The method further comprises: In response to sending the synchronization signal, the synchronization period is adjusted to an initial period.
3. The method according to claim 1, characterized in that In response to the rendering state satisfying a first preset condition and the synchronization period satisfying a second preset condition, extending the synchronization period includes: In response to the rendering state satisfying the first preset condition and the synchronization period being less than a preset maximum period, the synchronization period is extended.
4. The method according to claim 1, characterized in that Determining the rendering state of the graphics processor includes: In response to the graphics processor sending a return frame, the rendering state is determined to be a first state; the first state is a state that does not meet the first preset condition; the return frame is frame data for display transmitted to the display when the graphics processor completes the picture frame rendering.
5. The method according to claim 4, characterized in that Determining the rendering state of the graphics processor further includes: In response to the graphics processor not issuing the return frame and the graphics processor not performing picture frame rendering, it is determined that the rendering state is an idle state; wherein the first preset condition is the condition that the rendering state is not the idle state and is not the first state.
6. The method according to claim 1, characterized in that In response to the rendering state satisfying the first preset condition and the refresh rate of the display satisfying the third preset condition, extending the synchronization period by a duration corresponding to the refresh rate of the display, comprising: In response to the rendering state satisfying a first preset condition and the refresh rate of the display being less than a preset maximum refresh rate, updating the refresh rate of the display; The synchronization period is extended by a first duration of a period corresponding to the refresh rate of the updated display.
7. The method according to claim 6, characterized in that In response to the refresh rate of the display being less than a preset maximum refresh rate, updating the refresh rate of the display comprises: In response to the refresh rate of the display being less than a preset maximum refresh rate, the refresh rate of the display is updated to an integer multiple of a current value.
8. The method according to claim 6, characterized in that In response to the rendering state satisfying the first preset condition and the refresh rate of the display satisfying the third preset condition, extending the synchronization period by a duration corresponding to the refresh rate of the display, further comprising: In response to the rendering state satisfying a first preset condition and the refresh rate of the display being greater than or equal to the maximum refresh rate, counting a preset counter; In response to the count value of the counter being less than a preset maximum count value, the synchronization period is extended by a second duration corresponding to the refresh rate of the display.
9. The method according to claim 8, characterized in that The method further comprises: In response to the count value being greater than or equal to the maximum count value, marking the rendering state as an idle state, and clearing the count value of the counter; Among them, the count value is greater than or equal to the maximum count value, indicating that the refresh rate of the display does not meet the third preset condition.
10. An image rendering device, characterized in that: The device comprises: A determination module configured to determine a rendering state of a graphics processor; An extension module is configured to extend the synchronization period in response to the rendering state satisfying a first preset condition and the synchronization period satisfying a second preset condition; wherein the synchronization period is an interval period for sending a synchronization signal; A sending module, configured to send the synchronization signal in response to reaching the end time of the synchronization cycle; the synchronization signal is used to instruct the graphics processor to perform rendering; Among them, the extension module is also configured to extend the synchronization cycle by the corresponding duration of the refresh rate of the display in response to the rendering state satisfying the first preset condition, the synchronization cycle satisfying the second preset condition, and the refresh rate of the display satisfying the third preset condition.
11. A display system, characterized in that: The display system comprises: A display, a graphics processor, a memory and a processor; wherein the memory stores a computer program that can be run on the processor, and when the processor executes the computer program, the steps in the method according to any one of claims 1 to 9 are implemented.
12. A computer-readable storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the steps in the method according to any one of claims 1 to 9 are implemented.
13. A computer program product, comprising a non-transitory computer-readable storage medium storing a computer program, characterized in that: When the computer program is read and executed by a computer, the steps in the method according to any one of claims 1 to 9 are implemented.
Citation Information
Patent Citations
Reduced display processing unit transfer time to compensate for delayed graphics processing unit render time
WO2021164004A1