Window frame rate control method and electronic equipment

By dynamically adjusting the frame rate of non-focus windows and ensuring the frame rate of focus windows according to the system load size, it solves the lag and delay problems caused by multi-window operations on electronic devices and improves the user experience.

CN120216066APending Publication Date: 2025-06-27HUAWEI TECH CO LTD

Patent Information

Application Number
CN202510138530.0
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-09-14
Publication Date
2025-06-27

AI Technical Summary

Technical Problem

When multiple windows are opened on electronic devices at the same time, the system resources are used up too much, resulting in stuttering and delaying in the focus window, affecting the user experience.

Method used

By obtaining the system load size, dynamically adjusting the frame rate of the non-focus window to make it lower than or equal to the frame rate of the focus window, ensuring that the frame rate of the focus window can be guaranteed under different system load conditions.

Benefits of technology

It effectively improves the smoothness of the user's operating focus window and reduces lag and delay caused by excessive system load.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120216066A_ABST
    Figure CN120216066A_ABST
Patent Text Reader

Abstract

The invention discloses a window frame rate control method and electronic equipment, and relates to the technical field of electronic equipment. The window frame rate can be controlled, the frame rate of the focus window is ensured, and the smoothness of operating the focus window by a user is improved. The method comprises the steps that the electronic equipment can obtain the system load size; when the size of the system load is the first load, the first window is displayed at a first frame rate, the second window is displayed at a second frame rate, the first window and the second window are windows displayed on the display screen, the first window is a non-focus window, the second window is a focus window, and the first frame rate is lower than or equal to the second frame rate. Then, the size of the system load is increased from the first load to a second load, when the size of the system load is the second load, the electronic equipment displays the first window at a third frame rate or displays the second window at a second frame rate, and the third frame rate is lower than the first frame rate and the second frame rate.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] This application is a divisional application. The application number of the original application is 202411298938.6, the original application date is September 14, 2024, and the invention title is "Window Frame Rate Control Method and Electronic Device". The entire content of the original application is incorporated herein by reference. Technical Field

[0002] This application relates to the technical field of electronic devices, and particularly to a window frame rate control method and an electronic device. Background Art

[0003] Currently, users may open multiple windows on an electronic device simultaneously. These multiple windows will consume a large amount of system resources, thereby causing phenomena such as lag and delay when the user operates the focused window, which affects the user experience. Summary of the Invention

[0004] This application provides a window frame rate control method and an electronic device, which can control the window frame rate, ensure the frame rate of the focused window, and improve the smoothness of the user's operation of the focused window.

[0005] To achieve the above object, this application adopts the following technical solutions:

[0006] In a first aspect, a window frame rate control method is provided, which is applied to an electronic device with a display screen. The method includes: obtaining the system load size; when the system load size is the first load, displaying a first window at a first frame rate and a second window at a second frame rate. The first window and the second window are windows displayed on the display screen. The first window is a non-focused window, and the second window is a focused window. The first frame rate is lower than or equal to the second frame rate; the system load size increases from the first load to the second load; when the system load size is the second load, displaying the first window at a third frame rate and the second window at the second frame rate, where the third frame rate is lower than the first frame rate and the second frame rate.

[0007] Based on the above technical solution, the electronic device can obtain the system load size. When the system load size is the first load, the first window on the display screen can be displayed at the first frame rate, and the second window can be displayed at the second frame rate. The first window is a non-focus window, the second window is a focus window, and the first frame rate is lower than or equal to the second frame rate. That is, at the first load, the frame rate of the non-focus window can be lower than or equal to the frame rate of the second focus window. Subsequently, the system load size increases from the first load to the second load. When the system load size is the second load, the frame rate of the first window on the display screen can increase from the first frame rate to the third frame rate, and the frame rate of the first window can also be the original second frame rate. That is to say, the greater the system load, the lower the frame rate of the non-focus window, while the frame rate of the focus window can remain unchanged. In this way, when the system load is heavier, the influence of the frame rate of the non-focus window on the frame rate of the focus window is greater. Then, controlling the frame rate of the non-focus window to be lower can ensure the frame rate of the focus window at different levels of the system load, improving the smoothness of the user's operation of the focus window.

[0008] In a possible design, the method further includes: when the system load size is the second load, displaying a third window at a fourth frame rate. The third window is a window displayed on the display screen, and the third window is a non-focus window. The fourth frame rate is lower than the third frame rate. In this way, the non-focus windows displayed on the display screen can also include the third window. When the system load size is the second load, the third window can be displayed at a frame rate lower than that of the first window. That is to say, the frame rates of different non-focus windows can be different, and flexible control of the frame rates of non-focus windows can be achieved.

[0009] In a possible design, the method further includes: when the system load size is the first load, displaying the third window at a fifth frame rate. The fifth frame rate is higher than the fourth frame rate and lower than the first frame rate. In this way, when the system load size is the first load, the third window can also be displayed at a frame rate lower than that of the first window. That is to say, the frame rates of different non-focus windows can be different, and flexible control of the frame rates of non-focus windows can be achieved.

[0010] In a possible design, the visibility of the third window on the display screen is lower than the visibility of the first window on the display screen. In this way, when the system load size is the first load, compared with when it is the second load, the frame rates of the first window and the third window will increase. And since the visibility of the first window is higher than that of the third window, the frame rate of the first window after the increase is still higher than that of the third window. That is to say, at the same load, the higher the visibility of the non-focus window, the higher the frame rate, which can ensure the frame rate of the non-focus window with high visibility.

[0011] In a possible design, before displaying the first window at the third frame rate, the method further includes: obtaining a rendering duration of the second window, where the rendering duration is greater than or equal to a first preset duration. In this way, when the rendering duration of the focused window is higher than or equal to the first preset duration, it indicates that the rendering duration of the focused window is relatively long, which means that the system load of the electronic device may be relatively heavy (such as overloaded), and the probability of phenomena such as freezing and delay occurring when the user operates the focused window is relatively high. Therefore, by controlling the frame rate of the non-focused window, such as reducing the frame rate of the non-focused window based on the system load size, the frame rate of the focused window can be ensured in a timely manner, and the smoothness of the user's operation of the focused window can be improved.

[0012] In a possible design, before displaying the first window at the first frame rate, the method further includes: obtaining a rendering duration of the second window, where the rendering duration is less than or equal to a second preset duration. In this way, when the rendering duration of the focused window is lower than or equal to the second preset duration, it indicates that the system load of the electronic device may be relatively light (such as underloaded), and the electronic device has additional capabilities to render the non-focused window. At this time, by increasing the frame rate of the non-focused window, the frame rate of the non-focused window can be ensured.

[0013] Exemplarily, the above-mentioned first preset duration, second preset duration, etc. can be set based on the statistical value of the rendering duration of the focused window, and can also be determined based on the frame rate of the focused window. When the frame rate of the focused window is different, the first preset duration and the second preset duration can have different settings. In this way, when comparing the actual rendering duration of the focused window with the set first preset duration and second preset duration, the rendering situation of the focused window can be determined more accurately, and then it can be judged whether the system load of the electronic device may be overloaded or underloaded.

[0014] In a possible design, the second load is higher than a first preset load threshold. In this way, when the second load is higher than the first preset load threshold, it indicates that the system load may be relatively heavy, such as overloaded. At this time, the frame rate of the non-focused window is more likely to affect the frame rate of the focused window. Therefore, by controlling the frame rate of the non-focused window, the frame rate of the focused window can be ensured in a timely manner.

[0015] In a possible design, the method further includes: when the system load size is the first load, displaying the third window at the first frame rate. In this way, when the system load size decreases from the second load to the first load, the system load may be relatively small, and the frame rate of the non-focused window is less likely to affect the frame rate of the focused window. The frame rates after increasing the frame rates of different non-focused windows can be the same, and the frame rates of some non-focused windows can be ensured.

[0016] In a possible design, the first load is lower than a second preset load threshold. In this way, when the first load is lower than the second preset load threshold, it indicates that the system load of the electronic device may be relatively light (such as underloaded), and the frame rates of non-focus windows with different visibility levels can be the same. In this way, when the system load is light, controlling the frame rates of non-focus windows at the same frame rate can ensure the frame rate of the focus window while also ensuring the frame rates of some non-focus windows.

[0017] Exemplarily, the above-mentioned second preset load threshold may be the same as the first preset load threshold, such as the threshold corresponding to when the system computing power is insufficient or sufficient. Or, the second preset load threshold may also be less than the first preset load threshold. For example, the first preset load threshold may be the threshold corresponding to severely insufficient system computing power, and the second preset threshold may be the threshold corresponding to ample system computing power, etc. The first preset threshold, the second preset threshold, etc. can be set based on empirical values, the occupancy of the system load (such as the actual usage of the CPU, GPU, etc.).

[0018] In a possible design, the second load belongs to the load range corresponding to the first preset load level; or, the first load belongs to the load range corresponding to the second preset load level. In this way, when the system load size is at different load levels, the frame rates of non-focus windows can be different, and when at the same load level, the frame rates of non-focus windows can be the same. This can make the implementation of the device simpler without having to set the frame rate of non-focus windows once for each system load size.

[0019] In a possible design, the first window is the window of a first application, and the first application is an application that is not drawn based on the software vertical synchronization VSYNC signal; when the system load size is the second load, displaying the first window at a third frame rate includes: when the system load size is the second load, controlling the GPU to obtain a first buffer at the frequency corresponding to the third frame rate when receiving a drawing request of the first application, where the first buffer is used to draw the content of the first window.

[0020] In a possible design, controlling the GPU to obtain a first buffer at the frequency corresponding to the third frame rate when receiving a drawing request of the first application includes: the device driver loader receives the drawing request of the first application; in response to the drawing request, the device driver loader loads the GPU to obtain the first buffer at the frequency corresponding to the third frame rate.

[0021] In a possible design, the first window is a window of a second application, and the second application is an application that performs rendering based on a software VSYNC signal; when the system load level is the second load level, displaying the first window at a third frame rate includes: when the system load level is the second load level, sending a software VSYNC signal to the second application at a frequency corresponding to the third frame rate, where the software VSYNC signal is used to trigger the second application to render the content of the first window.

[0022] In a possible design, sending the software VSYNC signal to the second application at a frequency corresponding to the third frame rate includes: the graphics rendering service receiving a hardware VSYNC signal generated by the display screen; the graphics rendering service converting the hardware VSYNC signal into a software VSYNC signal at a frequency corresponding to the third frame rate; the graphics rendering service sending the software VSYNC signal to the second application.

[0023] In a possible design, the visibility level of a non - focused window is determined based on at least one of the visible area of the non - focused window, the total area of the non - focused window, and the total area of the display screen.

[0024] In a possible design, the visible area of the non - focused window is positively correlated with the visibility level of the non - focused window; or, the ratio of the visible area of the non - focused window to the total area of the display screen is positively correlated with the visibility level of the non - focused window; or, the sum of the product of a first ratio and a first preset weight and the product of a second ratio and a second preset weight is positively correlated with the visibility level of the non - focused window, where the first ratio is the ratio of the total area of the non - focused window to the total area of the display screen, and the second ratio is the ratio of the visible area of the non - focused window to the total area of the visible window.

[0025] In a possible design, the system load level is determined based on at least one of the CPU occupancy rate, the GPU occupancy rate, the CPU clock frequency, and the GPU clock frequency.

[0026] In a second aspect, an electronic device is provided, and the electronic device has a function of implementing the method described in any design of any of the above aspects. This function 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.

[0027] In a third aspect, an electronic device is provided, including: a processor, a memory, and a display screen. The memory and the display screen are coupled to the processor. The memory is used to store program code, and the program code includes instructions. The processor reads the instructions from the memory so that the electronic device executes the method described in any design of any of the above aspects. Optionally, the memory can be coupled to the processor or can be independent of the memory. The display screen can be used for the electronic device to perform a display operation.

[0028] In a fourth aspect, a computer-readable storage medium is provided. The computer-readable storage medium includes a computer program. When the computer program runs on an electronic device, the electronic device executes the method described in any design of any of the above aspects.

[0029] In a fifth aspect, a computer program product is provided. The computer program product includes: a computer program or instructions. When the computer program or instructions run on a computer, the computer executes the method described in any design of any of the above aspects.

[0030] In a sixth aspect, a chip system is provided, including at least one processor and at least one interface circuit. The at least one interface circuit is used to perform a transceiver function and send instructions to the at least one processor. When the at least one processor executes the instructions, the at least one processor executes the method described in any design of any of the above aspects.

[0031] The technical effects of the foregoing aspects can be referred to each other, and will not be elaborated here. Description of the Drawings

[0032] Figure 1 It is a schematic diagram of a process for controlling window frame rate provided by an embodiment of the present application;

[0033] Figure 2 It is a schematic diagram of the structure of an electronic device provided by an embodiment of the present application;

[0034] Figure 3 It is a schematic diagram of the architecture of a graphics display system provided by an embodiment of the present application;

[0035] Figure 4 It is a schematic diagram of a drawing process provided by an embodiment of the present application;

[0036] Figure 5 It is a schematic diagram of the architecture of another graphics display system provided by an embodiment of the present application;

[0037] Figure 6 It is a schematic diagram of an interface provided by an embodiment of the present application;

[0038] Figure 7aA schematic diagram of another drawing process provided in an embodiment of the present application;

[0039] Figure 7b A flowchart of a window frame rate control method provided in an embodiment of the present application;

[0040] Figure 7c A flowchart of another window frame rate control method provided in an embodiment of the present application;

[0041] Figure 8 A schematic diagram of the structure of another electronic device provided in an embodiment of the present application;

[0042] Figure 9 A schematic diagram of the structure of a chip system provided in an embodiment of the present application. DETAILED DESCRIPTION

[0043] In the description of this application, unless otherwise specified, " / " indicates that the objects associated with each other are in an "or" relationship, for example, A / B can represent A or B; "and / or" in this application is merely a description of the association relationship between associated objects, indicating that three relationships may exist, for example, A and / or B can represent: A exists alone, A and B exist at the same time, and B exists alone, where A and B can be singular or plural.

[0044] In the description of this application, unless otherwise specified, "plurality" means two or more than two. "At least one of the following" 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, a and b and c, where a, b, and c can be single or multiple.

[0045] In addition, in order to clearly describe the technical solutions of the embodiments of the present application, in the embodiments of the present application, words such as "first" and "second" are used to distinguish the same items or similar items with substantially the same functions and effects. Those skilled in the art can understand that words such as "first" and "second" do not limit the quantity and execution order, and words such as "first" and "second" do not necessarily limit the difference.

[0046] In the embodiments of the present application, the frame rate (frame rate or frame per second, FPS) may refer to the frequency at which images in frames appear continuously on a display screen. Generally speaking, it may refer to the number of pictures displayed per second in an animation or video, i.e., the number of frames. The higher the frame rate, the more frames are displayed per second, and the smoother the picture. For example, Table 1 shows some examples of different frame rates provided in the embodiments of the present application.

[0047] Table 1

[0048]

[0049]

[0050] The screen refresh rate can refer to the frequency at which the screen of an electronic device refreshes the screen, with the unit of Hertz (Hz). For example, a 60Hz refresh rate can mean that the screen refreshes the displayed content 60 times in 1 second, and a 90Hz refresh rate can mean that the screen refreshes the displayed content 90 times in 1 second. Generally speaking, for an electronic device, the screen refresh rate of the electronic device is fixed.

[0051] Currently, users may open multiple windows on an electronic device at the same time. These multiple windows will occupy a large amount of system resources, which will cause phenomena such as lag and delay when the user operates the focused window, affecting the user experience. Among them, the focused window can refer to the window that receives user operations. In a possible solution, as Figure 1 shown, the graphics rendering service in the electronic device can control the frame rate of non-focused windows to a fixed low frame rate, and does not control the frame rate of focused windows, so as to achieve the purpose of ensuring the frame rate of focused windows. Exemplarily, Table 2 shows examples of the frame rates corresponding to some different types of windows.

[0052] Table 2

[0053]

[0054] As shown in Table 2, the frame rate of the focused window is not controlled and can reach up to 120FPS. The frame rate of the non-focused fully occluded window is controlled at a fixed value of 60FPS. The frame rate of the non-focused semi-occluded window is controlled at a fixed value of 120FPS. The frame rate of the non-focused minimized window is controlled at a fixed value of 0FPS, that is, the non-focused minimized window is not allowed to be rendered.

[0055] In this solution, the graphics drawing service controls the frame rate of the non - focused window by controlling the frequency of reporting the software vertical synchronization (VSYNC) signal to the application to which the non - focused window belongs, so as to control the frequency of drawing the display content for the non - focused window, and further control the frame rate of the non - focused window, with the aim of ensuring the frame rate of the focused window. Among them, there are two types of VSYNC signals in the electronic device. One is the hardware VSYNC signal, which is generated by the electronic device screen and is used to refresh the screen display content. The other is the software VSYNC signal converted from the hardware VSYNC signal, which is used for the application to draw the window content. In this solution, only the frame rate of the non - focused window drawn based on the software VSYNC signal can be controlled to a fixed frame rate. For some self - drawing applications, they do not draw based on the software VSYNC signal during drawing. Therefore, when the windows of these self - drawing applications are non - focused windows, the frame rates of these non - focused windows cannot be controlled. For example, the frame rates of these non - focused windows can reach 2000 FPS. Among them, self - drawing applications can refer to applications that use custom drawing logics (such as third - party graphics libraries like OpenGL ES, etc.) for drawing. Moreover, as the number of windows displayed on the electronic device continues to increase and the system resources are limited, this solution cannot achieve the purpose of ensuring the frame rate of the focused window.

[0056] Based on this, the embodiments of the present application provide a frame rate control method, which can control the window frame rate, ensure the frame rate of the focused window, and improve the smoothness of the user's operation of the focused window.

[0057] The technical solution provided by the embodiments of the present application can be applied to the electronic device 100 or to a system including the electronic device 100.

[0058] Exemplarily, Figure 2 The structural schematic diagram of an electronic device 100 provided by the embodiments of the present application is shown.

[0059] The electronic device 100 can be a desktop computer, a laptop computer, a handheld computer, a notebook computer, an ultra-mobile personal computer (UMPC), a netbook, and a personal digital assistant (PDA), a mobile phone, an augmented reality (AR) device, a virtual reality (VR) device, an artificial intelligence (AI) device, a wearable device, a vehicle-mounted device, a smart home device, and / or a smart city device. Optionally, the electronic device 100 can be a fixed device or a portable device. Optionally, the operating system installed on the electronic device 100 can include, but is not limited to or other operating systems. The embodiments of the present application do not make specific limitations on the specific type of the electronic device and the installed operating system.

[0060] The electronic device 100 may include a processor 110, a memory 120, a universal serial bus (USB) interface 130, a charging management module 140, a power management module 141, a battery 142, an antenna, a wireless communication module 150, an input device 160, a display screen 170, etc.

[0061] The processor 110 may include one or more processing units. For example, the processor 110 may include an application processor (AP), a modem processor, a graphics processing unit (GPU), an image signal processor (ISP), a controller, a video codec, a digital signal processor (DSP), a baseband processor, and / or a neural-network processing unit (NPU), etc. Among them, different processing units may be independent devices or integrated in one or more processors.

[0062] The controller can generate operation control signals according to the instruction operation code and the timing signal to complete the control of fetching and executing instructions.

[0063] A memory may also be provided in the processor 110 for storing instructions and data. In some embodiments, the memory in the processor 110 is a cache memory. This memory can hold the instructions or data that the processor 110 has just used or recycled. If the processor 110 needs to use the instruction or data again, it can be directly called from the memory. This avoids repeated accesses, reduces the waiting time of the processor 110, and thus improves the efficiency of the system.

[0064] In some embodiments, the processor 110 may include one or more interfaces, such as the USB interface 130.

[0065] The charging management module 140 is configured to receive a charging input from a charger. While charging the battery 142, the charging management module 140 can also supply power to the electronic device through the power management module 141.

[0066] The power management module 141 is used to connect the battery 142, the charging management module 140, and the processor 110. The power management module 141 receives inputs from the battery 142 and / or the charging management module 140 and supplies power to the processor 110, the memory 120, the display screen 170, the wireless communication module 150, etc.

[0067] The wireless communication function of the electronic device 100 can be implemented through an antenna, a wireless communication module 150, a modem processor, a baseband processor, etc.

[0068] The antenna is used to transmit and receive electromagnetic wave signals.

[0069] The wireless communication module 150 can provide solutions for wireless communications applied to the electronic device 100, including wireless local area networks (WLAN) (such as wireless fidelity (Wi-Fi) networks), Bluetooth (BT), XingShan, global navigation satellite system (GNSS), frequency modulation (FM), near field communication (NFC), infrared technology (IR), etc.

[0070] In some embodiments, the antenna of the electronic device 100 is coupled to the wireless communication module 150, enabling the electronic device 100 to communicate with the network and other devices through wireless communication technologies. The wireless communication technologies may include Global System for Mobile Communications (GSM), General Packet Radio Service (GPRS), Code Division Multiple Access (CDMA), Wideband Code Division Multiple Access (WCDMA), Time-Division Synchronous Code Division Multiple Access (TD-SCDMA), Long Term Evolution (LTE), BT, XingShan, GNSS, WLAN, NFC, FM, and / or IR technology, etc.

[0071] The input device 160 may include a keyboard, a mouse, etc. The keyboard is used to input English letters, numbers, punctuation marks, etc. into the electronic device 100, thereby issuing commands to the electronic device 100 and inputting data, etc. The mouse is an indicator for positioning the horizontal and vertical coordinates of the display system of the electronic device 100 and is used to input instructions to the electronic device 100, etc. Among them, the input device 160 can be connected to the electronic device 100 through a wired connection method. For example, the input device 160 is connected to the electronic device 100 through a GPIO interface, a USB interface, etc. The input device 160 can also be connected to the electronic device 100 wirelessly. For example, the input device 160 is connected to the electronic device 100 through Bluetooth, infrared, etc. In some embodiments of the present application, the input device 160 can be used to receive operations performed by the user on the objects included in the device 100.

[0072] The electronic device 100 realizes the display function through the GPU, the display screen 170, and the application processor, etc. The GPU is a microprocessor for image processing, connected to the display screen 170 and the application processor. The GPU is used to perform mathematical and geometric calculations for graphics rendering. The processor 110 may include one or more GPUs, which execute program instructions to generate or change display information.

[0073] The display screen 170 is used to display images, videos, etc. The display screen 170 includes a display panel. In some embodiments, the electronic device 100 may include 1 or N display screens 170, where N is a positive integer greater than 1.

[0074] The memory 120 can be used to store computer-executable program code, and the executable program code includes instructions. The memory 120 can include a program storage area and a data storage area. Among them, the program storage area can store an operating system, application programs required for at least one function (such as a sound playback function, an image playback function, etc.). The data storage area can store data created during the use of the electronic device 100. In addition, the memory 120 can include a high-speed random access memory, and can also include a non-volatile memory, such as at least one disk storage device, a flash memory device, a universal flash storage (UFS), etc. The processor 110 executes various functional applications and data processing of the electronic device 100 by running the instructions stored in the memory 120, and / or the instructions stored in the memory provided in the processor.

[0075] It can be understood that Figure 2 The schematic structure does not constitute a specific limitation on the electronic device 100. In other embodiments of the present application, the electronic device 100 may include more or fewer components than shown in the figure, such as a mobile communication module, a button, etc., or combine certain components, or split certain components, or arrange different components. The processing steps or functional characteristics of the components shown in the figure can be implemented in hardware, software, or a combination of software and hardware.

[0076] Exemplarily, Figure 3 shows a schematic architecture diagram of a graphics display system provided by an embodiment of the present application. As Figure 3 shown, the graphics display system 300 includes an application, a graphics rendering service, a device driver kit loader (DDK Loader), a GPU, an image synthesizer, etc.

[0077] Among them, the application can include an application that accesses the software VSYNC signal (i.e., an application that renders in response to the software VSYNC signal) and an application that does not access the software VSYNC signal (i.e., an application that does not render based on the software VSYNC signal). Optionally, the application that accesses the software VSYNC signal can be a self-rendering application or not. Exemplarily, the application that accesses the software VSYNC signal can include, but is not limited to, various applications such as a gallery, a browser, a file manager, etc. The application that does not access the software VSYNC signal can include applications such as games.

[0078] The graphics rendering service can provide a buffer for applications that access the software VSYNC signal. The application can draw the content that its own window needs to display into the buffer. In some embodiments, the graphics display system employs a double-buffer mechanism. The double-buffer mechanism can mean that since the content displayed on the screen needs to be continuously updated, if read and write operations are performed in the same buffer, it will cause the screen to display multiple frames of content and appear disordered. Therefore, the electronic device provides two buffers for the graphics display system. One buffer is used to perform the rendering operation and can be called the back buffer, and the other buffer is used to perform the display operation and can be called the front buffer or the frame buffer. Therefore, the application can draw the content that its own window needs to display into the back buffer. It can be understood that for an application, there can be one or more windows. For each window, there can be a corresponding backbuffer, and the application can separately draw the content that each of its own windows needs to display into the backbuffer corresponding to that window.

[0079] The device driver loader can include a series of functions and interfaces that can be called by the application to drive the GPU. The GPU can be used to execute the rendering instructions of an application that does not access the software VSYNC signal, draw the content that the corresponding window needs to display into the back buffer corresponding to that window based on the application's rendering instructions, and submit the content in the back buffer to the graphics rendering service through the device driver loader.

[0080] The image compositor can be used to perform a composition operation, combine the content in the back buffers corresponding to different windows into the content in the frame buffer, and send it to the screen for display.

[0081] Next, taking an example where there are window 1, window 2, and window 3 displayed on the screen of the electronic device, where window 1 and window 2 are windows of applications that access the software VSYNC signal, and window 3 is a window of an application that does not access the software VSYNC signal, combined with Figure 3 the structure of the shown graphics display system, the working principle of this graphics display system will be introduced. As Figure 4As shown, for Window 1 and Window 2, when the screen determines that the content on the display screen needs to be refreshed based on the refresh rate, the screen generates a hardware VSYNC signal. Correspondingly, the graphics rendering service obtains this hardware VSYNC signal. Then, the graphics rendering service determines whether to send a software VSYNC signal converted from the hardware VSYNC signal to the application to which the window belongs based on the frame rate corresponding to each of Window 1 and Window 2. Optionally, Window 1 and Window 2 can be windows of the same application or windows of different applications.

[0082] For example, when the graphics rendering service determines that the content of a window needs to be rendered based on the frame rate of the window, it sends a software VSYNC signal to the application to which the window belongs. Conversely, when the graphics rendering service determines that the content of a window does not need to be rendered based on the frame rate of the window, it does not send a software VSYNC signal to the application to which the window belongs. Subsequently, the application determines whether to render content into the back buffer of the graphics rendering service based on whether it receives the software VSYNC signal. If the application receives the software VSYNC signal corresponding to a window, it renders the content that the window needs to display into the backbuffer corresponding to that window. For example, for Window 1, the application to which Window 1 belongs can render the content that Window 1 needs to display into back buffer 1, and for Window 2, the application to which Window 2 belongs can render the content that Window 2 needs to display into back buffer 2. If the application does not receive the software VSYNC signal corresponding to a window, it does not render content into the back buffer corresponding to that window. For example, for Window 1, the application to which Window 1 belongs does not need to render content into back buffer 1, and for Window 2, the application to which Window 2 belongs does not need to render content into back buffer 2.

[0083] For Window 3, the application that does not receive the software VSYNC signal has its own frame rate. This application that does not receive the software VSYNC signal can load the GPU through the device driver loader to render the content of Window 3 according to its own frame rate. For example, when the application that does not receive the software VSYNC signal determines that the content of the current Window 3 does not need to be rendered based on its own frame rate, it does not call the GPU to render content into the back buffer (i.e., back buffer 3) corresponding to Window 3. Conversely, when the application that does not receive the software VSYNC signal determines that the content of the current Window 3 needs to be rendered based on its own frame rate, it calls the GPU to render content into the back buffer corresponding to Window 3. After the rendering is completed, the GPU can submit the content in back buffer 3 to the graphics rendering service through the device driver loader.

[0084] It can be understood that since the frame rates of applications that do not receive the software VSYNC signal may be different from those of applications that receive the software VSYNC signal, when an application that receives the software VSYNC signal performs a drawing operation based on the software VSYNC signal, an application that does not receive the software VSYNC signal may not perform a drawing operation. Or, when an application that does not receive the software VSYNC signal performs a drawing operation, an application that receives the software VSYNC signal may perform a drawing operation based on the software VSYNC signal.

[0085] Finally, the graphics rendering service can send the content in the back buffer (such as back buffer 1 to back buffer 3) to the image compositor based on the hardware VSYNC signal. The image compositor composes it into the content in the frame buffer (i.e., the frame buffer) and sends it to the screen for display. It can be understood that since the content of some windows may have been redrawn and the content of some windows may not have been redrawn. Therefore, the content in some back buffers may be the content after drawing, and the content in some back buffers may still be the content of the previous frame.

[0086] In some embodiments of the present application, as Figure 5 shown, the graphics rendering service may include at least one of a window priority recognition module, a load metric module, and a frame rate control module. Among them, the window priority recognition module can be used to determine the priorities of different windows. The load metric module can be used to detect the system load level of the electronic device. The frame rate control module can be used to determine the frame rate of the window of an application that receives the software VSYNC signal based on at least one of the window priority and the system load level. In some embodiments, in combination with Figure 5 shown in the working principle of the graphics display system, when the graphics rendering service sends a software VSYNC signal to the application to which the window belongs, it can send the software VSYNC signal to the application to which the corresponding window belongs based on the frame rate of the window determined by the frame rate control module, thereby realizing the control of the frame rate of the window that receives the software VSYNC signal.

[0087] The device driver loader may include a self-drawing frame rate control module, where the self-drawing frame rate control module can be used to determine the frame rate of the window of an application that does not receive the software VSYNC signal based on at least one of the window priority and the system load level. In some embodiments, in combination with Figure 5The working principle of the graphic display system shown is that when an application without a software VSYNC signal is loaded by the device driver loader to load the GPU for window content drawing, the device driver loader can control the timing of the GPU to obtain the back buffer based on the window frame rate determined by the self-drawing frame rate control module, thereby realizing the control of the frame rate of the window without a software VSYNC signal.

[0088] The technical solutions involved in the following embodiments can all be implemented in a device with a structure as shown in Figure 2 and a graphic display system with an architecture as shown in Figure 5 .

[0089] In some embodiments, a focus window and non-focus windows may be displayed on an electronic device. Exemplarily, in the embodiments of the present application, the non-focus windows displayed on the screen may include at least one of an unobstructed window, a partially obstructed window, a fully obstructed window, a minimized window, etc. The focus window may be an independent single window (such as a video window, a browser window, etc.) or a multi-task center window. The multi-task center window may contain one or more task windows (or task cards) running on the electronic device, and through these task windows, an independent single window similar to the foregoing can be enabled. Optionally, the multi-task center window may be called up by performing an operation such as swiping three fingers up on the control panel of the electronic device, or may also be called up by other operations.

[0090] Exemplarily, taking the electronic device as a computer as an example, as shown in Figure 6 , on the computer display interface 600, multiple windows are displayed, such as a task manager window 601, a video window 602, a browser window 603, a game window 604, etc. Among them, the task manager window 601 is the focus window, the game window 604 is an unobstructed window, the video window 602 is a partially obstructed window, and the browser window 603 is a minimized window, etc. Figure 6 In the example shown, each window is taken as an independent single window. The multi-task center window may be a window that simultaneously contains the task windows corresponding to the foregoing video window 602, browser window 603, game window 604, etc. Among them, the task window corresponding to the video window 602 can be used to open the video window 602, the task window corresponding to the browser window 603 can be used to open the browser window 603, and so on.

[0091] The electronic device can dynamically control the frame rate of non - focused windows to ensure the frame rate of the focused window. In this embodiment, the electronic device can control the frame rate of the focused window to be the highest among all windows. That is to say, the frame rate of non - focused windows can be less than or equal to the frame rate of the focused window. Optionally, the electronic device can not limit the frame rate of the focused window, that is, not perform a control operation on the frame rate of the focused window to control the frame rate of the focused window to be the highest among all windows. Or the electronic device can also increase the frame rate of the focused window, that is, perform a control operation on the frame rate of the focused window to control the frame rate of the focused window to be the highest among all windows.

[0092] In some implementations, the electronic device can dynamically control the frame rate of non - focused windows according to at least one of the priority of non - focused windows and the system load level.

[0093] First, the implementation of determining the priority of non - focused windows will be introduced below.

[0094] In some embodiments, the priority of non - focused windows can be determined based on at least one of the visible area of non - focused windows, the total area of non - focused windows, and the total screen area. It can be understood that in the embodiments of the present application, the visible area can refer to the window area that can be seen by the user.

[0095] In this embodiment, as a possible implementation, the priority of non - focused windows can be determined based on the ratio of the total area of non - focused windows to the total screen area and the ratio of the visible area of non - focused windows to the total area of non - focused windows. Optionally, in this implementation, corresponding weights can also be set for the ratio of the total area of non - focused windows to the total screen area (which can be called the first ratio) and the ratio of the visible area of non - focused windows to the total area of non - focused windows (which can be called the second ratio). The priority of non - focused windows can be determined based on the ratio of the total area of non - focused windows to the total screen area and the corresponding weight (which can be called the first weight), the ratio of the visible area of non - focused windows to the total area of non - focused windows and the corresponding weight (which can be called the second weight), etc.

[0096] In some examples, the weight corresponding to the ratio of the visible area of non - focused windows to the total area of non - focused windows can be greater than the weight corresponding to the ratio of the total area of non - focused windows to the total screen area. Of course, in other examples, the weight corresponding to the ratio of the visible area of non - focused windows to the total area of non - focused windows can also be less than or equal to the weight corresponding to the ratio of the total area of non - focused windows to the total screen area. The specific setting of this weight can be set by developers according to actual needs.

[0097] As a specific example, taking the weight corresponding to the ratio of the visible area of the non - focused window to the total area of the non - focused window as 70%, and the weight corresponding to the ratio of the total area of the non - focused window to the total area of the screen as 30% as an example, the priority of the non - focused window can be determined based on Formula 1.

[0098]

[0099] Among them, in Formula 1, a represents the total area of the non - focused window, b represents the visible area of the non - focused window, s represents the total area of the screen. The values of a and b are greater than or equal to 0, and the value of s is greater than 0. The priority of the non - focused window can be determined based on the magnitude of the V value (that is, the sum of the product of the ratio of the total area of the non - focused window to the total area of the screen and the corresponding weight, and the product of the ratio of the visible area of the non - focused window to the total area of the non - focused window and the corresponding weight). The value range of the V value can be greater than or equal to 0 and less than or equal to 1.

[0100] In this example, as a possible implementation, the larger the V value, the higher the priority of the non - focused window.

[0101] As another possible implementation, when the V value is in different ranges, the priority of the non - focused window is different. For example: when the V value is greater than or equal to the first threshold and less than or equal to the second threshold, the priority of the non - focused window is Priority 1; when the V value is greater than the second threshold and less than or equal to the third threshold, the priority of the non - focused window is Priority 2; when the V value is greater than the third threshold and less than or equal to the fourth threshold, the priority of the non - focused window is Priority 3. Among them, the first threshold to the fourth threshold increase in sequence. For example, the first threshold is 0, the second threshold is 0.3, the third threshold is 0.75, and the fourth threshold is 1. When the first threshold to the fourth threshold are the aforementioned examples, the priority division of the non - focused window is relatively consistent with the user's attention degree to the non - focused window, and can meet the user's demand for the frame rate of the non - focused window. Optionally, the specific values of each threshold can be set by developers according to actual needs. Priority 3 is higher than Priority 2, and Priority 2 is higher than Priority 1. In this way, by making a limited division of the priority of the non - focused window based on the range where the V value is located, the frame rate control operation can be simplified.

[0102] It can be understood that in this implementation, the priority of the non - focused window is divided into three levels as an example. In other implementations, the priority of the non - focused window can also be divided into more or fewer levels.

[0103] In this embodiment, as another possible implementation, the priority of the non - focused window can also be determined based on the ratio of the visible area of the non - focused window to the total screen area. For example, the larger the ratio of the visible area of the non - focused window to the total screen area, the higher the priority of the non - focused window. Or, similar to the previous implementation, different priorities can also be assigned to non - focused windows based on different ranges to which the ratio of the visible area of the non - focused window to the total screen area belongs.

[0104] In this embodiment, as another possible implementation, the priority of the non - focused window can also be determined based on the visible area of the non - focused window. For example, the larger the visible area of the non - focused window, the higher the priority of the non - focused window. Conversely, the smaller the visible area of the non - focused window, the lower the priority of the non - focused window. Or, similar to the previous implementation, different priorities can also be assigned to non - focused windows based on different ranges to which the visible area of the non - focused window belongs.

[0105] In this embodiment, as another possible implementation, the priority of the non - focused window can also be divided based on the type of the non - focused window. Exemplarily, the types of non - focused windows can include multiple types such as unobstructed windows, partially obstructed windows, fully obstructed windows, minimized windows, etc. The priorities corresponding to different types of non - focused windows are different. For example, the priorities of the non - focused windows of the aforementioned types can decrease in sequence.

[0106] The above only lists several implementations for determining the priority of the non - focused window. In practical applications, the priority of the non - focused window can also be determined by other means, such as based on the service type of the non - focused window, etc. Of course, this method can also be used in combination with the above - mentioned methods.

[0107] The above has introduced the implementation for determining the priority of the non - focused window. Next, the implementation for determining the system load level will be introduced. Among them, the system load level can refer to the busyness of the system.

[0108] In some embodiments, the system load level can be determined based on at least one of the occupancy rate of the central processing unit (CPU), the clock frequency of the CPU, the occupancy rate of the GPU, and the clock frequency of the GPU. It can be understood that in the embodiments of the present application, the CPU and GPU in the electronic device can be integrated in a system - on - a - chip (SOC) or can be independently set.

[0109] In this embodiment, as a possible implementation, the higher the occupancy rate of the CPU or GPU, the heavier the system load. Or, the higher the clock frequency of the CPU or GPU, the heavier the system load.

[0110] As another possible implementation, to simplify system operations, a limited number of levels can be directly defined for the system load level. As a possible classification method, the system load level can be divided into four levels: severely insufficient computing power, insufficient computing power warning, moderate computing power, and abundant computing power. For example, the level of the system load can be classified based on the range to which the occupancy rate of the CPU or GPU belongs. For instance, when the occupancy rate of the CPU or GPU is greater than threshold 1 (e.g., 90%), the system load level is severely insufficient computing power; when the occupancy rate of the CPU or GPU is less than or equal to threshold 1 but greater than threshold 2 (e.g., 75%), the system load level is insufficient computing power warning; when the occupancy rate of the CPU or GPU is less than or equal to threshold 2 but greater than threshold 3 (e.g., 50%), the system load level is moderate computing power; when the occupancy rate of the CPU or GPU is less than or equal to threshold 3, the system load level is abundant computing power. Optionally, threshold 1, threshold 2, threshold 3, etc. can be set based on empirical values, the actual usage conditions of the CPU, GPU, etc.

[0111] For another example: The level of the system load can also be classified based on the range to which the clock frequency during the operation of the CPU or GPU belongs. Or, the level of the system load can also be classified based on the range to which the ratio of the clock frequency during the operation of the CPU to the maximum clock frequency supported by the CPU belongs. Or, the level of the system load can also be classified based on the range to which the ratio of the clock frequency during the operation of the GPU to the maximum clock frequency supported by the GPU belongs. Optionally, the clock frequencies supported by the CPU or GPU can include one or more. For example: Taking the classification of the system load level based on the range to which the ratio of the clock frequency during the operation of the CPU to the maximum clock frequency supported by the CPU belongs as an example, assume that the CPU supports clock frequency 1 and clock frequency 2, where clock frequency 1 (e.g., 1 gigahertz (GHz)) is less than clock frequency 2 (e.g., 1.5 GHz), that is, clock frequency 2 is the maximum clock frequency supported by the CPU. When the CPU operates at clock frequency 1, the clock frequency during the operation of the CPU can be less than or equal to clock frequency 1. For example, when the ratio of the clock frequency during the operation of the CPU to clock frequency 2 is greater than threshold 4 (e.g., 55%), the system load level is severely insufficient computing power; when the ratio of the clock frequency during the operation of the CPU to clock frequency 2 is less than or equal to threshold 4 but greater than threshold 5 (e.g., 40%), the system load level is insufficient computing power warning; when the ratio of the clock frequency during the operation of the CPU to clock frequency 2 is less than or equal to threshold 5 but greater than threshold 6 (e.g., 20%), the system load level is moderate computing power; when the ratio of the clock frequency during the operation of the CPU to clock frequency 2 is less than or equal to threshold 6, the system load level is abundant computing power. Similarly, threshold 4, threshold 5, threshold 6, etc. can also be set based on empirical values, the actual usage conditions of the CPU, GPU, etc.

[0112] When the CPU operates at clock frequency 2, the clock frequency during CPU operation can be less than or equal to clock frequency 2. Similarly, the system load level can be determined based on the range to which the ratio of the clock frequency during CPU operation to clock frequency 2 belongs. Optionally, in this example, the threshold ranges corresponding to different system load levels can be different when the CPU operates at clock frequency 1. Similarly, for the implementation of dividing the system load level based on at least one of the clock frequencies during CPU and GPU operation, the maximum clock frequencies supported by the CPU and GPU, reference can be made to the relevant implementation of the occupancy rate described above.

[0113] It can be understood that the foregoing division method is only a possible example. In practical applications, the system load level can also be divided into more or fewer levels. For example: The system load level can also be divided into two levels: insufficient computing power and sufficient computing power. For example: Still taking the division of the system load level based on the range to which the occupancy rate of the CPU or GPU belongs as an example, when the occupancy rate of the CPU or GPU is greater than or equal to the preset occupancy threshold, the system load level is insufficient computing power; on the contrary, when the occupancy rates of both the CPU and GPU are less than the preset occupancy threshold, the system load level is sufficient computing power.

[0114] Optionally, when determining the system load level, the electronic device can also use the proportion integration differentiation (PID) algorithm for determination.

[0115] In some embodiments, the frame rate of non - focused windows can be dynamically controlled based on the priority of non - focused windows and the system load level. For example, when the system load is light (such as when the system load level is sufficient computing power, or abundant computing power, appropriate computing power, etc. as described above, the system load is light), the frame rates corresponding to non - focused windows with different priority levels can be the same. In this way, when the system load is light, controlling the frame rate of non - focused windows at the same frame rate can ensure the frame rate of the focused window and also ensure the frame rate of non - focused windows with lower priority. Of course, in other examples, when the system load is light, the frame rates corresponding to non - focused windows with different priority levels can also be different. For example, the frame rate of non - focused windows can be controlled according to the priority of each non - focused window. That is, the higher the priority of a non - focused window, the higher its frame rate. In this way, when the system load is light, controlling the frame rate of non - focused windows according to their priority, with higher - priority non - focused windows having higher frame rates, can ensure the frame rate of high - priority non - focused windows. Optionally, when the system load is light, the frame rate of non - focused windows can be less than the frame rate of the focused window. Of course, since the system load is light at this time, the normal rendering of non - focused windows may not affect the frame rate of the focused window. Therefore, the frame rate of non - focused windows can also be the same as the frame rate of the focused window.

[0116] For another example, when the system load is heavy (such as when the system load level is severely insufficient computing power, or insufficient computing power warning, insufficient computing power, etc. as described above, the system load is heavy), the frame rates corresponding to non - focused windows with different priority levels can be different. For example, the higher the priority of a non - focused window, the higher its frame rate. In this example, the frame rate of non - focused windows is less than the frame rate of the focused window. In this way, when the system load is heavy, controlling the frame rate of non - focused windows according to their priority, with higher - priority non - focused windows having higher frame rates, can not only ensure the frame rate of the focused window but also ensure the frame rate of high - priority non - focused windows.

[0117] For another example, the heavier the system load, the lower the frame rate corresponding to non - focused windows. In this way, when the system load is heavier, the greater the impact of the frame rate of non - focused windows on the frame rate of the focused window. By controlling the frame rate of non - focused windows to be lower, the frame rate of the focused window can be ensured at different levels of system load.

[0118] Exemplarily, combined with the system load level being divided into severely insufficient computing power, insufficient computing power warning, appropriate computing power, abundant computing power, and the priority of non - focused windows as described above being divided into priority 1 to priority 3, Table 3 shows some value examples of the frame rates of non - focused windows provided by the embodiments of the present application.

[0119] Table 3

[0120]

[0121] As shown in Table 3, when the computing power of the system load is sufficient, the frame rates of non-focus windows with different priorities can be the same, such as 60 FPS for all. Optionally, when the computing power of the system load is sufficient, the frame rate of the non-focus window can also be the same as that of the focus window. Optionally, when the computing power of the system load is sufficient, the frame rate of the non-focus window can also be the same as the screen refresh rate. When the system load is heavier, the frame rate of the non-focus window can be lower. Taking the non-focus window with priority 1 as an example, the frame rates of this non-focus window corresponding to the system load levels of sufficient computing power, moderate computing power, insufficient computing power warning, and severely insufficient computing power are 60 FPS, 50 FPS, 45 FPS, and 30 FPS respectively, and the frame rate keeps decreasing. It can be understood that Table 3 is only an exemplary illustration for facilitating the understanding of the embodiments of the present application, and the frame rates of non-focus windows can be different in actual setting.

[0122] Combined with the example shown in Table 3 and Figure 5 the architecture shown, taking the non-focus windows displayed on the electronic device including non-focus window 2 and non-focus window 3 as an example, where non-focus window 2 is the window of the application accessing the software VSYNC signal and non-focus window 3 is the window of the application not accessing the software VSYNC signal, the Figure 5 working principle of the graphic display system shown will be introduced.

[0123] As Figure 7a shown, the window priority recognition module in the graphic rendering service can recognize the priorities of non-focus windows (such as non-focus window 2 and non-focus window 3). Optionally, the window priority recognition module in the graphic rendering service can identify whether a window is a focus window or a non-focus window based on the window identifier used to represent "focus", and then determine the priorities of the identified non-focus windows through the scheme for determining the priorities of non-focus windows described above. Assume that the window priority recognition module determines that the priority of the current non-focus window 2 is priority 1 and the priority of non-focus window 3 is priority 2. And, the load measurement module in the graphic rendering service determines the current system load level based on the scheme for determining the system load degree described above. Taking the determined system load level of severely insufficient computing power as an example.

[0124] Then, the frame rate control module in the graphic rendering service can determine the frame rates of non-focus windows (such as non-focus window 1 and non-focus window 2) based on the priorities of non-focus window 1 and non-focus window 2 determined by the window priority recognition module and the system load level determined in the load measurement module. As combined with Table 3, the frame rate control module determines to control the frame rate of non-focus window 2 to 30 FPS and the frame rate of non-focus window 3 to 20 FPS.

[0125] Then, for the non - focused window 2, the graphics rendering service can send the software VSYNC signal converted from the hardware VSYNC signal to the application to which the non - focused window 2 belongs at the frame rate of the non - focused window 2 (such as 30 FPS). That is to say, the graphics rendering service can send the software VSYNC signal to the application to which the non - focused window 2 belongs at a frequency of 30 software VSYNC signals per second. Furthermore, when the application to which the non - focused window 2 belongs receives a software VSYNC signal, it draws one frame of the content that the non - focused window 2 needs to display to the corresponding back buffer (such as back buffer a) of the non - focused window 2, which can make the frame rate of the non - focused window 2 be 30 FPS.

[0126] For the non - focused window 3, the frame rate control module can send the determined frame rate of the non - focused window 3 (such as 20 FPS) to the self - rendering frame rate control module in the device driver loader. Subsequently, when the self - rendering frame rate control module receives a call for the non - focused window 3, it can control the GPU to obtain the back buffer (such as back buffer b) at the frame rate of the non - focused window 3 (such as a frequency of 20 times per second). Furthermore, when the GPU obtains a back buffer once, it draws one frame of the content that the non - focused window 3 needs to display. After the drawing is completed, the GPU can submit the content in the back buffer b to the graphics rendering service through the device driver loader, which can make the frame rate of the non - focused window 3 be 20 FPS.

[0127] In the above example, the electronic device can also display the focused window 1. Optionally, the focused window 1 can be the window of an application that accesses the software VSYNC signal, or the window of an application that does not access the software VSYNC signal. When the focused window 1 is the window of an application that does not access the software VSYNC signal, the focused window 1 and the non - focused window 3 can be the windows of the same application that does not access the software VSYNC signal, or the windows of different applications that do not access the software VSYNC signal. It can be understood that, in order to make Figure 7a it more concise and easy to understand, the rendering process of the focused window 1 is not shown in Figure 7a and the rendering process of the focused window 1 can be referred to Figure 4 the rendering process shown.

[0128] Finally, the graphics rendering service can also send the content in the back buffer of all windows (such as the focused window 1, unfocused window 2, unfocused window 3, etc.) to the image compositor based on the hardware VSYNC signal. The image compositor combines it into the content in the frame buffer and sends it to the screen for display. Similarly, subsequently, when the load measurement module in the graphics rendering service determines that the level of system load becomes moderately powered, and the windows displayed on the electronic device are still the focused window 1, unfocused window 2, and unfocused window 3, and the priorities of unfocused window 2 and unfocused window 3 remain unchanged. It is still assumed that unfocused window 2 is the window of the application accessing the software VSYNC signal. Then, the frame rate control module in the graphics rendering service controls the frame rate of unfocused window 2 to 50 FPS. Assume that unfocused window 3 is the window of the application that does not access the software VSYNC signal. Then, the self-rendering frame rate control module in the device driver loader controls the frame rate of unfocused window 3 to 35 FPS. And so on.

[0129] Optionally, in the above embodiments, the electronic device can perform the operation of determining the priority of the unfocused window when the window displayed on the screen changes (such as including but not limited to the number of windows changing, the window size changing, the window moving, the focused window changing, etc.), or can determine the priority of the unfocused window when determining the system load level. The embodiments of the present application do not limit the timing of determining the priority of the unfocused window.

[0130] The above embodiments introduce the implementation of controlling the frame rate of the unfocused window based on the priority of the unfocused window.

[0131] In other embodiments, the frame rate of the unfocused window can also be dynamically controlled based on the system load level. As a possible implementation, the heavier the system load, the lower the frame rate of the unfocused window. As another possible implementation, a similar method as above can also be used to divide the system load level into multiple levels, such as the severely insufficient computing power, insufficient computing power warning, moderately powered, and abundantly powered described above. When the system load level is at different levels, the frame rate of the same unfocused window is different. For example, when the level of the system load indicates that the system load is heavier, the frame rate of the unfocused window is lower. On the contrary, when the level of the system load indicates that the system load is lighter, the frame rate of the unfocused window is higher.

[0132] Optionally, in this embodiment, in the above two implementations, the frame rate of the unfocused window can be less than the frame rate of the focused window.

[0133] Optionally, in this embodiment, for the same system load level, the frame rates of different unfocused windows can be the same or different.

[0134] In some embodiments, the electronic device can control the frame rate of the non - focus window based on the above - mentioned solution periodically or at regular intervals.

[0135] In other embodiments, the electronic device can also determine whether to control the frame rate of the non - focus window based on the above - mentioned solution according to the rendering duration of one frame of content of the focus window (the rendering duration of one frame of content of the focus window can be simply referred to as the rendering duration of the focus window). Among them, for a focus window that accesses the software VSYNC signal, the rendering duration can refer to the duration from when the application to which the focus window belongs receives the software VSYNC signal to when the content to be displayed in the focus window is rendered to the backbuffer. For a focus window that does not access the software VSYNC signal, the rendering duration can refer to the duration from when the application to which the focus window belongs obtains the back buffer to when the content to be displayed in the focus window is rendered to the back buffer (or completed).

[0136] Optionally, the electronic device can, within a period of time, count the rendering duration of each frame in multiple frames of content of the focus window, and determine the rendering duration of the focus window based on the rendering duration of each frame of content during this period. For example, the rendering duration of the focus window can be a statistical value such as the average or median of the rendering duration of each frame of content during this period.

[0137] Optionally, the electronic device can obtain the rendering duration of the focus window periodically or at regular intervals to determine whether to control the frame rate of the non - focus window based on the above - mentioned solution.

[0138] In this embodiment, as a possible implementation, the electronic device can enable the frame rate control of the non - focus window when the rendering duration of the focus window is higher than or equal to the first preset duration. Among them, when the rendering duration of the focus window is higher than or equal to the first preset duration, the rendering duration of the focus window is relatively long, indicating that the system load of the electronic device may be relatively heavy (such as overloaded) at this time, and the probability of phenomena such as stuttering and delay when the user operates the focus window is relatively high. Therefore, by controlling the frame rate of the non - focus window, such as reducing the frame rate of the non - focus window, the frame rate of the focus window can be ensured in a timely manner, and the fluency of the user's operation of the focus window can be improved. On the contrary, when the rendering duration of the focus window is less than the first preset duration, the electronic device can not enable the frame rate control of the non - focus window. When the rendering duration of the focus window is less than the first preset duration, it indicates that the system load of the electronic device may be relatively light at this time, and the electronic device may have sufficient capabilities to render the focus window in a timely manner, and the probability of phenomena such as stuttering and delay when the user operates the focus window is relatively low. At this time, the electronic device does not perform the frame rate control of the non - focus window, which can reduce the power consumption of the electronic device.

[0139] In some embodiments, when the drawing duration of the focus window is lower than or equal to a second preset duration, the electronic device may also enable frame rate control for non-focus windows. Herein, the second preset duration is smaller than the first preset duration. When the drawing duration of the focus window is lower than or equal to the second preset duration, it indicates that the system load of the electronic device may be relatively light (such as underloaded), and the electronic device still has additional capabilities to draw non-focus windows. At this time, enabling frame rate control for non-focus windows, such as increasing the frame rate of non-focus windows, can also ensure the frame rate of non-focus windows.

[0140] Optionally, the above first preset duration, second preset duration, etc. may be determined based on the frame rate of the focus window. When the frame rate of the focus window is different, the first preset duration and the second preset duration may have different settings. In this way, when comparing the actual drawing duration of the focus window with the set first preset duration and second preset duration, the drawing situation of the focus window can be determined more accurately, and then it can be judged whether the system load of the electronic device may be overloaded or underloaded.

[0141] Exemplarily, Table 4 shows some examples of the comparison results between using the non-focus window frame rate control scheme provided by the embodiments of the present application and not using the non-focus window frame rate control scheme.

[0142] Table 4

[0143]

[0144] As shown in Table 4, when the task center slides or zooms, the focus window is always the task center. After adopting the non-focus window frame rate control scheme provided by the embodiments of the present application, the average drawing duration of the focus window is lower than that without adopting the non-focus window frame rate control scheme provided by the embodiments of the present application, and the frame rate of the focus window is higher than that without adopting the non-focus window frame rate control scheme provided by the embodiments of the present application.

[0145] Optionally, the technical solution provided by the embodiments of the present application is also applicable to the multi-screen collaboration scenario. For example, when a certain non-focus window presented on the electronic device is cast from another device, the electronic device can also control the frame rate of the non-focus window based on the above scheme. Or, when the focus window presented on the electronic device is cast from another device, the electronic device can also control the frame rate of the non-focus window based on the above scheme to ensure the frame rate of the focus window. Of course, in the multi-screen collaboration scenario, the electronic device can also adopt a similar scheme to reduce the frame rate of the windows that the user does not pay attention to, so as to achieve the purpose of ensuring the frame rate of the windows that the user pays attention to. Exemplarily, the frame rate of the window that the user pays attention to can be, for example, a window cast from another device.

[0146] Exemplarily, Figure 7bThe figure shows a schematic flowchart of a window frame rate control method provided by an embodiment of the present application. As Figure 7b shown, the method includes the following steps:

[0147] S701. The electronic device obtains the system load size.

[0148] Optionally, before obtaining the system load size, the electronic device may display a focused window and non-focused windows on the display screen. Optionally, the number of non-focused windows that the electronic device can display may be one or more.

[0149] Optionally, in some embodiments, before executing step S701, the electronic device may also first execute step S701a and step S701b. Of course, in other embodiments, step S701a and step S701b may also be executed after step S701, such as when controlling the frame rate of the window.

[0150] S701a. The electronic device obtains the drawing duration of the focused window.

[0151] For the introduction of the drawing duration of the focused window, please refer to the above description.

[0152] S701b. The electronic device determines whether the drawing duration of the focused window is greater than or equal to a first preset duration.

[0153] Wherein, in the case of being greater than or equal to, step S701 is executed. On the contrary, when it is less, step S701a may be executed again. Optionally, the electronic device may execute step S701a periodically or at regular intervals.

[0154] S702. The electronic device controls the frame rate of the non-focused windows displayed on the display screen based on the system load size.

[0155] Wherein, the frame rate of the non-focused windows may be negatively correlated with the system load size, and the frame rate of the non-focused windows may be less than the frame rate of the focused window displayed on the display screen. Optionally, in some embodiments, when the system load size is low, the frame rate of the focused window may not be affected, and the frame rate of the non-focused windows may also be equal to the frame rate of the focused window.

[0156] In some implementations, when the system load size is the first load, the electronic device displays a first window at a first frame rate and a second window at a second frame rate. The first window and the second window are windows displayed on the display screen. The first window is a non-focus window, and the second window is a focus window. The first frame rate is lower than or equal to the second frame rate. Optionally, the first window may be one of the non-focus windows displayed on the display screen. Then, the system load size decreases from the first load to the second load. When the system load size is the second load, the electronic device displays the first window at a third frame rate and the second window at the second frame rate, where the third frame rate is lower than the first frame rate and the second frame rate.

[0157] In some embodiments, the first window is a window of a first application, and the first application is an application that does not draw based on the software vertical synchronization (VSYNC) signal. Then, when the system load size is the first load, the electronic device controls the GPU to obtain a first buffer (such as the backbuffer described above) at a frequency corresponding to the third frame rate when receiving a drawing request of the first application. The first buffer is used to draw the content of the first window, enabling the first window to be displayed at the third frame rate.

[0158] In some embodiments, when the electronic device controls the GPU to obtain the first buffer at a frequency corresponding to the third frame rate when receiving a drawing request of the first application, it can be specifically implemented as follows: The device driver loader receives the drawing request of the first application. In response to the drawing request, the device driver loader loads the GPU to obtain the first buffer at a frequency corresponding to the third frame rate.

[0159] In some other embodiments, the first window is a window of a second application, and the second application is an application that draws based on the software VSYNC signal. Then, when the system load size is the first load, the electronic device sends a software VSYNC signal to the second application at a frequency corresponding to the third frame rate. The software VSYNC signal is used to trigger the second application to draw the content of the first window, enabling the first window to be displayed at the third frame rate.

[0160] In some embodiments, when the electronic device sends a software VSYNC signal to the second application at a frequency corresponding to the third frame rate, it can be specifically implemented as follows: The graphics rendering service receives the hardware VSYNC signal generated by the display screen; the graphics rendering service converts the hardware VSYNC signal into a software VSYNC signal at a frequency corresponding to the third frame rate; the graphics rendering service sends the software VSYNC signal to the second application.

[0161] In some embodiments, the non-focus windows displayed by the electronic device may further include a third window, and the frame rate of the first window may be higher than the frame rate of the third window.

[0162] Optionally, in this embodiment, the visibility of the first window may be higher than that of the third window. Optionally, the visibility of the non-focus window may be determined based on at least one of the visible area of the non-focus window, the total area of the non-focus window, and the total area of the display screen. The specific determination method may refer to the implementation of determining the visibility of the non-focus window above.

[0163] In this embodiment, as a possible implementation, when the system load is the second load, the electronic device may also display the third window at a fourth frame rate, and the fourth frame rate is lower than the third frame rate.

[0164] As another possible implementation, when the system load is the first load, the electronic device may also display the third window at a fifth frame rate, and the fifth frame rate is higher than the fourth frame rate and lower than the first frame rate.

[0165] That is, in the above implementation, when the system load is the first load or the second load, the frame rates corresponding to non-focus windows with different visibility levels may be different. The frame rate of the non-focus window with higher visibility is higher.

[0166] As yet another possible implementation, when the system load is the first load, the electronic device may also display the third window at the first frame rate. That is, in this implementation, when the system load is a lower load such as the first load, the frame rates corresponding to non-focus windows with different visibility levels may be the same.

[0167] In some embodiments, the above second load may be higher than the first preset load threshold. The first load may be lower than the second preset load threshold. Optionally, the second preset load threshold may be the same as the first preset load threshold, such as the threshold corresponding to the system computing power being insufficient or sufficient as described above (such as the preset occupancy threshold). Or, the second preset load threshold may also be less than the first preset load threshold. For example, the first preset load threshold may be the threshold corresponding to the computing power being severely insufficient as described above (such as threshold 1), and the second preset threshold may be the threshold corresponding to the computing power being abundant as described above (such as threshold 3), etc. The embodiments of the present application do not specifically limit the values of the second preset load threshold and the first preset load threshold. Correspondingly, the frame rate of the non-focus window (such as the first frame rate and the third frame rate of the first window, the fourth frame rate and the fifth frame rate of the third window, etc.) may refer to the examples of the frame rate when the system load is different or at different levels, such as when the computing power is insufficient or sufficient, severely insufficient, or abundant.

[0168] In some embodiments, the second load belongs to the load range corresponding to the first preset load level (such as the severely insufficient computing power level described above, etc.) (such as greater than threshold 1). Or, the first load belongs to the load range corresponding to the second preset load level (such as the abundant computing power level described above, etc.) (such as less than or equal to threshold 3). Of course, the first preset load level and the second preset load level can also be other system load levels divided as above. That is, when the system load size is at the same preset load level, the electronic device can control the frame rate of the same non-focus window to the same frame rate.

[0169] In some embodiments, before the electronic device displays the first window at the third frame rate, it can also obtain the drawing duration of the second window. When the drawing duration is greater than or equal to the first preset duration, it then displays the first window at the third frame rate. Optionally, the electronic device can obtain the system load size when the drawing duration is greater than or equal to the first preset duration. When the system load size is the second load, it then displays the first window at the third frame rate.

[0170] In some embodiments, before the electronic device displays the first window at the first frame rate, it can also obtain the drawing duration of the second window. When the drawing duration is less than or equal to the second preset duration, it then controls the frame rate of the first window to increase from the third frame rate to the first frame rate. Optionally, the electronic device can obtain the system load size when the drawing duration is less than or equal to the second preset duration. When the system load size is the first load, it then displays the first window at the first frame rate.

[0171] Exemplarily, Figure 7c shows a schematic flowchart of another window frame rate control method provided by an embodiment of the present application. This method can be applied to an electronic device with a display screen. As Figure 7c shown, this method includes the following steps:

[0172] S801. The electronic device obtains the system load size.

[0173] S802. When the system load size is the first load, the electronic device displays the first window at the first frame rate and the second window at the second frame rate.

[0174] Among them, the first window and the second window are windows displayed on the display screen. The first window is a non-focus window, the second window is a focus window, and the first frame rate is lower than or equal to the second frame rate.

[0175] Subsequently, if the system load size rises from the first load to the second load, the electronic device executes step S803.

[0176] S803. When the system load size is the second load, the electronic device displays the first window at the third frame rate and the second window at the second frame rate.

[0177] Among them, the third frame rate is lower than the first frame rate and the second frame rate.

[0178] Regarding Figure 7c For the introduction of step S801 shown, reference can be made to the relevant introduction of step S701. For the introductions of step S802 and step S803, reference can be made to the relevant introduction of step S702.

[0179] The above mainly introduces the solution provided by the embodiments of the present application from the perspective of the method. It can be understood that in order for the electronic device to implement the above functions, it includes the corresponding hardware structure and / or software module for executing each function. Combining the units and algorithm steps of each example described in the embodiments disclosed in the present application, the embodiments of the present application can be implemented in the form of hardware or a combination of hardware and computer software. Whether a certain function is executed in the form of hardware or computer-driven hardware depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered to exceed the scope of the technical solution of the embodiments of the present application.

[0180] The embodiments of the present application can divide the functional modules of the electronic device according to the above method examples. For example, each functional module can be divided corresponding to each function, or two or more functions can be integrated in one processing unit. The above integrated unit can be implemented in the form of hardware or in the form of a software functional module. It should be noted that the division of units in the embodiments of the present application is illustrative, only a logical functional division, and there can be other division methods in actual implementation.

[0181] Such as Figure 8 As shown, it is a schematic structural diagram of an electronic device provided by an embodiment of the present application. The electronic device 800 can be used to implement the methods executed by the electronic device described in each of the above method embodiments. Exemplarily, the electronic device 800 may include a processing unit 801 and a display unit 802.

[0182] Among them, the processing unit 801 is used to support the electronic device 800 to execute Figures 1 to 7b any one of the processing functions of the electronic device described, and the display unit 802 is used to support the electronic device 800 to execute Figures 1 to 7b any one of the display functions of the electronic device described.

[0183] Optionally, Figure 8 the electronic device 800 shown may further include a storage unit 803, and the storage unit 803 stores programs or instructions. When the processing unit 801 executes the program or instructions, it enables Figure 8 the electronic device 800 shown to execute the methods described in the above method embodiments.

[0184] Figure 8 The technical effects of the electronic device 800 shown can refer to the technical effects described in the above method embodiments, and will not be elaborated here. Figure 8 The processing unit 801 involved in the electronic device 800 shown can be implemented by a processor or processor-related circuit components, and can be a processor or a processing module. The display unit 802 can be implemented by components related to a display screen.

[0185] The embodiments of the present application also provide a chip system, as Figure 9 shown, the chip system includes at least one processor 901 and at least one interface circuit 902. The processor 901 and the interface circuit 902 can be interconnected by a line. For example, the interface circuit 902 can be used to receive signals from other devices. Again, for example, the interface circuit 902 can be used to send signals to other devices (such as the processor 901). Exemplarily, the interface circuit 902 can read instructions stored in a memory and send the instructions to the processor 901. When the instructions are executed by the processor 901, the electronic device can be made to execute each step executed by the electronic device in the above embodiments. Of course, the chip system can also include other discrete devices, and the embodiments of the present application do not make specific limitations thereto.

[0186] Optionally, the processor in the chip system can be one or more. The processor can be implemented by hardware or by software. When implemented by hardware, the processor can be a logic circuit, an integrated circuit, etc. When implemented by software, the processor can be a general-purpose processor that implements by reading software code stored in a memory.

[0187] Optionally, the memory in the chip system can also be one or more. The memory can be integrated with the processor or can be separately arranged from the processor, and the present application does not limit this. Exemplarily, the memory can be a non-transitory processor, such as a read-only memory ROM, which can be integrated with the processor on the same chip or can be separately arranged on different chips. The present application does not make specific limitations on the type of the memory and the arrangement manner of the memory and the processor.

[0188] Exemplarily, the chip system may be a field programmable gate array (FPGA), an application specific integrated circuit (ASIC), a system on chip (SoC), a central processing unit (CPU), a network processor (NP), a digital signal processing circuit (DSP), a microcontroller unit (MCU), a programmable logic device (PLD), or other integrated chips.

[0189] It should be understood that the steps in the above method embodiments can be completed by the integrated logic circuit in the hardware of the processor or the instructions in the form of software. The method steps disclosed in combination with the embodiments of the present application can be directly embodied as being executed and completed by the hardware processor, or executed and completed by the combination of the hardware and software modules in the processor.

[0190] The embodiments of the present application further provide a computer storage medium, in which computer instructions are stored. When the computer instructions run on an electronic device, the electronic device is enabled to execute the methods described in the above method embodiments.

[0191] The embodiments of the present application provide a computer program product, which includes: a computer program or instructions. When the computer program or instructions run on a computer, the computer is enabled to execute the methods described in the above method embodiments.

[0192] In addition, the embodiments of the present application further provide a device, which may specifically be a chip, a component or a module. The device may include a processor and a memory connected to each other; wherein, the memory is used to store computer execution instructions. When the device runs, the processor may execute the computer execution instructions stored in the memory, so that the device executes the methods in the above method embodiments.

[0193] Among them, the electronic device, the computer storage medium, the computer program product or the chip provided in this embodiment are all used to execute the corresponding methods provided above. Therefore, the beneficial effects that can be achieved can refer to the beneficial effects in the corresponding methods provided above, and will not be elaborated here.

[0194] From the description of the above embodiments, those skilled in the art can understand that for the convenience and brevity of description, only the division of the above function modules is used as an example. In actual applications, the above functions can be allocated to different function modules according to needs, that is, the internal structure of the device can be divided into different function modules to complete all or part of the functions described above.

[0195] In several embodiments provided in the present application, it should be understood that the disclosed device and method can be implemented in other ways. The embodiments can be combined or referred to each other without conflict. The device embodiments described above are merely illustrative. For example, the division of modules or units is only a logical function division. In actual implementation, there can be other division methods. For example, 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 displayed or discussed coupling or direct coupling or communication connection between each other can be through some interfaces. The indirect coupling or communication connection of the device or unit can be in electrical, mechanical or other forms.

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

[0197] In addition, in each embodiment of the present application, the functional units can be integrated in a processing unit, or each unit can exist physically alone, or two or more units can be integrated in one unit. The above integrated units can be implemented in the form of hardware or in the form of software functional units.

[0198] 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 such an understanding, the technical solution of the embodiments of the present application, in essence, 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. The software product is stored in a storage medium and includes several instructions to enable a device (which can be a single-chip microcomputer, a chip, etc.) or a processor to execute all or part of the steps of the methods in the various embodiments of the present application. The aforementioned storage medium includes: USB flash drive, mobile hard disk, read-only memory (ROM), random access memory (RAM), magnetic disk or optical disc and other various media that can store program codes.

[0199] The above content is only a specific implementation manner of this application, but the protection scope of this application is not limited thereto. Any person skilled in the art within the technical scope disclosed by this application can easily think of changes or substitutions, which should all be covered within the protection scope of this application. Therefore, the protection scope of this application shall be subject to the protection scope of the claims.

Claims

1. A window frame rate control method, characterized in that: Applied to an electronic device having a display screen, the method comprises: Acquire a system load, where the system load is a first load; When the system load is a first load, a first window is displayed at a first frame rate, and a second window is displayed at a second frame rate, the first window and the second window are windows displayed on the display screen, the first window is a non-focus window, the second window is a focus window, and the first frame rate is lower than or equal to the second frame rate; Acquire the system load, where the system load is a second load, and the second load is higher than the first load; When the system load is the second load, the first window is displayed at a third frame rate, wherein the third frame rate is lower than the first frame rate and the second frame rate.

2. The method according to claim 1, characterized in that The method further comprises: When the system load is the second load, a third window is displayed at a fourth frame rate, the third window is a window displayed on the display screen, the third window is a non-focus window, and the fourth frame rate is lower than the third frame rate.

3. The method according to claim 2, characterized in that The method further comprises: When the system load is the first load, the third window is displayed at a fifth frame rate, where the fifth frame rate is higher than the fourth frame rate and lower than or equal to the first frame rate.

4. The method according to claim 2 or 3, characterized in that: The third window is less visible on the display screen than the first window.

5. The method according to any one of claims 1 to 4, characterized in that Before displaying the first window at the third frame rate, the method further includes: Obtaining a drawing duration of the second window, where the drawing duration is greater than or equal to a first preset duration; and / or, Before displaying the first window at the first frame rate, the method further includes: A drawing duration of the second window is obtained, where the drawing duration is less than or equal to a second preset duration.

6. The method according to any one of claims 1 to 5, characterized in that When the system load is the second load, the second window is displayed at the second frame rate.

7. The method according to any one of claims 1 to 6, characterized in that The second load is higher than a first preset load threshold.

8. The method according to any one of claims 3 to 7, characterized in that: The fifth frame rate is equal to the first frame rate, and the first load is lower than a second preset load threshold.

9. The method according to any one of claims 1 to 8, characterized in that The first window is a window of a first application, and the first application is an application that is not drawn based on a software vertical synchronization VSYNC signal; and when the system load is the second load, displaying the first window at a third frame rate includes: When the system load is the second load, the GPU is controlled to obtain a first buffer according to a frequency corresponding to the third frame rate when receiving a drawing request from the first application, where the first buffer is used to draw the content of the first window.

10. The method according to any one of claims 1 to 8, characterized in that The first window is a window of a second application, and the second application is an application that performs drawing based on a software VSYNC signal; When the system load is the second load, displaying the first window at a third frame rate includes: When the system load is the second load, a software VSYNC signal is sent to the second application at a frequency corresponding to the third frame rate, and the software VSYNC signal is used to trigger the second application to draw the content of the first window.

11. The method according to any one of claims 4 to 10, characterized in that: The visibility of the non-focus window is determined based on at least one of a visible area of ​​the non-focus window, a total area of ​​the non-focus window, and a total area of ​​the display screen.

12. The method according to any one of claims 1 to 11, characterized in that The system load is determined based on at least one of an occupancy rate of the CPU, an occupancy rate of the GPU, a clock frequency of the CPU, and a clock frequency of the GPU.

13. An electronic device, characterized in that: include: A processor, a memory and a display screen, wherein the memory, the display screen and the processor are coupled, the memory is used to store program code, the program code includes instructions, and the processor reads the instructions from the memory so that the electronic device executes the method as described in any one of claims 1-12.

14. A computer-readable storage medium, characterized in that: The computer-readable storage medium comprises a computer program, and when the computer program is executed on an electronic device, the electronic device is caused to execute the method according to any one of claims 1 to 12.

15. A computer program product, characterized in that The computer program product comprises: a computer program or instructions, and when the computer program or instructions are executed on a computer, the computer is caused to perform the method according to any one of claims 1 to 12.

Citation Information

Patent Citations

  • Resource scheduling method and electronic equipment

    CN114443256A

  • Screen projection method, system and related device

    CN115145513A

  • Screen acquisition method and device, terminal equipment and storage medium

    CN117472304A

  • Image display method and related device

    CN117472483A

Cited By

  • Window frame rate control method and electronic device

    WO2026056384A1