WO2025217876A1 - Procédé d'affichage d'image et dispositif associé - Google Patents
Procédé d'affichage d'image et dispositif associéInfo
- Publication number
- WO2025217876A1 WO2025217876A1 PCT/CN2024/088577 CN2024088577W WO2025217876A1 WO 2025217876 A1 WO2025217876 A1 WO 2025217876A1 CN 2024088577 W CN2024088577 W CN 2024088577W WO 2025217876 A1 WO2025217876 A1 WO 2025217876A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- application
- refresh rate
- electronic device
- screen
- rendering
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
Definitions
- the present application relates to the field of terminal technology, and in particular to an image display method and related equipment.
- terminal devices also known as electronic devices
- screen refresh rate also known as the system refresh rate, or simply the refresh rate
- a high refresh rate can provide users with a better sliding interaction experience in complex scenarios.
- terminal devices In complex scenarios, terminal devices generally display multiple windows of multiple applications, but the focus of user operations at the same time is often only one window of an application.
- the present application provides an image display method and related devices. According to this method, when an electronic device simultaneously displays multiple windows of multiple applications, for the focus application and the application in the fling state, the electronic device can use a rendering frame rate equal to the current screen refresh rate to draw and render its screen, while for the non-focus application in the non-fling state, the electronic device can use a rendering frame rate lower than the current screen refresh rate to draw and render its screen. This method can avoid useless rendering caused by the non-focus application using a higher rendering frame rate, thereby reducing system load and power consumption.
- the present application provides an image display method.
- the method can be applied to an electronic device including a display screen.
- the electronic device can render the screen of the first application at a first frame rate to obtain a first screen, render the screen of the second application at a second frame rate to obtain a second screen, and synthesize the first screen and the second screen to obtain a first image, and then display the first image on the display screen at a first refresh rate.
- the first application is an application in a fling state or a focus application
- the second application is a non-focus application in a non-fling state (or a non-focus application that is not in a fling state).
- the first refresh rate is greater than the first threshold
- the first frame rate is equal to the first refresh rate
- the second frame rate is less than the first refresh rate.
- the electronic device can set different rendering frame rates for different applications, synthesize the application screens rendered at these different rendering frame rates, and then display the synthesized screens on the display screen, so as to achieve flexible adjustment of the application rendering frame rate.
- the electronic device can set a rendering frame rate lower than the screen refresh rate for some applications, thereby reducing the system load and power consumption caused by the rendering.
- the first application may belong to the Class A application mentioned below
- the second application may belong to the Class B application mentioned below.
- the first application may be a reading application as shown in FIG7A
- the second application may be a video application as shown in FIG7A
- the first screen may be the screen of window 2a
- the second screen may be Assuming that the screen of window 1a is used
- the first image may be an image synthesized by the screen of window 1a and the screen of window 2a as shown in FIG7A .
- the first frame rate may be r mentioned below, and the second frame rate may be Ri mentioned below.
- the first threshold may be the first refresh rate threshold mentioned below.
- the first refresh rate is the screen refresh rate used by the electronic device in the process of displaying the first image on the display screen.
- first application and the second application are applications that request the APP-VSync signal.
- the first image may change, that is, the screen of the first application included in the first image (that is, the first screen) may change, and the screen of the second application included in the first image (that is, the second screen) may also change.
- the method may further include: the electronic device may generate a VSync signal based on the first timer every first timing duration, and generate a second VSync signal accordingly every time Y first VSync signals are generated.
- the first timing duration is the reciprocal of the first refresh rate, and Y is an integer greater than 1.
- the electronic device renders the screen of the first application at the first frame rate, which may specifically include: the electronic device may render the screen of the first application based on the first VSync signal.
- the electronic device renders the screen of the second application at the second frame rate, which may specifically include: the electronic device renders the screen of the second application based on the second VSync signal.
- the electronic device can render the screen of the first application and the screen of the second application based on the VSync software timer that triggers the generation of the VSync signal, that is, an original timer of the electronic device is used to be responsible for the issuance of APP-VSync signals of multiple applications.
- VSync software timer that triggers the generation of the VSync signal
- an original timer of the electronic device is used to be responsible for the issuance of APP-VSync signals of multiple applications.
- there is no need to synchronize and calibrate multiple timers which is more convenient and has lower power consumption.
- the first VSync signal may be the VSync signal mentioned below (a hardware VSync signal or a software VSync signal), and the second VSync signal may be the APP-VSync signal mentioned below.
- the first timer may be the VSync software timer mentioned below, and the first timing duration may be understood as a VSync period.
- the first application renders its screen once each time it receives a first VSync signal.
- the second application renders its screen once each time it receives a second VSync signal.
- the electronic device may generate an App-VSync signal every x VSync cycles (or z VSync cycles) based on the first timer, and send the App-VSync signal to the second application.
- the first refresh rate is Y times the second frame rate.
- the method may further include: the electronic device may generate a first VSync signal based on a first timer at intervals of a first timing duration, and generate a second VSync signal based on a second timer at intervals of a second timing duration.
- the first timing duration is the inverse of the first refresh rate.
- the electronic device renders the screen of the first application at a first frame rate, which may specifically include: the electronic device may render the screen of the first application based on the first VSync signal.
- the electronic device renders the screen of the second application at a second frame rate, which may specifically include: the electronic device may render the screen of the second application based on the second frame rate.
- the VSync signal renders the screen of the second application, wherein the second timing duration is the inverse of the second frame rate.
- an electronic device can render the screen of a first application based on a VSync software timer that triggers the generation of a VSync signal, while creating another timer to render the screen of a second application.
- the electronic device can distribute App-VSync signals to the first application and the second application respectively based on two timers, without considering whether there is a multiple relationship between the rendering frame rate of the application and the first frame rate.
- the electronic device can more flexibly adjust the rendering frame rate of the application, without being limited to the application rendering frame rate must be divided by the screen refresh rate.
- the second timing duration can be understood as the timing duration defined by the second timer mentioned below. It is understood that the second timing duration can be an integer multiple of the first timing duration, or it can not be an integer multiple of the first timing duration. Its specific value can be set according to actual needs, and this application does not impose any restrictions on this.
- the first refresh rate is a first multiple of the second frame rate, and the first multiple is an integer greater than 1.
- the electronic device can use the original timer (for example, the VSync software timer) to distribute App-VSync signals to the first application and the second application.
- the original timer for example, the VSync software timer
- this method is more convenient, does not require synchronization calibration of multiple timers, and has lower power consumption.
- the first multiple may be equal to Y.
- the first refresh rate is not an integer multiple of the second frame rate.
- the electronic device when setting the second frame rate, is not limited to the application's rendering frame rate being an integer divisible by the screen refresh rate. This method can further increase the flexibility of adjusting the rendering frame rate. For example, when the first refresh rate is 120Hz, the electronic device can set the second frame rate to 90Hz, rather than being limited to 20Hz, 30Hz, 40Hz, and 60Hz.
- the method before rendering the screen of the first application at the first frame rate, may further include: in response to the first VSync signal, the electronic device may obtain the focus application (or the current focus application), the interaction state of the first application, and the interaction state of the second application, and determine the first frame rate and the second frame rate based on the focus application, the interaction state of the first application, and the interaction state of the second application.
- the interaction state includes a fling state and a non-fling state;
- electronic devices can use different rendering frame rates for different applications.
- electronic devices can use a high rendering frame rate, and for applications without user interaction, electronic devices can use a low rendering frame rate. This avoids useless rendering caused by using a high rendering frame rate for applications without user interaction, and can also reduce system load and power consumption.
- the first application may be a focus application that is not in a fling state.
- the method may further include: in response to a user operation on a screen of the second application in the first image (for example, a second screen), the electronic device may update the focus application from the first application to the second application; the electronic device may also set the screen refresh rate to the second refresh rate.
- the second refresh rate The refresh rate may be the highest refresh rate corresponding to the second application.
- the electronic device when a user triggers a change in the focus application, the electronic device can reset the screen refresh rate.
- the screen refresh rate can be set to the highest target refresh rate corresponding to the focus application. That is, the electronic device can set the current screen refresh rate based on the target refresh rate corresponding to the application that interacts with the user. In this way, the rendering resources can be better focused on the application that interacts with the user, thereby improving the user experience.
- the highest refresh rate corresponding to the application can be the upper limit of the target refresh rate range mentioned below, that is, the highest target refresh rate, and the lowest refresh rate corresponding to the application can be the lower limit of the target refresh rate range mentioned below, that is, the lowest target refresh rate.
- the method may further include: when the second refresh rate is greater than the first threshold, the electronic device may render the screen of the first application at a third frame rate to obtain a third screen, and render the screen of the second application at a fourth frame rate to obtain a fourth screen, and synthesize the third and fourth screens to obtain a second image, and then display the second image on the display screen at the second refresh rate.
- the third frame rate is less than the second refresh rate, and the fourth frame rate is equal to the second refresh rate.
- the electronic device when the focus application changes, can set the current screen refresh rate based on the highest target refresh rate corresponding to the focus application. Furthermore, the electronic device can determine whether the current screen refresh rate is at a high level (for example, whether the current screen refresh rate is greater than a first threshold). When the current screen refresh rate is high (or the highest target refresh rate corresponding to the focus application is high), the electronic device can reduce the rendering frame rate of some applications to reduce useless rendering.
- the second image when the electronic device displays the second image on the display screen at the second refresh rate, the second image may change, that is, the screen of the first application included in the second image (that is, the third screen) may change, and the screen of the second application included in the second image (that is, the fourth screen) may also change.
- the electronic device can determine whether the current screen refresh rate is greater than a first threshold. When the current screen refresh rate is greater than the first threshold, the electronic device can set the rendering frame rate of the first application and the rendering frame rate of the second application based on the focus application, the interaction state of the first application, and the interaction state of the second application.
- the method may further include: when the second refresh rate is less than or equal to the first threshold, the electronic device may render the screen of the first application at a fourth frame rate to obtain a fifth screen, and render the screen of the second application at a fourth frame rate to obtain a fourth screen, and synthesize the fifth screen and the fourth screen to obtain a third image. That is, when the second refresh rate is less than or equal to the first threshold, the electronic device may render the screen of the first application and the screen of the second application at a fourth frame rate, and synthesize the screen of the first application and the screen of the second application rendered at the fourth frame rate to obtain a third image. After obtaining the third image, the electronic device may also display the third image on the display screen at the second refresh rate.
- the electronic device when the focus application changes, can set the current screen refresh rate based on the highest target refresh rate corresponding to the focus application. Further, the electronic device can determine the current screen refresh rate. Whether the current screen refresh rate is at a high level (for example, whether the current screen refresh rate is greater than a first threshold). If the current screen refresh rate is not at a high level, the electronic device can directly render the first application and the second application based on the current screen refresh rate, that is, send an APP-VSync signal to the first application and the second application based on the screen refresh rate. Through this method, the electronic device does not lower the rendering frame rate of the application based on the screen refresh rate under all circumstances. For scenarios where the screen refresh rate is not high, the electronic device does not need to adjust the rendering frame rate of the application separately, so that the rendering frame rate of the application is equal to the screen refresh rate, which can simplify the process and reduce power consumption to a certain extent.
- the third image may change, that is, the screen of the first application included in the third image (that is, the fifth screen) may change, and the screen of the second application included in the third image (that is, the sixth screen) may also change.
- the method may further include: if no user operation on the image displayed on the display screen is detected within a preset time period, setting the screen refresh rate to a third refresh rate.
- the third refresh rate is less than the second refresh rate and greater than or equal to the minimum refresh rate corresponding to the second application.
- the electronic device can reduce the screen refresh rate and does not need to maintain it at a high level, thereby reducing power consumption.
- the preset duration can be set according to actual needs, and this application does not impose any specific restrictions on this.
- the present application provides an electronic device comprising a display screen, one or more memories, and one or more processors; the display screen is coupled to the one or more memories and the one or more processors, the display screen is used to display the drawn, rendered and synthesized images, the memory is used to store computer program code, the computer program code includes computer instructions, and the one or more processors call the computer instructions to enable the electronic device to perform the method described in the first aspect or any one of the implementations of the first aspect.
- the present application provides a computer storage medium comprising computer instructions, which, when executed on an electronic device, causes the electronic device to execute the method described in the first aspect or any one of the implementations of the first aspect.
- an embodiment of the present application provides a chip.
- the chip can be applied to an electronic device, and the chip includes one or more processors configured to invoke computer instructions to cause the electronic device to execute the method described in the first aspect or any one of the implementations of the first aspect.
- the chip system may be an application processor (AP) or a system on chip (SoC) including an AP.
- AP application processor
- SoC system on chip
- the method described in the first aspect or any one of the implementations of the first aspect may be implemented by an AP, and the method described in the second aspect or any one of the implementations of the second aspect may be implemented by an AP.
- the chip system may include an AP and other modules, wherein the other modules may be a modem processor (also referred to as a baseband processor).
- a modem processor also referred to as a baseband processor
- an embodiment of the present application provides a computer program product comprising instructions.
- the computer program product When the computer program product is run on an electronic device, the electronic device executes the method described in the first aspect or any one of the implementations of the first aspect. Described method.
- the electronic device provided in the second aspect, the computer storage medium provided in the third aspect, the chip provided in the fourth aspect, and the computer program product provided in the fifth aspect are all used to perform the method described in the first aspect or any one of the implementations of the first aspect. Therefore, the beneficial effects that can be achieved can be referenced to the beneficial effects of any possible implementation of the first aspect, and will not be repeated here.
- FIG1 is a schematic diagram of a user interface provided in an embodiment of the present application.
- FIG2 is a schematic diagram of another user interface provided in an embodiment of the present application.
- FIG3 is a schematic diagram of a rendering process provided by an embodiment of the present application.
- FIG4 is a schematic diagram of VSync signal distribution provided in an embodiment of the present application.
- FIG5 is a flow chart of an image display method provided in an embodiment of the present application.
- 6A-6C are schematic diagrams of triggering a fling state according to an embodiment of the present application.
- FIGS. 7A-7C are another set of user interface schematic diagrams provided in an embodiment of the present application.
- 7D-7E are schematic diagrams showing changes in a window sliding state according to an embodiment of the present application.
- FIG8A is a flowchart of another image display method provided in an embodiment of the present application.
- FIG8B is a flowchart of another image display method provided in an embodiment of the present application.
- FIG9A is a schematic diagram of another VSync signal distribution according to an embodiment of the present application.
- FIG9B is a schematic diagram of another VSync signal distribution according to an embodiment of the present application.
- FIG10 is a schematic diagram of the software structure of an electronic device provided in an embodiment of the present application.
- FIG. 11A and 11B are flowcharts of another image display method provided in an embodiment of the present application.
- FIG12 is a schematic diagram of the hardware structure of an electronic device provided in an embodiment of the present application.
- GUI Graphical User Interface
- control Components can include visual interface elements such as icons, buttons, menus, tabs, text boxes, dialog boxes, status bars, navigation bars, widgets, etc.
- references to "embodiments” in this application mean that a particular feature, structure, or characteristic described in connection with the embodiment may be included in at least one embodiment of the application.
- the appearance of this phrase in various places in the specification does not necessarily refer to the same embodiment, nor does it constitute an independent or alternative embodiment that is mutually exclusive of other embodiments. It is understood, both explicitly and implicitly, by those skilled in the art that the embodiments described in this application may be combined with other embodiments.
- an electronic device can display multiple windows of multiple applications, and can also display multiple windows of one application. It is understandable that the user interface of the application is displayed in the window of the application.
- the application running on the electronic device can be preset with a target refresh rate interval, such as: [60,60], [60,120], etc.
- the electronic device can refresh the screen displayed by the electronic device based on the target refresh rate interval set for the application (which can be simply referred to as the target refresh rate interval corresponding to the application).
- the target refresh rate intervals of different applications may be the same or different.
- the electronic device can refresh the screen displayed by the electronic device based on the target refresh rate interval of one of the applications.
- the overall system refresh rate policy adopted by the electronic device is to set the screen refresh rate based on the target refresh rate interval.
- a user can interact with one window of a single application at a time, and the multiple windows of the multiple applications displayed on the electronic device are refreshed according to the target refresh rate range corresponding to the application the user is interacting with. If the upper limit of the target refresh rate range corresponding to the application the user is interacting with is too high, the system load and power consumption will increase significantly, affecting the long-term stability of the system.
- this application records the application with which the user interacts as the focus application, the application window with which the user interacts as the focus window, and the application with which the user does not interact as the non-focus application.
- the screen refresh rate of the electronic device (i.e., the system refresh rate) can be set based on the target refresh rate interval corresponding to the focus application. Specifically, when the user has interactive operations on the electronic device, the screen refresh rate of the electronic device can be maintained at the upper limit of the target refresh rate interval corresponding to the focus application (for example, 90Hz or 120Hz). When the user stops interacting (for example, the user raises his hand after sliding on the display screen of the electronic device), the screen refresh rate of the electronic device can fall back to the lower limit of the target refresh rate interval corresponding to the focus application (for example, 60Hz or lower frequency).
- the screen refresh rate of the electronic device can be set to a value lower than the upper limit of the target refresh rate interval and higher than the lower limit of the target refresh rate interval.
- the upper limit of the target refresh rate interval can also be referred to as the maximum target refresh rate
- the lower limit of the target refresh rate interval can also be referred to as the minimum target refresh rate.
- the electronic device can simultaneously display the user interface of application 1 and the user interface of application 2, and detect a user operation on the user interface of application 2. That is, application 2 is the focus application, and application 1 is the non-focus application.
- the upper limit of the target refresh rate interval originally set for application 1 by the electronic device i.e., the highest target refresh rate corresponding to application 1
- the upper limit of the target refresh rate interval originally set for application 2 i.e., the highest target refresh rate corresponding to application 2
- the electronic device detects the user operation acting on the user interface of application 2, it can refresh its displayed screen (including the user interface of application 1 and the user interface of application 2) according to the highest target refresh rate corresponding to the focus application (i.e., application 2), i.e., 120Hz.
- the highest target refresh rate corresponding to application 1 is only 60Hz.
- the electronic device refreshes the user interface of application 1 at 120Hz, its refresh frequency will exceed expectations (i.e., the actual refresh frequency used will be greater than the highest target refresh rate), and application 1 is a non-focus application. Using a high refresh rate will cause useless rendering and increase additional system load.
- the refresh frequency mentioned here and the rendering refresh frequency mentioned in Table 1 can be understood as the rendering frame rate mentioned later, that is, the frequency at which the application draws and renders the screen (or a frame of image).
- the upper limit of the target refresh rate range originally set by the electronic device for Application 1 and Application 2 is 60Hz, that is, the maximum target refresh rate corresponding to Application 1 and Application 2 is 60Hz.
- the electronic device detects the user operation acting on the user interface of Application 2, it can refresh its displayed screen (including the user interface of Application 1 and the user interface of Application 2) according to the maximum target refresh rate corresponding to Application 2, that is, 60Hz.
- the maximum target refresh rate corresponding to Application 1 is 60Hz, and it is expected that the electronic device refreshes its user interface at 60Hz without adding additional system load.
- the upper limit of the target refresh rate range originally set by the electronic device for Application 1 and Application 2 is 120Hz, that is, the maximum target refresh rate corresponding to Application 1 and Application 2 is 120Hz.
- the electronic device detects the user operation acting on the user interface of Application 2, it can refresh its displayed screen (including the user interface of Application 1 and the user interface of Application 2) according to the maximum target refresh rate corresponding to the focus application (i.e., Application 2), i.e., 120Hz.
- the maximum target refresh rate corresponding to Application 1 is also 120Hz, Application 1 is a non-focus application, and using a high refresh rate will cause useless rendering and increase additional system load.
- the upper limits of the target refresh rate ranges originally set by the electronic device for Application 1 and Application 2 are 120Hz and 60Hz respectively, that is, the maximum target refresh rate corresponding to Application 1 is 120Hz, and the maximum target refresh rate corresponding to Application 2 is 60Hz.
- the electronic device detects that the user acting on Application 2 After a user operation on the interface, the displayed screen (including the user interface of Application 1 and the user interface of Application 2) can be refreshed according to the highest target refresh rate corresponding to the focus application (i.e., Application 2), i.e., 60Hz. It can be understood that the highest target refresh rate corresponding to Application 1 is 120Hz, and Application 1 is a non-focus application.
- the electronic device uses 60Hz to refresh the user interface of Application 1 without causing useless rendering, and naturally does not increase additional system load.
- the electronic device will refresh the user interface of the focused application and the user interface of non-focused applications according to the target refresh rate range corresponding to the focused application. If the highest target refresh rate corresponding to the focused application is high, the above refresh method may cause the refresh frequency of non-focused applications to exceed the expected level, resulting in useless rendering and increasing system load.
- a window 1a and a window 2a may be displayed on the display screen of an electronic device.
- Window 1a displays the user interface of a video application
- window 2a displays the user interface of a reading application.
- the maximum target refresh rate corresponding to the video application is 60 Hz
- the maximum target refresh rate corresponding to the reading application is 120 Hz.
- the electronic device can detect a user operation (e.g., a click operation) acting on window 2a. In response to the user operation, the electronic device can determine that window 2a is the focus window and the reading application is the focus application.
- the electronic device can use the maximum target refresh rate corresponding to the reading application to refresh the entire screen displayed on the display screen (including the screen displayed in window 1a and the screen displayed in window 2a).
- the maximum target refresh rate corresponding to the video application is only 60 Hz. If the electronic device refreshes the user interface of the video application at 120 Hz, its refresh frequency will exceed expectations (i.e., the actual refresh frequency used will be greater than the maximum target refresh rate), and the video application is a non-focus application. Using a high refresh rate will cause useless rendering and increase additional system load.
- window 3a, window 3b and window 2a may be displayed on the display screen of the electronic device.
- window 3a and window 3b display the user interface of a shopping application
- window 2a displays the user interface of a reading application.
- the highest target refresh rate corresponding to the shopping application and the reading application is 120Hz.
- the electronic device can detect the user operation (for example, a click operation) acting on window 2a. In response to the user operation, the electronic device can determine that window 2a is the focus window and the reading application is the focus application. Furthermore, the electronic device can use the highest target refresh rate corresponding to the reading application to refresh the entire screen displayed on the display screen (including the screen displayed in window 3a, window 3b, and the screen displayed in window 2a).
- the shopping application is a non-focus application, and using a high refresh rate will cause useless rendering and increase additional system load.
- an embodiment of the present application provides an image display method and related equipment. According to this method, when an electronic device displays multiple windows of multiple applications at the same time, for the focus application and the application in the fling state of interaction, the electronic device can use the current screen refresh rate as its rendering frame rate for drawing and rendering, and for the non-focus application in the non-fling state of interaction, the electronic device can use a rendering frame rate lower than the current screen refresh rate for drawing and rendering. This method can avoid useless rendering caused by the high rendering frame rate used by the non-focus application, thereby reducing system load and power consumption.
- This application relates to a rendering mechanism. To facilitate understanding, the following first briefly introduces the rendering mechanism (also known as the VSync mechanism).
- the graphics rendering pipeline involves the application (referred to as the application), the image synthesis system (SurfaceFlinger) and the display Screen (also known as screen).
- SurfaceFlinger can also be called an image synthesizer.
- the application first needs to draw and render it, and then SurfaceFlinger merges and renders it into the frame buffer (framebuffer), and finally sends it to the display for display.
- VSync vertical synchronization
- the application starts UI rendering
- the second VSync cycle arrives (or the second VSync signal is generated)
- SurfaceFlinge can synthesize the layers
- the display obtains the synthesized data and displays it on the display to present it to the user.
- the application when the first VSync cycle arrives, the application can complete the UI rendering of the first frame; when the second VSync cycle arrives, SurfaceFlinge can complete the layer synthesis of the first frame, and the application can complete the UI rendering of the second frame; when the third VSync cycle arrives, the display can complete the display of the first frame, SurfaceFlinge can complete the layer synthesis of the second frame, and the application can complete the UI rendering of the third frame; when the fourth VSync cycle arrives, the display can complete the display of the second frame, SurfaceFlinge can complete the layer synthesis of the third frame, and the application can complete the UI rendering of the fourth frame; when the fifth VSync cycle arrives, the display can complete the display of the third frame, SurfaceFlinge can complete the layer synthesis of the fourth frame, and the application can complete the UI rendering of the fifth frame.
- VSync signal generated by hardware (for example, a hardware module related to a hardware synthesizer), and simulated by software (for example, VSyncThread).
- hardware or software can generate a VSync signal according to a fixed period, and the fixed period can be referred to as a VSync period.
- the VSync signal generated by hardware can be referred to as a hardware VSync signal
- the VSync signal generated by software can be referred to as a software VSync signal.
- the VSync period is determined by the screen refresh rate.
- the screen refresh rate can be 60Hz
- the VSync period can be the inverse of the screen refresh rate, that is, 16.67 milliseconds (ms).
- the hardware-generated VSync signal (also referred to as an HW-VSync signal) may be a pulse signal.
- software simulation of the VSync signal may include: the electronic device samples the hardware-generated VSync signal, creates a model, and then outputs the VSync signal.
- the VSync signal generated by the hardware may be a hardware VSync event received by a hardware synthesizer (HWC).
- HWC hardware synthesizer
- a hardware VSync event callback can be registered in the HWC, and when a hardware VSync event arrives, the vsync function of the HWC is called back.
- the HWC After the HWC receives the hardware VSync event, it adds the hardware VSync event to the VSync event sample of the DispSync through SurfaceFlinger.
- the hardware VSync event is stopped, and the software generates a VSync event based on the calculation result of the sample, that is, generates a VSync signal.
- the electronic device needs to regenerate the VSync event through the hardware and collect the hardware VSync event sample again.
- the electronic device can generate a VSync signal through hardware or simulate a VSync signal through software (the hardware VSync signal/software VSync signal shown in Figure 4), and virtualize the VSync signal into an App-VSync signal (also called a VSync-app signal) and an SF-VSync signal (also called a VSync-sf signal) through a VSync signal virtualization thread (for example, DispSyncThread).
- the electronic device can receive the VSync signal through two event threads (EventThread) respectively.
- EventThread two event threads
- EventThread(APP) receives the APP-VSync signal
- EventThread(SF) the event thread that receives the SF-VSync signal
- EventThread(SF) the event thread that receives the SF-VSync signal
- EventThread(SF) the event thread that receives the SF-VSync signal
- it can wake up the corresponding application and drive the application to perform UI rendering.
- the UI thread of the application is awakened, it performs UI rendering work (including input event processing, animation, drawing, etc.).
- EventThread(SF) receives the SF-VSync signal, it can wake up SurfaceFlinger and drive SurfaceFlinger to perform layer merging.
- Figure 5 is a flow chart of an image display method provided by an embodiment of the present application.
- the rendering frame rate adjustment method can be applied to electronic devices, and includes but is not limited to the following steps:
- the electronic device can set the rendering frame rate of the N applications based on the interaction status of the focus application and N applications, and these N applications are N applications that have been started by the electronic device.
- these N applications are applications that request APP-VSync signals from the electronic device, specifically, they can be: applications that request APP-VSync signals from the event thread (as shown in Figure 4). It can be understood that the present application does not limit the order in which the electronic device starts the N applications.
- N is an integer greater than 1. For example, N can be 2. For another example, N can be 3.
- the electronic device sets the rendering frame rate of the N applications based on the interaction status of the focus application and the N applications. Specifically, it may include: the electronic device maintains the rendering frame rate of the focus application or the application in the fling state among the N applications the same as the current screen refresh rate, and sets the rendering frame rate of the non-focus application in the N applications that is not in the fling state to be lower than the current screen refresh rate.
- the electronic device in response to the generated VSync signal, can determine whether the current screen refresh rate is greater than a first refresh rate threshold.
- the rendering frame rate of the N applications is set based on the interaction status of the focus application and the N applications.
- the electronic device generates a VSync signal, which may specifically include: the electronic device generates the VSync signal through its hardware, or the electronic device simulates and generates the VSync signal through its software (synchronized with the VSync signal generated by the hardware).
- each time the electronic device generates a VSync signal in response to the generated VSync signal, the electronic device can determine whether the current screen refresh rate is greater than a first refresh rate threshold.
- the rendering frame rate of the N applications is set based on the interaction status of the focus application and the N applications.
- each time a VSync signal is generated it can be specifically understood as: each VSync cycle arrives.
- the VSync period is the inverse of the screen refresh rate (or system refresh rate).
- the screen refresh rate of an electronic device may be 120 Hz, and accordingly, the VSync period may be 1/120 s, or 8.3 ms (rounded to one decimal place).
- the screen refresh rate that an electronic device can support is mainly determined by the specifications of the display screen of the electronic device itself (for example, the bandwidth, resolution, refresh rate, etc. of the display screen).
- the screen refresh rate of the electronic device is a fixed value.
- the screen refresh rate of the electronic device is fixed at 60 Hz.
- the electronic device may support multiple screen refresh rate specifications, that is, the screen refresh rate of the electronic device can be changed.
- the electronic device supports a screen refresh rate of 120Hz (that is, the display screen refreshes the screen 120 times per second) and a screen refresh rate of 60Hz (that is, the display screen refreshes the screen 60 times per second).
- the electronic device can automatically adjust the screen refresh rate according to the current usage scenario, or the user can trigger the electronic device to adjust the screen refresh rate.
- the default system refresh rate set in the electronic device is 60Hz, and the user can trigger the system refresh rate of the electronic device to be adjusted to 120Hz.
- the initial screen refresh rate used by the electronic device can be set according to actual needs.
- the initial screen refresh rate set in the electronic device can be 60Hz.
- the electronic device may be provided with a VSync software timer, and the VSync signal may be managed and controlled by the VSync software timer.
- the timing duration defined by the VSync software timer is a VSync cycle. Specifically, every time the timing duration of the VSync software timer reaches its defined timing duration (i.e., a VSync cycle), the electronic device generates a VSync signal. Furthermore, as shown in Figure 4, the electronic device can generate an App-VSync signal and an SF-VSync signal based on the generated VSync signal, and distribute the App-VSync signal and the SF-VSync signal.
- the VSync period will also change accordingly, and the timing duration defined by the VSync software timer will also change accordingly.
- each time the timing duration of the VSync software timer reaches its defined timing duration i.e., one VSync cycle
- it can stop timing and be cleared to zero, and then restart timing until the timing duration reaches its defined timing duration again, then stop timing and be cleared to zero, and then restart timing, and repeat the cycle.
- the electronic device can record the focus application, so that the electronic device can view the record to determine the current focus application.
- the electronic device can record the package name of the focus application.
- the electronic device can detect the user operation acting on the display screen, and in response to the user operation, the electronic device can update and record the focus application and/or focus window based on the specific position of the user operation on the display screen.
- the electronic device in response to the user's touch operation on the display screen displaying windows of N applications, the electronic device can determine that the window where the user touches is located is the focus window, and based on the correspondence between each window and the application, determine that the application corresponding to the focus window is the focus application.
- an electronic device displays window 1a and window 2a on a display screen, wherein window 1a is a window corresponding to a video application, and the user interface of the video application is displayed in window 1a; window 2a is a window corresponding to a reading application, and the user interface of the reading application is displayed in window 2a.
- the electronic device can detect a user operation of clicking on window 2a (or a user operation of clicking on the user interface in window 2a). After detecting the click operation, the electronic device can update the focus window to window 2a and update the focus application to the application corresponding to window 2a, i.e., the reading application.
- the electronic device may set the screen refresh rate based on the target refresh rate interval corresponding to the focus application. Specifically, after the electronic device detects a user operation, it may determine whether the focus application has changed. If the focus application has not changed, the electronic device may set the screen refresh rate based on the target refresh rate interval corresponding to the focus application (i.e., the unchanged focus application). If the focus application has changed, the electronic device may set the screen refresh rate based on the target refresh rate interval corresponding to the changed focus application.
- the electronic device may set the screen refresh rate to the highest target refresh rate corresponding to the focus application. After the user operation ceases, the electronic device may reduce the screen refresh rate within the target refresh rate range corresponding to the focus application, that is, set the screen refresh rate to be less than the highest target refresh rate corresponding to the focus application and not less than the lowest target refresh rate corresponding to the focus application. For example, after the user operation ceases, the electronic device may set the screen refresh rate to the lowest target refresh rate corresponding to the focus application.
- the electronic device may set the screen refresh rate to the highest target refresh rate corresponding to the changed focus application. After the user operation stops, the electronic device may reduce the screen refresh rate within the target refresh rate range corresponding to the changed focus application, that is, set the screen refresh rate to be less than the highest target refresh rate corresponding to the changed focus application, and the set screen refresh rate is not less than the lowest target refresh rate corresponding to the changed focus application. For example, after the user operation stops, the electronic device may set the screen refresh rate to the lowest target refresh rate corresponding to the changed focus application.
- the electronic device stores a correspondence between one or more applications and target refresh rate intervals. It is understood that the target refresh rate intervals corresponding to multiple applications in the electronic device can be exactly the same, partially the same, or completely different, and this application does not limit this.
- the target refresh rate interval corresponding to the application can be set according to actual needs, and this application does not impose any restrictions on this.
- the refresh rate contained in the target refresh rate interval corresponding to the application is the screen refresh rate supported by the electronic device.
- the electronic device can select the refresh rate supported by the electronic device within the target refresh rate interval corresponding to the application to set the screen refresh rate, rather than every value in the target refresh rate interval corresponding to the application can be set as the screen refresh rate.
- the screen refresh rates supported by the electronic device include 144Hz, 120Hz, 90Hz, 60Hz, 40Hz and 30Hz.
- the upper and lower limits of the target refresh rate interval corresponding to each application in the electronic device can be selected from the above refresh rates and cannot be other screen refresh rates not supported by the electronic device.
- the target refresh rate interval corresponding to the application in the electronic device can be [60,90], but not [20,110].
- the target refresh rate interval corresponding to the application is pre-set before leaving the factory.
- the target refresh rate interval corresponding to the application may change (for example, the upper limit of the target refresh rate interval is increased), but the upper and lower limits of the target refresh rate interval after the change are also the screen refresh rates supported by the electronic device.
- the screen refresh rates supported by the electronic device include 120Hz and 60Hz.
- the highest target refresh rate corresponding to application 1 before the upgrade is 60Hz, and the highest target refresh rate corresponding to application 1 after the upgrade becomes 120Hz.
- the electronic device can set its corresponding target refresh rate range based on the application type and its own operating requirements.
- the electronic device needs to set the target refresh rate range corresponding to the application within the range of the screen refresh rate it supports.
- some applications carry relevant information of their corresponding target refresh rate intervals.
- the electronic device can obtain relevant information of the corresponding target refresh rate range and determine the corresponding target refresh rate range.
- the user can change the target refresh rate interval corresponding to the application.
- the user needs to set the target refresh rate interval corresponding to the application within the range of the screen refresh rate supported by the electronic device.
- the electronic device can set the corresponding upper limit of the target refresh rate range (i.e., the maximum target refresh rate) to a higher level.
- the corresponding upper limit of the target refresh rate range can be set to the maximum screen refresh rate (for example, 144Hz).
- the electronic device can record the interaction status of each application that has been launched. Similar to recording the focus application above, the electronic device can update and record the interaction status of each application based on the user operation acting on the display screen.
- the interaction status of the application may include: non-fling (or inertial sliding, in English, fling) state and fling state.
- Fling means: after the user slides the user interface of the application on the display screen and raises his hand, the user interface of the application displayed on the display screen automatically slides (the user does not touch the user interface of the application at this time), specifically refers to continuing to scroll in the direction of the finger sliding along the inertia until it stops.
- the fling operation is triggered from the moment the finger leaves the display screen and ends when the scrolling stops.
- the non-fling state refers to other states except the fling state. For example, the user interface of the application does not slide.
- the fling state is described in detail below with reference to FIG. 6A to FIG. 6C .
- the electronic device displays two windows (i.e., window w1 and window w2) on the display screen, each of which corresponds to an application. It should be noted that Figures 6A-6C are only an example provided by this application, and the electronic device can also display more windows of more applications on the display screen, and this application does not limit this.
- Figures 6A-6C show the process of a user sliding his finger on the display screen and triggering a fling.
- the user's finger falls on the display screen (the first touch on the display screen during this sliding process).
- the icon 1 in window w2 is at position 1.
- the user's finger falls on the display screen, it can slide upward on the display screen (the upward sliding trajectory of the finger is shown in Figures 6A and 6B), and during this sliding process, the user interface displayed in window w2 slides upward as the finger slides.
- the position of icon 1 in the user interface displayed in window w2 changes from position 1 to position 2 ( Figure 6B shows the change in the position of icon 1 during this sliding process).
- Figure 6B shows the change in the position of icon 1 during this sliding process.
- the user raises his hand i.e., the user's finger leaves the display screen.
- icon 1 in window w2 is at position 2.
- (4) in FIG6C after the user raises his hand, if the sliding speed exceeds the speed threshold, a fling is triggered, and the user interface in window w2 continues to slide upward (automatically slides upward).
- the position of icon 1 changes from position 2 to position 3.
- the user interface in window w2 stops sliding.
- the electronic device may display a window 1a corresponding to a video application and a window 2a corresponding to a reading application on the display screen.
- the electronic device may detect an upward sliding operation on window 2a.
- the user interface in window 2a slides upward as the user's finger slides.
- the upward sliding operation shown in FIG7A may include the operation of the finger falling on the display screen as shown in FIG6A , and the operation of the finger sliding upward on the display screen as shown in FIG6B .
- the electronic device may detect a hand-raising operation on window 2a.
- the electronic device may detect a hand-raising operation on window 2a. After the hand-raising operation on window 2a, the user interface in window 2a can continue to slide upward. The sliding at this time is the automatic sliding of the user interface in window 2a, rather than the sliding of the user interface driven by the user's finger.
- the electronic device can display the content shown in Figure 7C on the display screen. As shown in Figure 7C, the electronic device can display window 1a, window 1b and window 2a on the display screen.
- window 1b is also a window corresponding to the video application.
- the user interface in window 2a is different from the user interface in window 2a shown in Figure 7B. This means that in the process of the focus application changing from the reading application to the video application, the user interface in window 2a is still sliding upward and is not affected by the user clicking the video 1 control (for example, the sliding does not stop because the user clicks the video 1 control). And, as shown in Figure 7C, the user interface in window 2a can continue to slide upward.
- FIG7D and FIG7E illustrate the specific changes in the user interface in window 2a when the user's finger slides upward in window 2a and triggers a fling.
- the user's finger falls on the display screen and slides upward on the display screen.
- the user interface in window 2a of the electronic device slides upward as the finger slides.
- the window 2a of the electronic device may display user interfaces as shown in (1) and (2) in FIG7D . It can be understood that, as shown in (1)-(3) in FIG7D , the user interface in window 2a also changes accordingly when the user's finger slides upward on the display screen.
- the user's finger can be lifted after sliding upward on the display screen for a distance.
- the user interface in window 2a of the electronic device can continue to slide upward automatically.
- the window 2a of the electronic device may display the user interface as shown in (2) in FIG7E .
- the user interface in window 2a of the electronic device can stop sliding after sliding upward for a distance.
- the sliding speed may be the speed at which a user's finger slides on a display screen, specifically, the sliding speed in a certain direction.
- the speed threshold can be set according to actual needs, and this application does not impose any restrictions on this.
- Touch events can include the following three types of events: drop events (for example, MotionEvent.ACTION_DOWN), move events (for example, MotionEvent.ACTION_MOVE), and leave events (for example, MotionEvent.ACTION_UP).
- drop events for example, MotionEvent.ACTION_DOWN
- move events for example, MotionEvent.ACTION_MOVE
- leave events for example, MotionEvent.ACTION_UP.
- a complete touch display operation starts with a drop event, there may be no or one or more move events in the middle, and finally ends with a leave event. For example, in the process of a user clicking on the display with a finger, the user's finger falling on the display will trigger the electronic device to generate a drop event, and the user's finger leaving the display will trigger the electronic device to generate a leave event.
- the user's finger falling on the display will trigger the electronic device to generate a drop event
- the user's finger sliding on the display after falling on the display will trigger the electronic device to generate multiple move events
- the user's finger leaving the display will trigger the electronic device to generate a leave event.
- fling is an action that occurs after the user's finger leaves the display (that is, the finger is completely lifted).
- a user's finger falls on the display screen.
- the electronic device In response to the user operation, the electronic device generates a drop event and updates the focus window.
- the electronic device may perform a fling operation.
- the electronic device may calculate the current sliding speed by calling the computeCurrentVelocity() method.
- the electronic device can determine the sliding distance based on the coordinates of the drop event and the leave event, as well as the sliding duration (specifically, the duration between generating the drop event and generating the leave event), and then calculate the sliding speed based on the sliding distance and the sliding duration.
- the electronic device can determine whether the current screen refresh rate adjustment is greater than the first refresh rate threshold.
- the electronic device can determine whether it is a focus application and whether its interaction state is a fling state. Specifically, for the focus application or the application in the fling state among the N applications, the electronic device can keep its rendering frame rate the same as the current screen refresh rate.
- the electronic device can set (or adjust) its rendering frame rate to a rendering frame rate that is less than the current screen refresh rate.
- the first refresh rate threshold can be set according to actual needs, and this application does not limit this.
- the first refresh rate threshold can be 60 Hz.
- this application records the focus application or the application in the fling state among the N applications corresponding to the window displayed on the display screen of the electronic device as Class A applications, and records the non-focus application that is not in the fling state among the N applications as Class B applications.
- each time a VSync signal is generated when the current screen refresh rate is greater than the first refresh rate threshold, for Class A applications among the N applications, the electronic device can determine that its rendering frame rate is the current screen refresh rate; for Class B applications among the N applications, the electronic device can determine that its rendering frame rate is less than the current screen refresh rate.
- this application denotes the number of Category A applications in the N applications corresponding to the windows displayed on the display screen of an electronic device as u, and the number of Category B applications as s.
- u applications are in the fling state or are in focus
- this application may also record the current screen refresh rate as r, and the rendering frame rate set corresponding to the Class B application as Ri.
- i is an integer not greater than s. That is to say, the rendering frame rate set corresponding to the Class B application in the N applications corresponding to the window displayed on the display screen of the electronic device is ⁇ R1, ..., Ri, ..., Rs ⁇ .
- R1 to Rs are the rendering frame rates set for the s Class B applications in the N applications respectively.
- each time a VSync signal is generated if the current screen refresh rate is greater than a first refresh rate threshold, the electronic device may maintain the rendering frame rate of the Class A application among the N applications corresponding to the window displayed on the display screen of the electronic device at the current screen refresh rate.
- the rendering frame rate set for each of the u Class A applications among the N applications is r.
- r can be set according to actual needs and is not limited in this application.
- r can be 120 Hz.
- the specific value of r depends on the application requirements and type.
- each time a VSync signal is generated if the current screen refresh rate is greater than a first refresh rate threshold, the electronic device may set the rendering frame rate of a Class B application among the N applications corresponding to the window displayed on the display screen of the electronic device to a rendering frame rate that is less than the current screen refresh rate.
- Ri is less than r.
- the rendering frame rates set for the Class B applications among the N applications may be the lower limits of their corresponding target refresh rate ranges, that is, the lowest target refresh rates.
- the rendering frame rate of the Class B application in the N applications is set to be no less than a threshold 1, that is, Ri is no less than a threshold 1. It is understood that the threshold 1 can be set according to actual needs and is not limited in this application. For example, the threshold 1 can be 30 Hz.
- the electronic device when each VSync cycle arrives, when the current screen refresh rate is greater than the first refresh rate threshold, for Class B applications among the N applications corresponding to the window displayed by the electronic device on the display screen, when r is greater than the threshold 2, the electronic device can set its rendering frame rate to be less than r, that is, Ri is less than r, and when r is less than or equal to the threshold 2, the electronic device can set its rendering frame rate to be less than or equal to r, that is, Ri is less than or equal to r.
- the rendering frame rates (i.e., the adjusted rendering frame rates) set for the s Class B applications in the N applications can be the same or different.
- Ri can remain unchanged or change.
- an electronic device can display windows of Application 1, Application 2, Application 3, and Application 4 on a display screen, and the screen refresh rate of the electronic device is 60Hz.
- Application 1 is the focus application
- Application 2 is in the fling state
- Application 3 and Application 4 are neither the focus application nor in the fling state
- the highest target refresh rate corresponding to Application 1 is 120Hz.
- the electronic device can set the screen refresh rate to 120Hz, that is, the screen refresh rate changes from 60Hz to 120Hz, keep the rendering frame rate of Application 1 and Application 2 at 120Hz, and set the rendering frame rate of Application 3 and Application 4 to 60Hz.
- an electronic device can display windows of Application 1, Application 2, Application 3, and Application 4 on a display screen, and the screen refresh rate of the electronic device is 60Hz.
- Application 1 is the focus application
- Application 2 is in the fling state
- Application 3 and Application 4 are neither the focus application nor in the fling state
- the highest target refresh rate corresponding to Application 1 is 120Hz.
- the electronic device can set the screen refresh rate to 120Hz, that is, the screen refresh rate changes from 60Hz to 120Hz, maintain the rendering frame rate of Application 1 and Application 2 at 120Hz, set the rendering frame rate of Application 3 to 30Hz, and set the rendering frame rate of Application 4 to 60Hz.
- r k * Ri. That is, the rendering frame rate of the Class B application among the N applications corresponding to the window displayed on the electronic device's display screen can be divided by r, and the quotient is k.
- k is an integer greater than 1.
- k can be 1.
- k can be 3. It is understood that when s is greater than 1, k may or may not change.
- Ri and k remain unchanged for different values of i.
- r 120 Hz
- k 60 Hz
- the electronic device can display windows of Application 1, Application 2, Application 3, and Application 4 on the display screen, and the screen refresh rate of the electronic device is 60Hz.
- Application 1 is the focus application
- Application 2 is in the fling state
- Application 3 and Application 4 are neither the focus application nor in the fling state
- the highest target refresh rate corresponding to Application 1 is 120Hz.
- the electronic device can set the screen refresh rate to 120Hz, that is, the screen refresh rate changes from 60Hz to 120Hz, keep the rendering frame rate of Application 1 and Application 2 at 120Hz, set the rendering frame rate of Application 3 to 30Hz (divisible by 120Hz), and set the rendering frame rate of Application 4 to 45Hz (not divisible by 120Hz).
- S102 Rendering images of the N applications based on the rendering frame rates of the N applications respectively.
- the electronic device can render its picture (or the picture in its corresponding window) based on the current screen refresh rate.
- the electronic device can render its picture (or the picture in its corresponding window) based on its rendering frame rate that is lower than the current screen refresh rate.
- the VSync cycle (which can be understood as the interval between two adjacent VSync signals) changes with the change of the screen refresh rate, that is, the frequency of generating VSync signals changes with the change of the screen refresh rate, and the APP-VSync signal and SF-VSync signal are distributed based on the VSync cycle, which means that the distribution frequency of the App-VSync signal and SF-VSync signal will also change with the change of the VSync cycle.
- the electronic device can send the APP-VSync signal to the application at the frequency of generating the VSync signal. That is, each time the electronic device generates a VSync signal, it can generate an App-VSync signal based on the VSync signal and send the App-VSync signal to the application. Accordingly, after receiving the App-VSync signal, the application in the electronic device can start drawing and rendering the screen in its corresponding window.
- the electronic device may send an APP-VSync signal to the application according to a multiple of the current screen refresh rate and the rendering frame rate of the application.
- the electronic device when the rendering frame rate of the application is lower than the current screen refresh rate, the electronic device sends an App-VSync signal to the application at least every 2 VSync cycles.
- this application denotes the multiple of the rendering rate of the application closest to the current screen refresh rate as z, where z is a positive integer.
- the electronic device when z is greater than 1, after the electronic device generates a VSync signal, it can send an APP-VSync signal generated based on the VSync signal to the application, and then wait until z VSync cycles later when the VSync signal is generated again, and then send the APP-VSync signal generated based on the regenerated VSync signal to the application, and then repeat the above steps of sending the APP-VSync signal every z VSync cycles. It should be noted that when z is greater than 1, during the z VSync cycles, the electronic device can still generate a VSync signal according to the VSync cycle, but does not send the APP-VSync signal to the application. Correspondingly, after receiving the App-VSync signal, the application in the electronic device can start drawing and rendering the image in its corresponding window.
- this application denotes the quotient of the current screen refresh rate and the application's rendering frame rate as x.
- x is a positive integer. It is understood that x can be equal to z or z-1 (in which case z is at least 3).
- the electronic device when x is greater than 1, after the electronic device generates a VSync signal, it may send an APP-VSync signal generated based on the VSync signal to the application, and then wait until x VSync cycles later when the VSync signal is generated again, and then send an APP-VSync signal generated based on the regenerated VSync signal to the application, and then repeat the above step of sending an APP-VSync signal every x VSync cycles. It should be noted that when x is greater than 1, during the x VSync cycles, the electronic device can still generate VSync signals according to the VSync cycle, but will not send an APP-VSync signal to the application. Accordingly, after receiving the App-VSync signal, the application in the electronic device can start drawing and rendering the screen in its corresponding window.
- x and z may be equal to the k mentioned above.
- the electronic device when the rendering frame rate of an application is less than the current screen refresh rate, if the application requests an APP-VSync signal, and its rendering frame rate can be divided evenly by the current screen refresh rate, the electronic device can be based on a defined timing duration as a VSync software timer to remind the electronic device to send an APP-VSync signal to the application, that is, the electronic device can generate an App-VSync signal once every x VSync cycles (or z VSync cycles) based on the VSync software timer, and send the App-VSync signal to the application.
- the electronic device can set up an additional VSync software timer to remind the electronic device to send an App-VSync signal to the application.
- the timing duration defined by the additionally set VSync software timer is not the same as the VSync cycle.
- the timing duration defined by the additionally set VSync software timer is the inverse of the rendering frame rate of the application.
- each time the electronic device generates a VSync signal it can directly send the APP-VSync signal generated based on the VSync signal to the application, without adding a certain time offset to the generated VSync signal before sending the APP-VSync signal.
- each time the electronic device generates a VSync signal may add a certain time offset and then send an APP-VSync signal generated based on the VSync signal to the application.
- the electronic device when the electronic device executes step S101 and step S102, for each of the N applications, the electronic device may execute the steps shown in FIG8A , which may specifically include but are not limited to the following steps:
- the electronic device may determine whether the application is the current focus application. If the application is the current focus application, the electronic device may continue to perform step S202. If the application is not the current focus application, the electronic device may continue to perform step S203, that is, determine whether the application is in a fling state.
- the electronic device may determine that the rendering frame rate of the application is the current screen refresh rate and maintain the rendering frame rate.
- the electronic device may determine whether the application is in a fling state. If the application is in a fling state, the electronic device may continue to execute step S202; if the application is not in a fling state, the electronic device may continue to execute step S204.
- the electronic device may determine whether the current screen refresh rate is greater than threshold 2. If the current screen refresh rate is greater than threshold 2, the electronic device may continue to execute step S204; if the current screen refresh rate is less than or equal to threshold 2, the electronic device may execute step S202 or step S204, that is, the electronic device may determine that the rendering frame rate of the application is equal to or less than the current screen refresh rate.
- the electronic device can set the rendering frame rate of the application so that the corresponding rendering frame rate of the application is less than the current screen refresh rate.
- the specific setting method can refer to the relevant description of step S102, and this application will not repeat it here.
- S205 Send an App-VSync signal to the application based on the rendering frame rate of the application.
- the application may request an App-VSync signal. After determining that the application's rendering frame rate is equal to the current screen refresh rate, or setting the application's rendering frame rate to be less than the current screen refresh rate, if the application requests an App-VSync signal, the electronic device may send an App-VSync signal to the application based on the application's rendering frame rate.
- step S101 the VSync period will also change with the change of the current screen refresh rate.
- the electronic device can directly send an App-VSync signal to the application based on the VSync cycle. Specifically, after generating a VSync signal, the electronic device can directly send an APP-VSync signal obtained based on the VSync signal to the application, and then after generating a VSync signal next time, send an APP-VSync signal obtained based on the VSync signal to the application again, and repeat the above step of sending an APP-VSync signal obtained based on the VSync signal to the application again after generating a VSync signal next time.
- the electronic device can send an APP-VSync signal to the application based on the multiple relationship between the interval length and the VSync cycle (i.e., the multiple relationship between the current screen refresh rate and the rendering frame rate of the application).
- the specific implementation method can be referred to above and will not be repeated in this application.
- the electronic device can send an APP-VSync signal to the application by setting a timer (e.g., a first timer), and the timing duration defined by the timer is a VSync cycle. Specifically, the electronic device can determine how many VSync cycles to send an APP-VSync signal based on the multiple relationship between the current screen refresh rate and the rendering frame rate of the application, and send an APP-VSync signal to the application when the total timing duration of the VSync software timer reaches the corresponding VSync cycle.
- a timer e.g., a first timer
- this application refers to the thread where the timer is located as timer distribution thread 1. That is to say, regardless of whether the rendering frame rate of the application is equal to the current screen refresh rate or less than the current screen refresh rate, the electronic device can send an APP-VSync signal to the application through timer distribution thread 1.
- the timing duration defined by the timer in timer distribution thread 1 is one VSync cycle, or the timing duration corresponding to timer distribution thread 1 is one VSync cycle. This means that the timing duration corresponding to timer distribution thread 1 changes with the change of the VSync cycle, that is, it changes with the change of the current screen refresh rate.
- an electronic device may display windows corresponding to Application 1, Application 2, Application 3, Application 4, and Application 5 on a display screen.
- the electronic device may determine that the currently focused application is Focus 1, whose corresponding maximum target refresh rate is 120 Hz.
- the electronic device may then set the current screen refresh rate to 120 Hz, and the VSync period will correspondingly become 1/120 second, meaning the electronic device will generate a VSync signal every 1/120 second.
- the electronic device may generate a VSync signal each time the timing duration of Timer Distribution Thread 1 reaches its corresponding timing duration. Since Focus 1 is the focused application, the electronic device may determine that its rendering frame rate is 120 Hz.
- the electronic device may set the rendering frame rates of Application 2, Application 3, Application 4, and Application 5 to lower than 120 Hz. Specifically, the electronic device may set the rendering frame rates of Application 2 and Application 3 to 60 Hz, Application 4 to 45 Hz, and Application 5 to 90 Hz.
- the current screen refresh rate can be divided by the rendering frame rate set by application 2 and application 3, and the quotient of the current screen refresh rate divided by the rendering frame rate set by application 2/application 3 is 2, then the electronic device can send an APP-VSync signal to application 2 and application 3 every 2 VSync cycles.
- the current screen refresh rate cannot be divided by the rendering frame rate set by application 4, and (120-45*2)>(45*3-120), that is, with the current screen refresh rate
- the multiple of the rendering frame rate set for application 4, which is closest to the current screen refresh rate, is 3.
- the electronic device can send an APP-VSync signal to application 4 every 3 VSync cycles.
- the electronic device after the electronic device generates the first VSync signal, it can generate an APP-VSync signal and an SF-VSync signal based on the VSync signal.
- the electronic device can send an APP-VSync signal to Application 1, Application 2, Application 3, Application 4, and Application 5 for the first time, and send an SF-VSync signal to SurfaceFlinger for the first time.
- the electronic device After an interval of one VSync cycle (that is, the timer distribution thread 1 starts timing after generating the VSync signal until its timing duration reaches its defined timing duration), the electronic device can generate a second VSync signal and generate an APP-VSync signal and an SF-VSync signal based on the VSync signal.
- the electronic device can send an APP-VSync signal to Application 1 for the second time, and send an SF-VSync signal to SurfaceFlinger for the second time.
- the electronic device can generate a third VSync signal, and generate an APP-VSync signal and an SF-VSync signal based on the VSync signal.
- the electronic device can send an APP-VSync signal to application 1 for the third time, and send an APP-VSync signal to application 2, application 3, and application 5 for the second time, and send an SF-VSync signal to SurfaceFlinger for the third time.
- the electronic device can generate a fourth VSync signal, and generate an APP-VSync signal and an SF-VSync signal based on the VSync signal.
- the electronic device can send an APP-VSync signal to application 1 for the fourth time, send an APP-VSync signal to application 4 for the second time, and send an SF-VSync signal to SurfaceFlinger for the fourth time.
- the distribution of the APP-VSync signal for application 1, application 2, application 3, application 4, and application 5 is all completed by timer distribution thread 1, and the timing duration corresponding to timer distribution thread 1 is 1/120s.
- step S102 and step S103 when the electronic device executes step S102 and step S103, for each of the N applications corresponding to the window displayed on the display screen of the electronic device, the electronic device may execute the steps shown in FIG8B , which may specifically include but are not limited to the following steps:
- the electronic device may determine whether the application is the current focus application. If the application is the current focus application, the electronic device may continue to perform step S302. If the application is not the current focus application, the electronic device may continue to perform step S303, that is, determine whether the application is in a fling state.
- the electronic device may determine that the rendering frame rate of the application is the current screen refresh rate and maintain the rendering frame rate. In this case, the electronic device may execute step S306.
- the electronic device may determine whether the application is in a fling state. If the application is in a fling state, the electronic device may continue to execute step S302; if the application is not in a fling state, the electronic device may continue to execute step S304.
- the electronic device may determine whether the current screen refresh rate is greater than threshold 2. If the current screen refresh rate is greater than threshold 2, the electronic device may continue to execute step S304; if the current screen refresh rate is less than or equal to threshold 2, the electronic device may execute step S302 or step S304, that is, the electronic device may determine that the rendering frame rate of the application is equal to or less than the current screen refresh rate.
- the electronic device can adjust the rendering frame rate of the application so that the rendering frame rate set by the application is less than the current screen refresh rate.
- the specific adjustment method can refer to the relevant description of step S102, which will not be repeated here. In this case, the electronic device can continue to perform step S305.
- the electronic device can determine whether the rendering frame rate set by the application is divisible by the current screen refresh rate, that is, the electronic device can determine whether the current screen refresh rate is divisible by the rendering frame rate set by the application.
- the electronic device can execute step S306; if the rendering frame rate set by the application is not divisible by the current screen refresh rate (i.e., the current screen refresh rate is not divisible by the rendering frame rate set by the application), the electronic device can execute step S307.
- S306 Send an App-VSync signal to the application via timer distribution thread 1.
- the timing duration corresponding to timer distribution thread 1 is determined based on the current screen refresh rate.
- the electronic device can send an APP-VSync signal to the application through timer distribution thread 1.
- the timing duration corresponding to timer distribution thread 1 is one VSync cycle, that is, the inverse of the current screen refresh rate. The relevant description of timer distribution thread 1 can be found above and will not be repeated here in this application.
- the electronic device can use the timer distribution thread 1 to remind the application to send an APP-VSync signal once every x VSync cycles (or z VSync cycles).
- the electronic device after the electronic device generates a VSync signal, it can send an APP-VSync signal generated based on the VSync signal to the application, and then wait until x VSync cycles later (specifically, it can be determined through the timer distribution thread 1 that x VSync cycles have passed since the last time the APP-VSync signal was sent) to generate a VSync signal again, and then send an APP-VSync signal generated based on the regenerated VSync signal to the application, and then repeat the above steps of sending the APP-VSync signal every x VSync cycles.
- this application refers to the timer set in the timer distribution thread 1 as the first timer.
- the timing duration defined by the first timer is one VSync cycle.
- the first timer can be understood as the VSync software timer mentioned above.
- the electronic device can send the SF-VSync signal to SurfaceFlinger through the timer distribution thread 1. Specifically, when the timing duration of the first timer reaches its defined timing duration (i.e., a VSync cycle), the electronic device can generate a VSync signal, and then generate an SF-VSync signal based on the VSync signal. And send the SF-VSync signal to SurfaceFlinger. That is to say, every time the electronic device generates a VSync signal, it can generate a corresponding SF-VSync signal.
- S307 Send an App-VSync signal to the application via timer distribution thread 2.
- the timing duration corresponding to timer distribution thread 2 is determined based on the rendering frame rate set by the application.
- the electronic device may send an APP-VSync signal to the application through timer distribution thread 2.
- Timer distribution thread 2 is a thread independent of timer distribution thread 1, and its corresponding timing duration is the inverse of the rendering frame rate set for the application.
- an electronic device may display windows corresponding to Application 1, Application 2, Application 3, Application 4, and Application 5 on a display screen.
- the electronic device may determine that the currently focused application is Application 1, whose target refresh rate is 120 Hz.
- the electronic device may then set the current screen refresh rate to 120 Hz, and the VSync period will correspondingly become 1/120 second, meaning the electronic device will generate a VSync signal every 1/120 second.
- the electronic device may generate a VSync signal each time the timing duration of Timer Distribution Thread 1 reaches its corresponding timing duration. Since Application 1 is the focused application, the electronic device may determine that its rendering frame rate is 120 Hz.
- the electronic device may set the rendering frame rates of Application 2, Application 3, Application 4, and Application 5 to lower than 120 Hz. Specifically, the electronic device may adjust the rendering frame rates of Application 2 and Application 3 to 60 Hz, the rendering frame rate of Application 4 to 45 Hz, and the rendering frame rate of Application 5 to 90 Hz.
- the timing duration corresponding to the timer distribution thread 1 is one VSync cycle, and the electronic device can generate a VSync signal according to the timing duration corresponding to the timer distribution thread 1, and send an APP-VSync signal to the application 1.
- the current screen refresh rate can be divided by the rendering frame rates set by Application 2 and Application 3, and the electronic device can send an APP-VSync signal to Application 2 and Application 3 once every 2 VSync cycles through Timer Distribution Thread 1.
- the current screen refresh rate cannot be divided by the rendering frame rate set by Application 4, nor can it be divided by the rendering frame rate set by Application 5, but there is a multiple relationship of 2 between the rendering frame rate set by Application 4 and the rendering frame rate set by Application 5.
- the electronic device can send an APP-VSync signal to Application 4 and Application 5 through Timer Distribution Thread 2, and the timing duration corresponding to Timer Distribution Thread 2 can be determined based on the highest frame rate among the rendering frame rates set by Application 4 and Application 5, that is, Timer Distribution Thread 2 can be the inverse of the rendering frame rate set by Application 5, that is, 1/90s.
- the timing duration corresponding to Timer Distribution Thread 2 is 4/3 of the VSync cycle.
- timer distribution thread 1 and timer distribution thread 2 start timing synchronously.
- the following example illustrates the specific process of timer distribution thread 1 sending APP-VSync signal:
- the electronic device after the electronic device generates the first VSync signal, it can generate an APP-VSync signal and an SF-VSync signal based on the VSync signal.
- the electronic device can send the APP-VSync signal to Application 1, Application 2, and Application 3 for the first time, and send the SF-VSync signal to SurfaceFlinger for the first time.
- the electronic device After a VSync cycle (that is, the timer distribution thread 1 starts timing after generating the first VSync signal until its timing duration reaches its defined timing duration), the electronic device can generate a second VSync signal, and generate an APP-VSync signal and an SF-VSync signal based on the VSync signal.
- the electronic device can send an APP-VSync signal to Application 1 for the second time, and send an SF-VSync signal to SurfaceFlinger for the second time.
- the electronic device can generate a third VSync signal, and generate an APP-VSync signal and an SF-VSync signal based on the VSync signal.
- the electronic device can send an APP-VSync signal to Application 1 for the third time, and send an APP-VSync signal to Application 2, Application 3 and Application 5 for the second time, and send an SF-VSync signal to SurfaceFlinger for the third time.
- the electronic device can generate a fourth VSync signal and generate an APP-VSync signal and an SF-VSync signal based on the VSync signal.
- the electronic device can send an APP-VSync signal to application 1 for the fourth time, send an APP-VSync signal to application 4 for the second time, and send an SF-VSync signal to SurfaceFlinger for the fourth time.
- timer distribution thread 2 and timer distribution thread 1 sending APP-VSync signals to the application is independent and synchronous.
- the following example illustrates the specific process of timer distribution thread 2 sending APP-VSync signals:
- the electronic device after the electronic device generates the first VSync signal, it can generate an APP-VSync signal and an SF-VSync signal based on the VSync signal. In this case, the electronic device can send the APP-VSync signal to Application 4 and Application 5 for the first time. After an interval of 4/3 VSync cycles (i.e., timer distribution thread 2 starts timing after generating the first VSync signal until its timing reaches its defined timing duration), the electronic device can send the APP-VSync signal to Application 5 for the second time.
- an interval of 4/3 VSync cycles i.e., timer distribution thread 2 starts timing after generating the first VSync signal until its timing reaches its defined timing duration
- the electronic device can send the APP-VSync signal to Application 5 for the third time and the APP-VSync signal to Application 4 for the second time.
- the electronic device can send the APP-VSync signal to Application 5 for the fourth time.
- this application refers to the timer set in timer distribution thread 2 as the second timer.
- the timing duration defined by the second timer is the inverse of the rendering frame rate set for the application (i.e., the adjusted rendering frame rate corresponding to the application).
- the second timer can be understood as the VSync software timer mentioned above.
- the electronic device can determine whether there is a multiple relationship between the rendering frame rates set by the multiple applications. If there is a multiple relationship between the rendering frame rates set by the multiple applications, the electronic device can send APP-VSync signals to the multiple applications through timer distribution thread 2.
- the electronic device can also set one or more timer distribution threads to send APP-VSync signals to other applications in the multiple applications.
- the electronic device can display windows corresponding to Application 1, Application 2, Application 3, Application 4, Application 5, and Application 6 on the display screen.
- Application 1 is the focus application, and its corresponding target refresh rate is 120Hz, then the electronic device can adjust the current screen refresh rate to 120Hz.
- Application 2, Application 3, Application 4, Application 5, and Application 6 are all non-focus applications that are not in the fling state.
- the rendering frame rate of Application 1-Application 5 is the same as the rendering frame rate of Application 1-Application 5 shown in Figures 9A and 9B, while the corresponding rendering frame rate of Application 6 is set to 50Hz.
- the electronic device can send APP-VSync signals to Application 1, Application 2, and Application 3 through timer distribution thread 1, and send APP-VSync signals to Application 4 and Application 5 through timer distribution thread 2.
- the rendering frame rate set for application 6 cannot be divided evenly by the current screen refresh rate, and there is no multiple relationship between the rendering frame rate set for application 6 and the rendering frame rate set for application 4, and there is no multiple relationship between the rendering frame rate set for application 6 and the rendering frame rate set for application 5.
- the electronic device can send an APP-VSync signal to application 6 through timer distribution thread 3.
- timer distribution thread 3 is a thread independent of timer distribution thread 1 and timer distribution thread 2, and its corresponding timing duration is the reciprocal of the rendering frame rate set for application 6. Similar to timer distribution thread 1 and timer distribution thread 2, a timer can also be set in timer distribution thread 3, and the timing duration defined by the timer in timer distribution thread 3 is the reciprocal of the rendering frame rate set for application 6.
- S103 Displaying the images of the N applications on the display screen according to the current screen refresh rate.
- the electronic device After the electronic device renders the images of the N applications (or the images in the windows of the N applications), it can display the images of the N applications on the display screen according to the current screen refresh rate.
- the N applications there may be some applications whose rendering frame rate is lower than the current screen refresh rate, and SurfaceFlinger synthesizes the layer according to the current screen refresh rate, and the display screen displays according to the current screen refresh rate.
- SurfaceFlinger when SurfaceFlinger is preparing to synthesize the layer, the applications whose rendering frame rate is lower than the current screen refresh rate may not have rendered a new image. In this case, the applications whose rendering frame rate is lower than the current screen refresh rate can send the previous frame of image rendered by them to SurfaceFlinger for synthesis.
- the windows of N applications displayed on the display screen of the electronic device may include M windows, where M is an integer not less than N.
- M is an integer not less than N.
- one application may correspond to one window or multiple windows, and this application does not impose any restrictions on this.
- N may be 2, and the electronic device may display window 1a and window 2a on the display screen.
- Window 1a is a window corresponding to a video application
- window 2a is a window corresponding to a reading application.
- the electronic device creates window 1a after launching the video application, and similarly, creates window 2a after launching the reading application.
- N can be 2, and the electronic device can display window 3a, window 3b, and window 2a on the display screen.
- Window 3a and window 3b correspond to a shopping application
- window 2a corresponds to a reading application.
- the electronic device creates window 3a and window 3b after launching the shopping application.
- N application windows on a display screen the number of applications that have been launched is not less than N.
- the electronic device can launch more than N applications, but only displays the windows of the N applications on the display screen, and other launched applications can run in the background.
- the operating system of the electronic device can adopt a layered architecture, an event-driven architecture, a micro-kernel architecture, a microservice architecture, or a cloud architecture.
- the embodiment of the present application takes the Android operating system with a layered architecture as an example to illustrate the software structure of the electronic device. It should be noted that although the embodiment of the present application is described using the Android operating system (which may be referred to as the Android system) as an example, its basic principles are also applicable to electronic devices based on operating systems such as iOS or Windows.
- FIG10 is a schematic diagram of the software structure of an electronic device provided in an embodiment of the present application.
- the software structure of an electronic device adopts a layered architecture, which divides the software into several layers, each with a clear role and division of labor. Layers communicate with each other through software interfaces.
- the Android system's software structure is divided into five layers: from top to bottom, the application layer, the application framework layer (Framework), the Android runtime (Android runtime) and system library, the hardware abstraction layer (HAL), and the kernel layer (Kernel).
- the application layer can include a series of application packages.
- Application packages may include applications such as camera, gallery, calendar, call, map, WLAN, Bluetooth, music, video, short message, etc.
- the application layer can also include system UI (System User Interface, system UI). System UI is used to display the interface of the electronic device, such as displaying the signal icon corresponding to the SIM card, displaying the call interface, etc.
- the application layer can also include application 1 and application 2. It is understandable that application 1 can be a system application or a third-party application. Similarly, application 2 can be a system application or a third-party application.
- the application framework layer provides an application programming interface (API) and programming framework for applications in the application layer.
- the application framework layer may include predefined functions.
- the application framework layer may include a window manager (WM) and a view system.
- the WM is used to manage system and application windows (e.g., adding, removing, and updating) and draw them. Its main functions include window creation and management, window hierarchy management, window event distribution, window management for external applications, and window style control.
- the view system is used to build applications, specifically drawing and rendering the application's display interface (or user interface).
- a user interface can be composed of one or more views.
- the view system can call upon the 3D graphics processing library and 2D graphics engine in the system library to draw the user interface.
- the view system may include a rendering orchestrator (or rendering manager), also known as Choreographer.
- Choreographer works with the VSync mechanism to provide a stable drawing processing window for upper-layer applications. Specifically, when the VSync cycle arrives, the electronic device can wake up Choreographer to perform the application's drawing and rendering operations. Choreographer plays a connecting role in the Android rendering chain.
- the application framework layer may also include an input event management module.
- the input event management module can collect, process, and distribute various input events (e.g., key events, touch events, etc.).
- the input event management module may be inputflinger.
- Inputflinger is a service responsible for processing input events. It can receive raw input events from hardware devices and convert them into events that the Android system can understand, such as touch events.
- the application framework layer may also include widgets.
- Widgets may include OverScrollers. OverScrollers are classes that can add listeners to the user interface to determine whether the current interactive state of the user interface is a fling state.
- the application framework layer can also include a surface control interface.
- the surface control interface can be used to implement WM and Interaction with SurfaceFlinger.
- the surface control interface may be surfaceControl.
- the runtime is responsible for system scheduling and management. It consists of core libraries and a virtual machine.
- the core libraries consist of two parts: one containing the functions called by programming languages (e.g., Java) and the other containing the system's core libraries.
- the application layer and application framework layer run in the virtual machine.
- the virtual machine executes the application layer and application framework layer programming files (e.g., Java files) as binary files.
- the virtual machine manages object lifecycles, stacks, threads, security, exceptions, and garbage collection.
- the system library can include multiple functional modules. For example, SurfaceFlinger, Media Libraries, 3D graphics processing libraries (e.g., OpenGL ES), and 2D graphics engines (e.g., SGL).
- SurfaceFlinger is responsible for managing the UI display of all applications. By interacting with the Hardware Abstraction Layer (HAL) and GPU driver, it is also responsible for composing application UI elements (such as text, images, views, etc.) into a complete screen image.
- SurfaceFlinger can include a touch focus layer management module, a connection management module, a slide state management module, a Vsync signal modulation module, and a layer composition management module.
- the touch focus layer management module can be used to manage and maintain the focus window, specifically updating the focus window based on user operations.
- connection management module can be used to manage and maintain the connection channel between SurfaceFlinger and the application (also understood as the distribution channel for the App-VSync signal).
- the connection channel can be a socket channel (or socket connection).
- the slide state management module can be used to manage and update the window interaction state (e.g., the application interaction state mentioned above), specifically including the slide state (including the fling state and the non-fling state).
- the Vsync signal modulation module can be used to distribute App-VSync signals to applications based on their rendering frame rates.
- the layer composition management module can be used to combine UI elements from different applications, and/or multiple UI elements from a single application, into a complete screen image. It is understood that the specific meanings and functions of other functional modules in the system library can be found in the relevant technical documentation and will not be explained in detail here.
- the Hardware Abstraction Layer is an interface layer between the operating system kernel and upper-level software. Its purpose is to abstract the hardware.
- the HAL is an abstract interface driven by the device kernel, providing application programming interfaces (APIs) that access the underlying device to higher-level Java API frameworks.
- APIs application programming interfaces
- the HAL provides a standard interface that exposes device hardware capabilities to higher-level Java API frameworks.
- the HAL consists of multiple library modules (for example, the camera HAL, audio HAL, etc.). When the system framework API requests access to the portable device's hardware, the operating system loads the library module for that hardware component.
- the kernel layer is the foundation of the Android system. It is responsible for hardware drivers, networking, power supply, system security, and memory management.
- the kernel layer acts as an intermediate layer between hardware and software, relaying application requests to the hardware.
- the kernel layer includes audio drivers, display drivers, camera drivers, and sensor drivers.
- the audio driver acting as an intermediate layer between audio software and audio hardware, relays access requests to the audio hardware from upper-layer software modules.
- FIGS 11A and 11B are flowcharts of another image display method provided in an embodiment of the present application.
- the method may include but is not limited to the following steps:
- the user can trigger the electronic device to start application 1. After receiving the user operation to trigger the start of application 1, the electronic device can create a window of application 1 through the WM startup window creation process.
- WM can send application connection request 1 to SurfaceFlinger through the surface control interface.
- SurfaceFlinger can receive application connection request 1 sent by WM through the surface control interface.
- application connection request 1 may include the package name of application 1.
- the package name is a unique identification string for the application, which is usually named in reverse domain name to ensure global uniqueness of the package name.
- SurfaceFlinger can obtain the user identification (UID) and process identification (PID) of application 1 through the Binder mechanism.
- the Binder mechanism is an interprocess communication (IPC) mechanism.
- IPC interprocess communication
- Different operating systems have their own IPC mechanisms.
- Traditional methods of process communication include sockets, pipes, shared memory, and message queues.
- a UID can be used to uniquely identify an application.
- Each application is assigned a unique UID, which determines the application's access rights to system resources.
- each process has a unique PID.
- the system automatically assigns a PID to the corresponding process.
- the PID is assigned by the system while the process is running and does not represent a specific process. While a process is running, its PID does not change, but after the process terminates, its PID is recycled by the system. The system may reassign the recycled PID to another newly running program.
- S3 SurfaceFlinger creates a window for application 1, establishes connection channel 1 with application 1, and manages information related to application 1.
- SurfaceFlinger After SurfaceFlinger receives application connection request 1 sent by WM through the surface control interface, it can create a window of application 1 and establish a connection channel with application 1, namely connection channel 1. It can also manage application 1 related information carried in application connection request 1 (for example, the package name of application 1).
- connection channel may be a socket channel.
- the application 1 related information may further include the UID and PID of the application 1.
- the application connection request 1 sent by WM through the surface control interface it may obtain the UID and PID of the application 1 through the binder mechanism.
- SurfaceFlinger manages information related to application 1, which can also be understood as storing mapping information between application 1 and its corresponding package name, UID, and PID in SurfaceFlinger and maintaining the mapping information.
- the electronic device when the display screen displays the window of the application 1, the user can operate the window of the application 1. Accordingly, the electronic device can detect the user operation on the window of the application 1, In response to the user operation, the electronic device may update the user interface in the window of Application 1. It is understood that the present application does not impose any specific restrictions on the user operation on the window of Application 1.
- the user may trigger the electronic device to start application 2.
- the electronic device may create a window of application 2 through the WM startup window creation process.
- the present application does not limit the order in which the electronic device executes step S1 and step S4. That is, the electronic device can first start application 1 in response to the corresponding user operation, or can first start application 2 in response to the corresponding user operation.
- WM can send application connection request 2 to SurfaceFlinger through the surface control interface.
- SurfaceFlinger can receive application connection request 2 sent by WM through the surface control interface.
- application connection request 2 may include the package name (Package Name) of application 2.
- SurfaceFlinger may obtain the UID and PID of application 2 through a Binder mechanism.
- S6 SurfaceFlinger creates a window for application 2, establishes connection channel 2 with application 2, and manages information related to application 2.
- SurfaceFlinger After SurfaceFlinger receives application connection request 2 sent by WM through the surface control interface, it can create a window for application 2 and establish a connection channel with application 2, namely connection channel 2. It can also manage application 2 related information carried in application connection request 2 (for example, the package name of application 2).
- the application 2 related information may further include the UID and PID of the application 2.
- the application connection request 2 sent by WM through the surface control interface it may obtain the UID and PID of the application 2 through the binder mechanism.
- SurfaceFlinger manages information related to application 2, which can also be understood as storing mapping information between application 2 and its corresponding package name, UID, and PID in SurfaceFlinger, and maintaining the mapping information.
- SurfaceFlinger may store mapping information between multiple applications (eg, application 1 and application 2) and their corresponding package names, UIDs, and PIDs.
- SurfaceFlinger may store information related to application 1 (also referred to as mapping information of application 1) and information related to application 2 (also referred to as mapping information of application 2). Specifically, SurfaceFlinger may store the information shown in Table 2. As shown in Table 2, the connection channel corresponding to application 1 is connection channel 1, which may be referred to as con1 for short, and the package name of application 1 is com.example.app1, and the UID and PID of application 1 are 11 and 213 respectively. The connection channel corresponding to application 2 is connection channel 2, which may be referred to as con2 for short, and the package name of application 2 is com.example.app2, and the UID and PID of application 2 are 12 and 862 respectively.
- connection channel corresponding to application 1 is connection channel 1, which may be referred to as con1 for short, and the package name of application 1 is com.example.app1, and the UID and PID of application 1 are 11 and 213 respectively.
- connection channel corresponding to application 2 is connection channel 2, which may be referred to as con
- the input event management module detects a touch operation on the window of application 2.
- the user can touch the window of application 2, and accordingly, the hardware device of the electronic device (for example, a display screen) can generate an original input event.
- the input event management module in the electronic device can collect and obtain the original input events, and process the original input events (for example, preprocessing and classification) to obtain touch events (or touch events). It can also be understood that the input event management module converts the original input events into objects of a more advanced class (that is, events that can be understood by the Android system mentioned above). The above process can be understood as the input event management module detecting a touch operation acting on the window of application 2.
- the touch event obtained by the input event management module based on the touch operation on the window of application 2 may be a drop event (eg, MotionEvent.ACTION_DOWN).
- the window of application 2 may be window w2 as shown in FIG6A .
- the input event management module can detect the touch operation on the window of application 2.
- the input event management module can collect the original input event and process it to obtain MotionEvent.ACTION_DOWN.
- the window of application 2 may be window 2a as shown in FIG7D .
- the input event management module may detect the touch operation on the window of application 2.
- the input event management module may collect the original input event and process it to obtain MotionEvent.ACTION_DOWN.
- the input event management module notifies the WM to process the touch event.
- the input event management module After the input event management module converts the original input event into a touch event, it can notify the WM to process the touch event. In some embodiments of the present application, the input event management module can notify the WM to process the touch event by sending a message to the WM.
- a touch event may carry position information (eg, coordinates of a touch point on a display screen).
- the WM can determine the focus window. Specifically, the WM can determine that the focus window is the window of application 2. In some embodiments of the present application, the WM can determine the focus window based on the position information carried by the touch event. For example, if the coordinates of the touch point carried by the touch event mentioned in step S8 are within the range where the window of application 2 is located, the WM can determine that the window of application 2 is the focus window. In some embodiments of the present application, the WM can specifically determine the focus window based on the position information carried by the touch event, and can also determine that the application corresponding to the focus window is the focus application. In some embodiments of the present application, the WM can determine the focus window by calling the handleTaskFocusChange method.
- WM After WM determines the focus window, it can send the focus window related information to SurfaceFlinger through the surface control interface.
- SurfaceFlinger can receive the focus window related information sent by WM through the surface control interface.
- the focus window related information may include an identifier corresponding to the focus window.
- WM and SurfaceFlinger may add an identifier to the window during the process of creating the application window, and SurfaceFlinger may store the mapping information between the identifier corresponding to the window and the application package name, UID, and PID. It is understood that the identifier corresponding to the window can be represented by numbers, symbols, text, etc., and this application does not limit its specific representation method.
- the focus window related information may further include related information of the application corresponding to the focus application (eg, package name, UID, PID, etc.).
- the focus window related information may include com.example.app2.
- WM can send focus application related information to SurfaceFlinger by calling the setFocusedWindow method.
- S11 SurfaceFlinger updates the focused app and/or focused window.
- SurfaceFlinger After SurfaceFlinger receives the focus window related information sent by WM through the surface control interface, it can update the focus application and/or focus window based on the focus window related information. Specifically, SurfaceFlinger can update the focus application to application 2 and/or update the focus window to the window of application 2.
- SurfaceFlinger after SurfaceFlinger updates the focus application and/or focus window, it can set the screen refresh rate to the highest target refresh rate corresponding to the updated focus application. Specifically, SurfaceFlinger can set the screen refresh rate to the highest target refresh rate corresponding to application 2.
- application 2 corresponds to multiple windows
- SurfaceFlinger can determine that among the multiple windows corresponding to application 2, the window with the same corresponding identifier as the window identifier in the focus application related information is the focus window.
- SurfaceFlinger can record the focus application and/or focus window. In some embodiments of the present application, SurfaceFlinger can record the identifier corresponding to the focus window. In some embodiments of the present application, SurfaceFlinger can record the package name or UID corresponding to the focus application.
- SurfaceFlinger can set the screen refresh rate based on the target refresh rate range corresponding to the focus application. Not only can the screen refresh rate be set to the highest target refresh rate corresponding to the focus application, but the screen refresh rate can also be set to lower than the highest target refresh rate corresponding to the focus application under certain conditions (for example, no user operation).
- the specific method can be referred to above, and this application will not go into details here.
- S12 SurfaceFlinger synchronizes the updated focus application and/or focus window to the input event management module.
- SurfaceFlinger updates the focus application and/or focus window, it can notify the input event management module of the updated focus application and/or focus window, that is, synchronize the updated focus application and/or focus window to the input event management module.
- the input event management module detects a sliding and hand-raising operation on the window of application 2.
- the hardware device of the electronic device for example, a display screen
- the input event management module in the electronic device can collect and obtain the series of original input events, and process them (for example, preprocessing and classification) to obtain a series of touch events.
- the above process can be understood as the input event management module detecting the sliding and raising operation on the window of application 2.
- the touch event obtained by the input event management module based on the sliding operation on the window of application 2 may be a move event (e.g., MotionEvent.ACTION_MOVE).
- the touch event obtained by the input event management module based on the hand-raising operation on the window of application 2 may be a leave event (e.g., MotionEvent.ACTION_UP).
- the input event management module when the input event management module detects a sliding and hand-raising operation on the window of application 2, the input event management module may obtain one or more moving events and one leaving event.
- the window of application 2 may be window w2 as shown in FIG6A .
- the input event management module may detect the sliding operation on the window of application 2.
- the input event management module may collect a series of raw input events and process them to obtain a series of MotionEvent.ACTION_MOVE.
- the window of application 2 may be window 2a as shown in FIG7D .
- the input event management module may detect the sliding operation on the window of application 2.
- the input event management module may collect the original input event and process it to obtain MotionEvent.ACTION_MOVE.
- the window of application 2 may be window w2 as shown in FIG6A .
- the input event management module may detect the hand-raising operation on the window of application 2.
- the input event management module may collect the original input event and process it to obtain MotionEvent.ACTION_UP.
- the window of application 2 may be window 2a as shown in FIG7E .
- the input event management module may detect the hand-lift operation on the window of application 2.
- the input event management module may collect the original input event and process it to obtain MotionEvent.ACTION_UP.
- the input event management module when the input event management module detects the sliding and hand-raising operations acting on the window of application 2, the input event management module can continuously obtain touch events (that is, the series of touch events mentioned above), and the input event management module can continuously notify WM to process touch events.
- a user places their finger on the area of the display screen displaying the window of Application 2 and slides it across the display screen. Then, the user can lift their finger off the display screen. If the sliding speed of the user interface in the window of Application 2 exceeds a speed threshold when the user lifts their finger, the sliding component can detect the fling operation.
- the slider can process the fling operation.
- the slider can determine the status of the fling operation and synchronize the fling operation status to SurfaceFlinger.
- the fling operation status can include start (i.e., START) and end (i.e., END).
- the interaction state related information may include the state information of the fling operation corresponding to the application (also referred to as the state information of the fling operation corresponding to the application window).
- the interaction state related information corresponding to application 2 may include the state of the fling operation corresponding to application 2.
- the sliding component can detect the fling operation. After the sliding component detects the fling operation, the sliding component can determine that the state of the fling operation is START and send the state information to SurfaceFlinger. The sliding component can continue to process the fling operation and when the sliding of the user interface in the window of application 2 stops (that is, the sliding speed is 0), determine that the state of the fling operation is END and send the state information to SurfaceFlinger.
- the sliding component can detect that multiple applications have triggered a fling operation. For example, the user can first slide and lift their hand in the area where the window of application 2 is displayed on the display screen. Accordingly, the sliding component can detect that the state of the fling operation corresponding to application 2 is START and send the status information to SurfaceFlinger. Furthermore, the user can slide and lift their hand in the area where the window of application 1 is displayed on the display screen. Before the sliding component detects that the state of the fling operation corresponding to application 2 has changed to END, it detects that the state of the fling operation corresponding to application 1 is START. The sliding component can still send the status information to SurfaceFlinger. In this case, the user interface in the window of application 1 and the user interface in the window of application 2 are both in the fling state for a period of time.
- the sliding component can monitor the status of the fling operation by adding a stub and promptly synchronize the status of the fling operation to SurfaceFlinger. Specifically, after the sliding component adds the stub, it can monitor the start and end of the fling operation corresponding to the window of application 2, and after monitoring the status of the fling operation as START, send the status information to SurfaceFlinger, and after monitoring the status of the fling operation as END, send the status information to SurfaceFlinger.
- the information related to the interaction state may include not only the status information of the fling operation corresponding to the application, but also the UID and/or package name of the application.
- the information related to the interaction state corresponding to application 2 may include the status of the fling operation corresponding to application 2, the UID of application 2 (e.g., 12), and the package name of application 2 (e.g., com.example.app2).
- S16 SurfaceFlinger updates the interaction state corresponding to application 2 based on the information related to the interaction state corresponding to application 2.
- SurfaceFlinger After SurfaceFlinger receives the information about the interaction state of application 2 sent by the sliding component, it can determine the Does the status information of the fling operation in the interaction state related information include START or END. If the status information of the fling operation in the interaction state related information corresponding to application 2 includes START, SurfaceFlinger can determine that the interaction state corresponding to application 2 is the fling state, that is, application 2 is in the fling state, and SurfaceFlinger can update the interaction state of application 2 to the fling state.
- SurfaceFlinger can determine that the interaction state corresponding to application 2 is the non-fling state, that is, application 2 is not in the fling state, and SurfaceFlinger can update the interaction state of application 2 to the non-fling state.
- SurfaceFlinger can generate VSync signals according to the VSync period (i.e., the inverse of the screen refresh rate). Each time SurfaceFlinger generates a VSync signal, it can determine whether the current screen refresh rate is greater than the first refresh rate threshold. If the current screen refresh rate is greater than the first refresh rate threshold, SurfaceFlinger can continue to execute step S18.
- S18 SurfaceFlinger determines the rendering frame rates of application 1 and application 2 based on the focus application and/or focus window and the interaction states corresponding to application 1 and application 2.
- SurfaceFlinger determines whether the current screen refresh rate is greater than a first refresh rate threshold, SurfaceFlinger can determine the rendering frame rates of application 1 and application 2 based on the focus application and/or focus window, and the interaction state corresponding to application 1 and application 2. Specifically, if application 1 is the focus application or is in the fling state, SurfaceFlinger can determine that the rendering frame rate of application 1 is the current screen refresh rate; if application 1 is a non-focus application that is not in the fling state, SurfaceFlinger can determine that the rendering frame rate of application 1 is less than the current screen refresh rate.
- SurfaceFlinger can determine that the rendering frame rate of application 2 is the current screen refresh rate; if application 2 is a non-focus application that is not in the fling state, SurfaceFlinger can determine that the rendering frame rate of application 2 is less than the current screen refresh rate.
- step S18 can refer to the relevant description of step S101, and this application will not go into details here.
- S19 SurfaceFlinger sends an APP-VSync signal to the rendering orchestrator based on the rendering frame rate of application 1 by connecting to channel 1.
- Step S102 After SurfaceFlinger determines the rendering frame rate of application 1, it can send an APP-VSync signal to the rendering orchestrator based on the rendering frame rate of application 1 through connection channel 1.
- the specific implementation method can refer to the relevant description of step S102 and step S103, which will not be repeated in this application.
- the rendering orchestrator can receive the APP-VSync signal sent by SurfaceFlinger through connection channel 1.
- the rendering orchestrator After the rendering orchestrator receives the APP-VSync signal sent by SurfaceFlinger through connection channel 1, it can initiate the rendering process corresponding to application 1, that is, wake up the UI thread of application 1 for drawing and rendering.
- S21 SurfaceFlinger sends the rendering frame rate of application 2 to the rendering orchestrator through connection channel 2 APP-VSync signal.
- Step S102 After SurfaceFlinger determines the rendering frame rate of application 2, it can send an APP-VSync signal to the rendering orchestrator based on the rendering frame rate of application 2 through connection channel 2.
- the specific implementation method can refer to the relevant description of step S102 and step S103, which will not be repeated in this application.
- the rendering orchestrator can receive the APP-VSync signal sent by SurfaceFlinger through connection channel 2.
- the rendering orchestrator After the rendering orchestrator receives the APP-VSync signal sent by SurfaceFlinger through connection channel 2, it can initiate the rendering process corresponding to application 2, that is, wake up the UI thread of application 2 for drawing and rendering.
- FIG12 is a schematic diagram of the hardware structure of an electronic device provided in an embodiment of the present application.
- the electronic device may include: a processor, an external memory interface, an internal memory, a Universal Serial Bus (USB) interface, a charging management module, a power management module, a battery, antenna 1, antenna 2, a mobile communication module, a wireless communication module, a sensor module, a button, a motor, an indicator, a camera, a display, and a Subscriber Identity Module (SIM) card slot, etc.
- a processor an external memory interface
- an internal memory a Universal Serial Bus (USB) interface
- USB Universal Serial Bus
- the audio module may include a speaker, a receiver, a microphone, an earphone interface, etc.
- the sensor module may include a pressure sensor, a gyroscope sensor, an air pressure sensor, a magnetic sensor, an acceleration sensor, a distance sensor, a proximity light sensor, a fingerprint sensor, a temperature sensor, a touch sensor, an ambient light sensor, a bone conduction sensor, etc.
- the structure illustrated in the embodiments of the present application does not constitute a specific limitation on the electronic device. It is understandable that the illustrated components can be implemented in hardware, software, or a combination of software and hardware.
- the electronic device may include more components than illustrated.
- the electronic device may include other types of sensors.
- the electronic device may include fewer components than illustrated, or combine certain components, or split certain components, or arrange the components differently.
- the interface connection relationship between the modules illustrated in the embodiments of the present application is only a schematic illustration and does not constitute a structural limitation on the electronic device.
- a processor may include one or more processing units.
- a processor may include an application processor (AP), a modem (also called a baseband processor), a graphics processing unit (GPU), an image signal processor (ISP), a controller, a video codec, a digital signal processor (DSP), and/or a neural network processing unit (NPU).
- An AP is a processor responsible for running the operating system and applications.
- a modem is a processor responsible for handling various communication protocols.
- the wireless communication function of the electronic device can be implemented through antenna 1, antenna 2, a mobile communication module, a wireless communication module, and a modem.
- the modem can interact with the base station through antennas (e.g., antenna 1, antenna 2, etc.).
- antenna 1 of the electronic device is coupled to the mobile communication module
- antenna 2 is coupled to the wireless communication module, allowing the electronic device to communicate with the network and other devices using wireless communication technologies.
- Electronic devices can achieve display functions through GPU, display, and application processor.
- a GPU is a microprocessor for image processing that connects the display screen and the application processor.
- the GPU is used to perform mathematical and geometric calculations for graphics rendering.
- the processor may include one or more GPUs that execute program instructions to generate or change display information.
- the display screen is used to display images, videos, etc.
- the electronic device may include one or more display screens.
- a camera is used to capture still images or video.
- An ISP processes the data from the camera. Light passes through the lens and is transmitted to the camera's photosensitive element, where it is converted into an electrical signal. The camera's photosensitive element then transmits this electrical signal to the ISP for processing, transforming it into a visible image.
- An electronic device may include one or more cameras.
- Internal memory can include one or more RAMs and one or more non-volatile memories (NVMs).
- RAM can be read and written directly by the processor and can be used to store executable programs (e.g., machine instructions) for the operating system or other running programs, as well as user and application data.
- NVM can also store executable programs and user and application data, and can be pre-loaded into RAM for direct reading and writing by the processor.
- the code for implementing the method described in the embodiment of the present application may be stored in a non-volatile memory.
- the electronic device may load the executable code stored in the non-volatile memory into the random access memory.
- the external memory interface can be used to connect to an external non-volatile memory to expand the storage capacity of the electronic device.
- Electronic devices can implement audio functions through audio modules, speakers, receivers, microphones, headphone jacks, and application processors.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Controls And Circuits For Display Device (AREA)
Abstract
Des modes de réalisation de la présente demande concernent un procédé d'affichage d'image et un produit associé. Dans le procédé, lorsqu'un dispositif électronique affiche une pluralité de fenêtres d'une pluralité d'applications en même temps, pour une application au premier plan et une application dont l'état d'interaction est un état de lancer, le dispositif électronique peut effectuer un tracé et un rendu au moyen d'une fréquence de trame de rendu égale à une fréquence de rafraîchissement d'écran actuelle, et pour une application hors premier plan dont l'état d'interaction est un état hors lancer, le dispositif électronique peut effectuer un tracé et un rendu au moyen d'une fréquence de trame de rendu inférieure à la fréquence de rafraîchissement d'écran actuelle. Ce procédé peut éviter un rendu inutile provoqué par l'utilisation d'une fréquence de trame de rendu élevée pour une application hors premier plan, ce qui permet de réduire la charge du système et la consommation d'énergie.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| PCT/CN2024/088577 WO2025217876A1 (fr) | 2024-04-18 | 2024-04-18 | Procédé d'affichage d'image et dispositif associé |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| PCT/CN2024/088577 WO2025217876A1 (fr) | 2024-04-18 | 2024-04-18 | Procédé d'affichage d'image et dispositif associé |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2025217876A1 true WO2025217876A1 (fr) | 2025-10-23 |
Family
ID=97402766
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/CN2024/088577 Pending WO2025217876A1 (fr) | 2024-04-18 | 2024-04-18 | Procédé d'affichage d'image et dispositif associé |
Country Status (1)
| Country | Link |
|---|---|
| WO (1) | WO2025217876A1 (fr) |
Citations (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN111767013A (zh) * | 2020-06-01 | 2020-10-13 | Oppo(重庆)智能科技有限公司 | 控制方法、控制装置、电子装置、计算机可读存储介质 |
| CN114040238A (zh) * | 2020-07-21 | 2022-02-11 | 华为技术有限公司 | 一种显示多个窗口的方法及电子设备 |
| CN114495864A (zh) * | 2022-04-13 | 2022-05-13 | 荣耀终端有限公司 | 屏幕刷新率的调整方法、电子设备及可读存储介质 |
| CN116196621A (zh) * | 2023-05-05 | 2023-06-02 | 荣耀终端有限公司 | 应用处理方法及相关装置 |
| CN117795478A (zh) * | 2021-08-03 | 2024-03-29 | 维谛信息技术系统有限公司 | 用于管理显示器上呈现的应用刷新率的系统和方法 |
| WO2024066834A1 (fr) * | 2022-09-30 | 2024-04-04 | 荣耀终端有限公司 | Procédé de commande de signal vsync, dispositif électronique, support d'enregistrement et puce |
-
2024
- 2024-04-18 WO PCT/CN2024/088577 patent/WO2025217876A1/fr active Pending
Patent Citations (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN111767013A (zh) * | 2020-06-01 | 2020-10-13 | Oppo(重庆)智能科技有限公司 | 控制方法、控制装置、电子装置、计算机可读存储介质 |
| CN114040238A (zh) * | 2020-07-21 | 2022-02-11 | 华为技术有限公司 | 一种显示多个窗口的方法及电子设备 |
| CN117795478A (zh) * | 2021-08-03 | 2024-03-29 | 维谛信息技术系统有限公司 | 用于管理显示器上呈现的应用刷新率的系统和方法 |
| CN114495864A (zh) * | 2022-04-13 | 2022-05-13 | 荣耀终端有限公司 | 屏幕刷新率的调整方法、电子设备及可读存储介质 |
| WO2024066834A1 (fr) * | 2022-09-30 | 2024-04-04 | 荣耀终端有限公司 | Procédé de commande de signal vsync, dispositif électronique, support d'enregistrement et puce |
| CN116196621A (zh) * | 2023-05-05 | 2023-06-02 | 荣耀终端有限公司 | 应用处理方法及相关装置 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN102112953B (zh) | 信息处理设备 | |
| EP4411533A1 (fr) | Procédé de génération d'interface et dispositif électronique | |
| US20240312109A1 (en) | Interface generation method and electronic device | |
| CN110881104A (zh) | 拍照方法、装置、存储介质及终端 | |
| CN116166256A (zh) | 界面生成方法及电子设备 | |
| WO2024016798A9 (fr) | Procédé d'affichage d'image et appareil associé | |
| CN117097883A (zh) | 一种丢帧故障原因确定方法、电子设备和存储介质 | |
| WO2022206681A1 (fr) | Procédé d'affichage de fenêtre et appareil associé | |
| CN116347166A (zh) | 显示设备及窗口显示方法 | |
| CN111857480A (zh) | 图标对齐方法、装置、存储介质及电子设备 | |
| CN112612386B (zh) | 移动终端及其应用卡片的显示方法 | |
| CN115639920A (zh) | 绘制方法、电子设备和可读存储介质 | |
| CN118885234B (zh) | 一种播放应用启动动画的方法、电子设备及相关介质 | |
| WO2025217876A1 (fr) | Procédé d'affichage d'image et dispositif associé | |
| CN120416559A (zh) | 一种显示设备及序列动画播放方法 | |
| CN103324741A (zh) | 一种电子设备上网页缩放和对齐的方法和装置 | |
| CN116719587A (zh) | 屏幕显示方法、电子设备及计算机可读存储介质 | |
| CN115690269A (zh) | 一种视图对象的处理方法及电子设备 | |
| CN115639936A (zh) | 一种转屏控制方法、装置及电子设备 | |
| CN116166257A (zh) | 界面生成方法及电子设备 | |
| WO2025217822A1 (fr) | Procédé d'affichage d'animation et dispositif associé | |
| WO2025130055A1 (fr) | Procédé de traitement d'image et dispositif électronique | |
| CN121680978A (zh) | 应用切换方法、电子设备和计算机可读存储介质 | |
| CN121008728A (zh) | 刷新率调整方法和电子设备 | |
| WO2025152444A1 (fr) | Procédé de planification de fil basé sur web core et dispositif électronique |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 24935426 Country of ref document: EP Kind code of ref document: A1 |