WO2024055904A1 - 一种请求vSync信号的方法及电子设备 - Google Patents
一种请求vSync信号的方法及电子设备 Download PDFInfo
- Publication number
- WO2024055904A1 WO2024055904A1 PCT/CN2023/117580 CN2023117580W WO2024055904A1 WO 2024055904 A1 WO2024055904 A1 WO 2024055904A1 CN 2023117580 W CN2023117580 W CN 2023117580W WO 2024055904 A1 WO2024055904 A1 WO 2024055904A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- application
- request
- vsync signal
- interface
- image
- 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.)
- Ceased
Links
Classifications
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G5/00—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
- G09G5/36—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
- G09G5/363—Graphics controllers
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G5/00—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
- G09G5/12—Synchronisation between the display unit and other units, e.g. other display units, video-disc players
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/14—Digital output to display device ; Cooperation and interconnection of the display device with other functional units
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G5/00—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
- G09G5/001—Arbitration of resources in a display system, e.g. control of access to frame buffer by video controller and/or main processor
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/54—Indexing scheme relating to G06F9/54
- G06F2209/545—Gui
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G2340/00—Aspects of display data processing
- G09G2340/04—Changes in size, position or resolution of an image
- G09G2340/0407—Resolution change, inclusive of the use of different resolutions for different screen areas
- G09G2340/0435—Change or adaptation of the frame rate of the video stream
Definitions
- the present application relates to the field of image display technology, and in particular, to a method and electronic device for requesting a vSync signal.
- the application can request a vertical synchronization (vSync) signal when it needs to display a new frame of images, and the display of the electronic device can Distribute vSync signals to applications that request vSync signals, that is, to applications with rendering requirements.
- the vSync signal can trigger the application to complete the rendering of a new frame of image, then synthesize it and finally send it to the display.
- the application with rendering needs is triggered to start rendering a new frame of image, and then synthesize and send it to the display.
- FPS Frame Per Second
- the refresh rate is 60 Hertz (HZ)
- the FPS can be guaranteed not to exceed 60 frames per second.
- the inventor found during the implementation of the embodiments of the present application that in the prior art, when the load of the electronic device is high, such as when the central processing unit (Central Processing Unit, CPU) is occupied by more than 97%, the application The delay in requesting the vSync signal will be very long. If the application's request for the vSync signal is not received in time, the vSync signal will naturally not be distributed to the application, so that the application cannot be triggered in time to complete the rendering of a new frame of image, resulting in the display being unable to obtain the new frame of image, and ultimately only Can display old images. Especially when it is necessary to display dynamically changing continuous multi-frame images, if the above problems occur, the dynamic change process will be stuck and unsmooth.
- CPU Central Processing Unit
- this application provides a method and electronic device for requesting a vSync signal, which can reduce the possibility of lagging and unsmoothness when it is necessary to display dynamically changing continuous multi-frame images.
- embodiments of the present application provide a method for requesting a vSync signal, which is used in an electronic device with a display function, such as a mobile phone or a tablet, and the first application is installed in the electronic device.
- the first application in the electronic device calls the setVsyncRate interface of the window system SF in the electronic device and sends a first request to the SF, where the first request is used to request a vSync signal.
- the SF periodically distributes the vSync signal to the first application.
- the first application may receive the vSync signal periodically.
- the vSync signal can trigger rendering of images.
- the first application periodically receives the vSync signal and can render images periodically. In this way, the first application only requests the vSync signal once and can complete the rendering of multiple frames of images without requesting multiple vSync signals for multiple frames of images. This can reduce cross-process calls between the application process and the SF process, and reduce the dependence on the Binder thread. In this way, in scenes where dynamically changing continuous multi-frame images need to be displayed, the possibility of display lag and unsmoothness can be reduced.
- the first application calls the setVsyncRate interface and sends a second request to SF.
- the second request is used to request to cancel the vSync signal.
- the SF ends periodically distributing the vSync signal to the first application. In this way, after there is no need for the SF to periodically distribute the vSync signal, the SF can be triggered in time to end the periodic distribution of the vSync signal to the first application, thereby avoiding resource waste caused by long-term periodic distribution.
- the above method further includes: the first application determines that it needs to render multiple consecutive frames of images, the first moment includes the moment of requesting to render the first image, and the first image is the first frame of the multiple frames of images. .
- the setVsyncRate interface is called to request the vSync signal from SF, so that after it is determined that consecutive multi-frame images need to be rendered, SF can start to periodically distribute the vSync signal in time, triggering in sequence. Complete the rendering of multi-frame images.
- the first application records the first switch state
- the rendering module of the frame layer of the electronic device records the second switch state
- the initial values of the first switch state and the second switch state are both off.
- the above method further includes: the first application updates the first switch state to an on state, so that the first switch state indicates that continuous multiple frames of images need to be rendered.
- the first application in the electronic device calls the setVsyncRate interface of the window system SF in the electronic device and sends a first request to SF, including: at the first moment, the first application sends a first message to the rendering module. One message is used to request the vSync signal.
- the rendering module calls the setVsyncRate interface and sends the first request to SF.
- the rendering module needs to call the setVsyncRate interface to request
- the vSync signal triggers the SF to periodically distribute the vSync signal in time.
- the first switch state is an on state
- the second switch state is an off state.
- the above method also includes: the rendering module updates the second switch state to the on state, so that the second switch in the rendering module
- the status may also synchronously indicate that the first application needs to render consecutive multiple frames of images.
- the above method also includes: at the third moment, the first application does not request the vSync signal from the SF, the third moment is the moment when the second image is requested to be rendered, and the second image is a multi-frame image except Any image other than the first frame.
- the first application will not repeatedly call the setVsyncRate interface to request the vSync signal from the SF. Therefore, when multiple consecutive frames of images need to be rendered, the vSync signal can be requested only once, reducing cross-process calls.
- the first application sends a first message to the rendering module, and the first message is used to request a vSync signal.
- the first switch state is the on state
- the second switch state is the on state
- the rendering module does not request the vSync signal from the SF.
- the first switch state is an on state, indicating that the first application needs to render consecutive multiple frames of images.
- the second switch state is also on, indicating that the first application has not just changed from not needing to render consecutive multiple frames of images to needing to render consecutive multiple frames of images. Therefore, the rendering module does not need to repeatedly call the setVsyncRate interface to request the vSync signal.
- the above method also includes: the first application determines to end rendering of consecutive multiple frames of images.
- the second moment includes the moment when the third image is requested to be rendered.
- the third image is the first frame image that the first application needs to render after completing the rendering of the multi-frame image.
- the setVsyncRate interface is called to request SF to cancel the vSync signal, so that after the multi-frame image rendering is completed, SF can promptly end the periodic distribution of the vSync signal, saving resource.
- the above method further includes: the first application updates the first switch state to a closed state.
- the first application calls the setVsyncRate interface and sends a second request to SF, including: at the second moment, the first application sends a first message to the rendering module, and the first message is used to request a vSync signal.
- the rendering module calls the setVsyncRate interface and sends the second request to SF.
- the rendering module needs to first call the setVsyncRate interface. Request to cancel the vSync signal to avoid SF still periodically distributing vSync signals after finishing the need to render consecutive multiple frames of images.
- the first switch state is a closed state
- the second switch state is an on state.
- the above method also includes: the rendering module updates the second switch state to the closed state, so that the second switch in the rendering module
- the status may also synchronously indicate that the first application does not need to render consecutive multiple frames of images.
- the above method further includes: the first application calls the requestNextVsync interface of the SF and sends a third request to the SF, where the third request is used to request a vSync signal.
- the SF distributes a vSync signal to the first application.
- the vSync signal can be further requested from the SF, so that the SF can distribute the vSync signal to trigger the first application to render the first frame after multiple frames of images. image. Therefore, after the rendering of consecutive multiple frames of images is completed, the vSync signal is requested once and the vSync signal is distributed once.
- the SF periodically distributes the vSync signal to the first application, including: the SF periodically distributes the vSync signal to the rendering module. It should be understood that the first application requires the rendering module to implement rendering. If SF distributes the vSync signal to the rendering module, the rendering module can be triggered to complete image rendering of the first application. Therefore, SF distributes the vSync signal to the rendering module, which is equivalent to distributing the vSync signal to the first application.
- the above method further includes: sending a first message to the rendering module when the first application needs to render a fourth image, where the fourth image is any frame image that the first application needs to display, and the fourth The image includes a first image or a second image.
- the rendering module records the first mark, and after receiving the vSync signal from the SF, deletes the first mark.
- the rendering module can determine whether the processing status is unprocessed. If the processing status is the unprocessed status, it indicates that the first application has an image that needs to be rendered, and the rendering module can be triggered to render the image, and the processing status is updated to the processed status.
- the processing status is not the unprocessed status, it indicates that the first application does not have an image that needs to be rendered. That is, the currently received vSync signal is redundant. It should be understood that if the vSync signal is requested from SF by calling the requestNextVsync interface, SF will request and distribute the vSync signal once and will not distribute redundant vSync signals. Then, the redundant vSync signal is most likely distributed periodically by SF after requesting the vSync signal from SFSF by calling the setVsyncRate interface. The first application requests SF to cancel the vSync signal at the second moment, then the first application The second moment may be the moment when the rendering module receives the vSync signal from SF without including the first mark. In this way, the rendering module can promptly trigger SF to end the periodic distribution of vSync signals after discovering excess vSync signals.
- the above method further includes: at the second moment, the rendering module notifies the first application to update the first switch state to the off state, and the rendering module updates the second switch state to the off state, so that the first switch Both the state and the second switch state indicate the end of rendering consecutive multi-frame images.
- the above method further includes: at the fourth moment, the first application sends a first message to the rendering module, and the first message is used to request a vSync signal.
- the rendering module calls the requestNextVsync interface and sends a fourth request to SF, where the fourth request is used to request a vSync signal.
- the first switch state is off, it means that the first application does not need to render consecutive multiple frames of images. Moreover, the local switch status of the rendering module is off, indicating that the rendering of consecutive multiple frames of images has not just ended. Therefore, the rendering module does not need to call the requestNextVsync interface to request cancellation of the vSync signal. Then, when the first switch state and the second switch state are both off, the requestNextVsync interface can be called to request the vSync signal.
- the SF is located in the local layer of the electronic device, and the first application is located in the application layer of the electronic device.
- the above method further includes: creating a new application in the framework layer of the electronic device.
- a first interface is added, and a second interface is added in the Java local interface layer of the electronic device.
- the first interface and the second interface are interfaces open to Java by the setVsyncRate interface.
- the first application calls the setVsyncRate interface, which includes: the first application calls the setVsyncRate interface through the first interface and the second interface in sequence.
- the path between the first application and the SF in the local layer is opened, so that the application can call the setVsyncRate interface to request the vSync signal from the SF.
- the first request includes period n, n ⁇ 1, and n is an integer.
- the SF periodically distributes a vSync signal to the first application, including: in response to the first request, the SF distributes a vSync signal to the first application every n times after receiving the vSync signal.
- the first application can flexibly specify the period of vSync signal distribution by SF according to the display requirements.
- inventions of the present application provide an electronic device.
- the electronic device includes a memory and a processor, and the memory is coupled to the processor.
- Computer program code is stored in the memory, and the computer program code includes computer instructions.
- the electronic device is caused to execute the method of the first aspect and any possible design method thereof.
- embodiments of the present application provide a chip system, which is applied to an electronic device including a display screen and a memory; the chip system includes one or more interface circuits and one or more processors; the interface The circuit and the processor are interconnected through lines; the interface circuit is used to receive signals from the memory of the electronic device and send the signals to the processor, where the signals include computer instructions stored in the memory; When the processor executes the computer instructions, the electronic device executes the method described in the first aspect and any possible design manner thereof.
- the present application provides a computer storage medium that includes computer instructions, When the computer instructions are run on the electronic device, the electronic device is caused to execute the method described in the first aspect and any possible design manner thereof.
- the present application provides a computer program product, which when the computer program product is run on a computer, causes the computer to execute the method described in the first aspect and any possible design manner thereof.
- Figure 1 is a schematic interface diagram of a desktop dynamic effect provided by an embodiment of the present application
- Figure 2 is a schematic diagram of an image processing process provided by an embodiment of the present application.
- FIG. 3 is a timing diagram of an image processing method provided by an embodiment of the present application.
- FIG4 is a schematic diagram of another interface of desktop animation provided in an embodiment of the present application.
- Figure 5 is a schematic diagram of the principle of a method for requesting a vSync signal provided by an embodiment of the present application
- Figure 6 is a hardware structure diagram of an electronic device provided by an embodiment of the present application.
- Figure 7 is a software architecture diagram of an electronic device provided by an embodiment of the present application.
- Figure 8 is a timing diagram of a method for requesting a vSync signal provided by an embodiment of the present application.
- Figure 9 is a schematic diagram of a state transition of a request state provided by an embodiment of the present application.
- Figure 10 is a timing diagram of another method of requesting a vSync signal provided by an embodiment of the present application.
- Figure 11 is a timing diagram of yet another method of requesting a vSync signal provided by an embodiment of the present application.
- Figure 12 is a timing diagram of yet another method of requesting a vSync signal provided by an embodiment of the present application.
- Figure 13 is a schematic structural diagram of a chip system provided by an embodiment of the present application.
- a and/or B can mean: A exists alone, A and B exist simultaneously, and B exists alone, Where A and B can be singular or plural.
- the character "/" generally indicates that the related objects are in an "or” relationship.
- the embodiment of the present application provides a method for requesting a vSync signal, which can be used in scenarios where dynamically changing consecutive multiple frames of images need to be displayed.
- the scenario where dynamically changing continuous multi-frame images need to be displayed specifically refers to the scenario where the application needs to continue to display sliding, zooming and other dynamic effects after the user's touch operation is completed.
- the mobile phone after the mobile phone detects the user's click operation on the application icon 102 of the video application on the desktop 101 (that is, after the click operation is completed), the mobile phone will display the desktop 103, the desktop 104, the desktop 105, and the desktop 106 in sequence. and dynamically changing animation effects shown on the desktop 107 to transition, and finally display the application interface of the video application (not shown in Figure 1).
- the scene shown in Figure 1 above is a scene where dynamically changing consecutive multiple frames of images need to be displayed.
- the display of a frame of image includes three steps: rendering, synthesis and display.
- the application that generates the image to be displayed performs the rendering step to complete the rendering of the content in each layer of the image to be displayed.
- the application sends the rendered layer data to the window system (SurfaceFlinger, SF), and SF performs the synthesis steps based on the layer data, completes the layer synthesis, and obtains the image to be processed.
- SF executes the display sending step and sends the image to be displayed to the display screen for display.
- numbers 1-4 represent the 1-4th frame of the image
- the solid line unfilled rectangular box represents the rendering process
- the dotted line unfilled rectangular box represents the synthesis process
- the solid line filled rectangular box represents the display process. process.
- the rendering of other images is triggered by the vSync signal.
- the display refreshes according to its refresh rate. For example, if the refresh rate of the display screen is 60HZ, that is, it is refreshed 60 times per second, the display screen will be refreshed at a time interval of 1/60s ⁇ 16.67ms.
- the refresh rate of the display can also be 90Hz, 120Hz, etc.
- a vSync signal is generated and distributed to the application through SF to trigger the application to start rendering.
- SF will be synthesized and finally sent to display. In this way, every time the display screen is refreshed, rendering and synthesis of a new image are triggered. This ensures that the FPS will not exceed the refresh rate of the display.
- the application needs to request the vSync signal from SF after generating rendering requirements to instruct SF to further distribute the vSync signal after receiving the vSync signal from the display, so as to trigger the application with rendering requirements (such as Launcher) to start rendering and meet the rendering requirements. need.
- rendering requirements such as Launcher
- the specific implementation from the application generating rendering requirements to finally displaying a frame of image includes:
- application 1 (also called the first application) can be any application in the electronic device, and image 1 is any frame image that application 1 needs to display.
- SF can be used to distribute vSync signals to applications with rendering needs (such as application 1), thereby triggering the application (such as application 1) to start rendering.
- the requestNextVsync interface in SF is used by applications (such as application 1) to request the vSync signal, that is, the application (such as application 1) requests SF to distribute the vSync signal to the application (such as application 1) to trigger the application (such as application 1) to start rendering. .
- Launcher when Launcher determines that it needs to render the first frame of animation corresponding to desktop 103 shown in Figure 1, it can call SF's requestNextVsync interface to request the vSync signal, that is, request SF to distribute the vSync signal to Launcher. Trigger Launcher to start rendering the first frame of animation.
- application 1 requests the vSync signal by calling the requestNextVsync interface and has the following characteristics: after application 1 requests the vSync signal once, SF only distributes the vSync signal to application 1 once, thus only triggering application 1 to complete the rendering of image 1. Subsequently, if application 1 needs to continue rendering, such as rendering image 2, image 3, etc., it needs to call the requestNextVsync interface again to request the vSync signal.
- the request status of application 1 is recorded in the SF, and the request status includes two types: unrequested and requested.
- the initial value of the request status is Not Requested.
- SF updates the request status to Requested, as shown in S302 below, to indicate that Application 1 has rendering requirements.
- the update request status is not requested, as shown in S305 below, to indicate that Application 1 has no rendering requirements.
- the display screen refreshes the display according to its refresh rate. For example, if the refresh rate of the display screen is 60 Hertz (HZ), that is, it refreshes 60 times per second, the display screen will refresh the display at a time interval of 1/60s ⁇ 16.67ms.
- HZ Hertz
- SF After receiving the vSync signal, SF can query the request status of application 1. If the query shows that the request status is Requested, it means that Application 1 has rendering requirements. In this case, SF distributes the vSync signal to Application 1 to trigger Application 1 to start rendering.
- Application 1 responds to the vSync signal and renders image 1.
- Application 1 will start rendering each time it receives a vSync signal to keep the application's frame rate consistent with the digital display rate of the display.
- Application 1 sends the rendered layer data to SF.
- SF can also be used for compositing, which mainly refers to compositing one or more layers.
- the display screen displays image 1.
- application 1 can call SF when it needs to render any frame of image.
- requestNextVsync interface to request the vSync signal.
- SF will distribute a vSync signal to application 1, thereby triggering application 1 to complete the rendering of a frame of image.
- Application 1 needs to continuously render multiple frames of images.
- Application 1 needs to call the requestNextVsync interface of SF multiple times to request the vSync signal. Take Figure 1 as an example.
- Application 1 is Launcher.
- Launcher When Launcher needs to render the first frame of animation corresponding to desktop 103, it needs to call the requestNextVsync interface to request the vSync signal for the first time; Launcher needs to render the second frame of animation corresponding to desktop 104. When the launcher needs to render the fifth frame of animation corresponding to desktop 107, it needs to call the requestNextVsync interface to request the vSync signal for the fifth time.
- the above application 1 calls the requestNextVsync interface in SF, which is a cross-process call between different processes, and requires the Binder thread in SF to implement the call.
- the Binder thread has a lower priority.
- the load of the electronic device is high, such as when the CPU usage is as high as 97% and above, the electronic device usually cannot allocate CPU resources to the Binder thread first to process the requestNextVsync interface call, then the Binder thread only Can always wait for CPU resources.
- the Binder thread will be in a state of waiting for resources (i.e. Runnable) for a long time and cannot handle the call to the requestNextVsync interface in a timely manner.
- SF will not receive application 1's request for the vSync signal in time. Subsequently, when SF receives the vSync signal, it will not be distributed to Application 1 and cannot trigger Application 1 to render the image. In the end, only historical images can be displayed on the display screen, but no new frame of images can be displayed. Especially in scenarios that need to display dynamically changing continuous multiple-frame images, application 1 needs to render continuous multiple-frame images, and the Binder thread needs to be frequently used to process calls to the requestNextVsync interface, so the above problems are more likely to exist.
- the mobile phone can continue to display images according to the process shown in Figure 3, but at this time it is necessary to render the fifth frame of animation, and the Launcher will render the fifth frame of animation, and finally The fifth frame animation corresponding to desktop 403 will be displayed.
- the display screen continuously displayed the second frame of three frames of animation, and there was a lag, and it directly transitioned from the second frame of animation to the fifth frame of animation, and the transition of the animation was not smooth.
- embodiments of the present application provide a method for requesting a vSync signal.
- This method can be applied to scenarios similar to Figure 1 that need to display dynamically changing consecutive multiple frames of images.
- the corresponding applications need to render consecutive multiple frames. frame image.
- application 1 determines that it needs to continuously render multiple frames of images, it can call the setVsyncRate interface of SF to request a vSync signal from SF (such as requesting at time t1 in Figure 5).
- SF After receiving application 1's request for the vSync signal through the setVsyncRate interface, SF periodically distributes the vSync signal to application 1.
- Application 1 can be triggered periodically to render images.
- Application 1 can render multiple consecutive frames of images. Then, after application 1 determines that it has finished rendering consecutive multiple frames of images, it can call the setVsyncRate interface of SF to request SF to cancel the vSync signal (such as the request at time t2 in Figure 5). After receiving application 1's request to cancel the vSync signal through the setVsyncRate interface, SF ends periodically distributing the vSync signal to application 1.
- time t1 can be called the first time
- time t2 can be called the second time
- the request to call the setVsyncRate interface to request the vSync signal is called the first request
- the request to call the setVsyncRate interface will be called the first request.
- the request to cancel the vSync signal is called the second request.
- application 1 only needs to request the vSync signal from SF once, and can receive the vSync signal periodically distributed by SF, thereby periodically triggering application 1 to start rendering.
- SF periodically distributes the vSync signal, thereby periodically triggering application 1 to complete the rendering of the continuous multi-frame images.
- Application 1 can request to cancel the vSync signal, so that SF ends periodic distribution of vSync signals to Application 1 to avoid resource waste caused by long-term periodic distribution.
- the Launcher can determine that it needs to render multiple frames shown on the desktop 103-107 Dynamic effects require rendering multiple consecutive frames of images.
- the Launcher can call the SF's setVsyncRate interface to request the vSync signal from the SF, triggering the SF to periodically distribute the vSync signal to the Launcher.
- the periodic vSync signal can trigger the Launcher to sequentially render the multi-frame animation effects shown in desktop 103 to desktop 107.
- the Launcher can determine to end rendering consecutive multi-frame images. In this case, Launcher can call SF's setVsyncRate interface to request SF to cancel the vSync signal, triggering SF to end periodic distribution of vSync signals to Launcher, reducing resource waste.
- the electronic device in the embodiment of the present application may be a mobile phone, a tablet computer, a desktop, a laptop, a handheld computer, a notebook computer, an ultra-mobile personal computer (UMPC), a netbook, and a cellular phone.
- PDAs personal digital assistants
- AR augmented reality
- VR virtual reality
- the electronic device is a mobile phone as an example to illustrate the application solution.
- the electronic device may include a processor 610, an external memory interface 620, an internal memory 621, a universal serial bus (USB) interface 630, and a charging management module 640 , power management module 641, battery 642, antenna 1, antenna 2, mobile communication module 650, wireless communication module 660, audio module 670, speaker 670A, receiver 670B, microphone 670C, headphone interface 670D, sensor module 680, button 690, motor 691, indicator 692, camera 693, display screen 694, and subscriber identification module (subscriber identification module, SIM) card interface 695, etc.
- SIM subscriber identification module
- the structure illustrated in this embodiment does not constitute a specific limitation on the mobile phone 600.
- the mobile phone 600 may include more or fewer components than shown, or some components may be combined, some components may be separated, or some components may be arranged differently.
- the components illustrated may be implemented in hardware, software, or a combination of software and hardware.
- the processor 610 may include one or more processing units.
- the processor 610 may include an application processor (application processor, AP), a modem processor, a graphics processing unit (GPU), and an image signal processor. (image signal processor, ISP), controller, memory, video codec, digital signal processor (DSP), baseband processor, and/or neural-network processing unit (NPU) wait.
- application processor application processor, AP
- modem processor graphics processing unit
- GPU graphics processing unit
- image signal processor image signal processor
- ISP image signal processor
- controller memory
- video codec digital signal processor
- DSP digital signal processor
- NPU neural-network processing unit
- different processing units can be independent devices or integrated in one or more processors.
- the charge management module 640 is used to receive charging input from the charger.
- the charger can be a wireless charger or a wired charger.
- the charging management module 640 may receive charging input from the wired charger through the USB interface 630 .
- the charging management module 640 may receive wireless charging input through the wireless charging coil of the mobile phone 600 . While the charging management module 640 charges the battery 642, it can also provide power to the mobile phone 600 through the power management module 641.
- the power management module 641 is used to connect the battery 642, the charging management module 640 and the processor 610.
- the power management module 641 receives input from the battery 642 and/or the charging management module 640, and supplies power to the processor 610, internal memory 621, external memory, display screen 694, camera 693, wireless communication module 660, etc.
- the power management module 641 can also be used to monitor battery capacity, battery cycle times, battery health status (leakage, impedance) and other parameters.
- the power management module 641 may also be provided in the processor 610.
- the power management module 641 and the charging management module 640 can also be provided in the same device.
- the wireless communication function of the mobile phone 600 can be realized through the antenna 1, the antenna 2, the mobile communication module 650, the wireless communication module 660, the modem processor and the baseband processor.
- the display screen 694 is used to display images, videos, etc. In some embodiments, the display screen 694 can be used to display dynamically changing interface content, such as the desktop animation shown in FIG. 1 .
- Display 694 includes a display panel.
- the display panel can use a liquid crystal display (LCD), an organic light-emitting diode (OLED), an active matrix organic light emitting diode or an active matrix organic light emitting diode (active-matrix organic light emitting diode).
- LCD liquid crystal display
- OLED organic light-emitting diode
- AMOLED organic light-emitting diode
- FLED flexible light-emitting diode
- Miniled MicroLed, Micro-oLed, quantum dot light emitting diode (QLED), etc.
- the mobile phone 600 implements display functions through the GPU, the display screen 694, and the application processor.
- the GPU is an image processing microprocessor and is connected to the display screen 694 and the application processor. GPUs are used to perform mathematical and geometric calculations for graphics rendering.
- Processor 610 may include one or more GPUs that execute program instructions to generate or alter display information.
- the mobile phone 600 can realize the shooting function through the ISP, camera 693, video codec, GPU, display screen 694 and application processor.
- the ISP is used to process the data fed back by the camera 693.
- Camera 693 is used to capture still images or video.
- the object passes through the lens to produce an optical image that is projected onto the photosensitive element.
- the mobile phone 600 may include 1 or N cameras 693, where N is a positive integer greater than 1.
- the external memory interface 620 can be used to connect an external memory card, such as a Micro SD card, to expand the storage capacity of the mobile phone 600.
- the external memory card communicates with the processor 610 through the external memory interface 620 to implement the data storage function. Such as saving music, videos, etc. files in external memory card.
- Internal memory 621 may be used to store computer executable program code, which includes instructions.
- the processor 610 executes instructions stored in the internal memory 621 to execute various functional applications and data processing of the mobile phone 600 .
- the mobile phone 600 can implement audio functions through the audio module 670, the speaker 670A, the receiver 670B, the microphone 670C, the headphone interface 670D, and the application processor. Such as music playback, recording, etc.
- the buttons 690 include a power button (also called a power button), a volume button, etc.
- Key 690 may be a mechanical key. It can also be a touch button.
- the mobile phone 600 can receive key input and generate key signal input related to user settings and function control of the mobile phone 600 .
- Motor 691 can produce vibration prompts. Motor 691 can be used to vibrate Dynamic prompts can also be used for touch vibration feedback.
- the indicator 692 may be an indicator light, which may be used to indicate charging status, power changes, or may be used to indicate messages, missed calls, notifications, etc.
- the SIM card interface 695 is used to connect a SIM card.
- the software system of the mobile phone 600 can adopt a layered architecture, an event-driven architecture, a micro-core architecture, a micro-service architecture or a cloud architecture.
- the following embodiments will mainly take the Android system with a layered architecture as an example to illustrate the software architecture of the mobile phone 600 .
- the layered architecture divides the software into several layers, and each layer has clear roles and division of labor.
- the layers communicate through software interfaces.
- the Android system can be divided into six layers, from top to bottom: application layer (applications), framework layer (framework), Java Native Interface layer (Java Native Interface, JNI), Native layer (Native), hardware abstraction layer (HAL) and kernel layer (kernel).
- applications such as call, memo, desktop, browser, contacts, camera, gallery, and calendar can be installed in the application layer.
- Only the desktop application (Launcher) is shown in Figure 7 .
- These applications basically need to display their application interfaces through the display screen of the mobile phone 600 .
- the Launcher needs to display the desktop 101 shown in Figure 1, the application icons on the desktop 103-desktop 107 through the display screen, and display the corresponding animation effects of the desktop 103-desktop 107 shown in Figure 1.
- the framework layer provides application programming interface (API) and programming framework for the application layer.
- the framework layer includes the display rendering module (Choreographer) and the marking module (AnimationSmooth). AnimationSmooth can be used by applications to save the switch state of rendering consecutive multiple frames of images.
- the switch state includes the on state and the off state. The on state indicates the need to render consecutive multiple frames of images, and the off state indicates the end of rendering continuous multiple frames of images.
- Choreographer can be used by applications to request vSync signals from SF.
- Application 1 needs to request the vSync signal from SF through Choreographer.
- application 1 calls the requestNextVsync interface or setVsyncRate interface to request a vSync signal from SF, which is essentially Choreographer calling the requestNextVsync interface or setVsyncRate interface to request a vSync signal from SF; and application 1 calls the setVsyncRate interface to request SF to cancel the vSync signal, which is essentially Choreographer. Call the setVsyncRate interface to request SF to cancel the vSync signal.
- Choreographer can be used for application rendering.
- Application 1 needs to implement rendering through Choreographer.
- SF distributes the vSync signal to Application 1 and triggers Application 1 rendering.
- the essence is that SF distributes the vSync signal to Choreographer and triggers Choreographer rendering.
- the local layer provides various services to the upper layer (such as the framework layer).
- the local layer includes SF, which can be used for compositing and display, as well as refresh rate control.
- refresh rate control means by distributing a vSync signal to the application, the application is controlled to start rendering after the display screen is refreshed once.
- the local layer includes SF's requestNextVsync interface and setVsyncRate interface, both of which can implement the request vSync signal.
- the requestNextVsync interface can implement a vSync signal every time it is requested, and SF distributes a vSync signal once.
- the setVsyncRate interface can implement a vSync signal every time it is requested, and SF distributes the vSync signal periodically.
- the framework layer is usually written in Java language, therefore, the framework layer can also be called the Java layer.
- the local layer is written in C++/C language, therefore, the local layer can also be called C++/C layer.
- the Java local interface layer is a bridge between the framework layer and the local layer. It is used to open up the framework layer and the local layer so that the framework layer and the local layer can access each other.
- the Java local interface layer includes an interface open to Java so that the framework layer can call the services provided by the local layer through this interface.
- it is necessary to call the setVsyncRate interface of SF to request a vSync signal from SF.
- the setVsyncRate interface in SF is only an interface in the local layer and does not have an open interface to Java. Based on this, in some embodiments, it is necessary to add an interface to the framework layer and the Java local interface layer respectively, such as the first interface and the second interface in Figure 7.
- the path between Choreographer in the framework layer and SF in the local layer is opened, so that the application can call the setVsyncRate interface to request the vSync signal from SF.
- the hardware abstraction layer encapsulates the underlying hardware driver and provides a common interface for calling the driver to the upper layer, so that the upper layer can call the driver to drive the corresponding hardware work.
- the hardware abstraction layer includes the hardware hybrid renderer (Hwcomposer, HWC). HWC can be combined with SF to complete the synthesis process. Among them, SF can use OpenGL ES to synthesize layers, but this synthesis requires occupying and consuming GPU resources. HWC performs layer synthesis through hardware devices, which can reduce the synthesis pressure on the GPU.
- the kernel layer includes drivers that drive hardware work, such as display drivers.
- the display driver is used to drive the display screen and transmit the image data stream (such as RGB image data stream) from the upper layer (such as the hardware abstraction layer) to the display screen for display (i.e., send it to the display).
- image data stream such as RGB image data stream
- the upper layer such as the hardware abstraction layer
- the method for requesting a vSync signal provided by the embodiment of the present application can be implemented in the mobile phone 600 having the above hardware structure and software structure.
- the following is a brief introduction to the method of requesting a vSync signal provided by the embodiment of the present application in conjunction with the above-mentioned software architecture of the mobile phone 600:
- application 1 After application 1 determines that it needs to render consecutive multiple frames of images, it can use Choreographer to sequentially call the first interface in the framework layer, the second interface in the Java local interface layer, and the setVsyncRate interface in the local layer to request the vSync signal from SF. After receiving Choreographer's request for the vSync signal by calling the setVsyncRate interface, SF periodically distributes the vSync signal to Choreographer, thereby periodically triggering Choreographer to render the image of application 1.
- application 1 determines to finish rendering consecutive multiple frames of images, it can use Choreographer to sequentially call the first interface, the second interface, and the setVsyncRate interface to request SF to cancel the vSync signal.
- SF ends periodically distributing the vSync signal to Choreographer. This will no longer trigger Choreographer to render images for application 1 periodically.
- application 1 can determine whether it needs to render consecutive multiple frames of images based on its own display logic.
- Example 1 taking the scenario shown in Figure 1 above as an example, after the Launcher detects the user's click operation on an application icon on the desktop (such as the application icon 102 of a video application), the display logic is: the display zooms in from the application icon to the application icon.
- Desktop animation of the interface This desktop animation requires Launcher to display dynamically changing multiple consecutive frames of animation, that is, multiple frames of images. Then, after the Launcher detects the user's click operation on an application icon on the desktop, it can determine that multiple consecutive frames of images need to be rendered.
- Example 2 still taking Launcher as an example, after Launcher detects the user's sliding operation on the desktop (such as sliding left or right), the desktop will also slide along with the user's sliding operation. Moreover, after the user's sliding operation is completed, the display logic of Launcher is: continue sliding the desktop until a certain screen of the desktop is fully displayed (such as returning to the screen displayed before the sliding operation, or switching to the previous screen, or switching to the next screen). ). The above process of continuing to slide the desktop until a certain screen of the desktop is fully displayed requires the Launcher to display dynamically changing consecutive multiple frames of images. to fulfill. Then, after the Launcher detects that the user's sliding operation on the desktop has ended, it can determine that multiple consecutive frames of images need to be rendered.
- Example 3 take the calendar application as an example. After the calendar application detects the user's click operation on a certain day in the month view, its display logic is: display the transition effect from the month view to the certain day view, and finally display A view of a certain day. This transition effect requires the calendar application to display dynamically changing consecutive multiple frames of images to achieve. Then, after the calendar application detects the user's click operation on a certain day in the month view, it can determine that multiple consecutive frames of images need to be rendered.
- Application 1 can Determine the need to render multiple consecutive frames of images. After completing the rendering of the multi-frame image, or before ending the display of the multi-frame image, after detecting the exit of application 1 running in the foreground, or before ending the display of the multi-frame image, detecting the display screen information screen, application 1 can determine to end rendering consecutive multiple frames of images.
- application 1 needs to request the vSync signal through Choreographer to request SF to distribute the vSync signal every time before rendering a new frame of image. Moreover, Choreographer will render the image of application 1 only after receiving the vSync signal distributed by SF.
- Application 1 only needs to request a vSync signal through Choreographer after determining that it needs to render consecutive multiple frames of images; and, after determining to end rendering consecutive multiple frames of images, request to cancel the vSync signal through Choreographer. In other words, even if you need to render multiple consecutive frames of images, you only need to request the vSync signal through Choreographer once, instead of requesting the vSync signal through Choreographer before rendering a frame of image each time.
- the specific implementation of requesting the vSync signal only once through Choreographer includes:
- Application 1 determines that multiple consecutive frames of images need to be rendered.
- application 1 When application 1 needs to render any frame of image, it first requests the vSync signal from Choreographer to request the rendering of any frame of image (such as the first image). This triggers Choreographer to further request the vSync signal from SF.
- Application 1 can call Choreographer's scheduleVsyncLocked interface to trigger Choreographer to request a vSync signal from SF.
- the message sent by application 1 to Choreographer to request the vSync signal may be called the first message.
- Choreographer calls the setVsyncRate interface to request the vSync signal from SF.
- Choreographer when Choreographer receives a request for a vSync signal from Application 1 for the first time after Application 1 determines to render multiple frames of images, it will call the setVsyncRate interface to request a vSync signal from SF. That is, when a request is made to render the first frame of a multi-frame image, the setVsyncRate interface is called to request a vSync signal from SF, then time t1 in Figure 5 may be the time when the first frame of the multi-frame image is requested to be rendered.
- the parameter carried is the first parameter, which is used to indicate the request for a vSync signal.
- the first parameter is 1, then calling the setVsyncRate interface is specifically setVsyncRate(1), which means calling the setVsyncRate interface to request a vSync signal.
- the SF update request status is a periodic request, and the initial value of the request status in SF is not requested.
- the request status further includes periodic requests.
- the request status is periodic request, which can instruct SF to periodically distribute the vSync signal to Choreographer.
- the request status and its status transfer process are shown in Figure 9.
- the request status includes unrequested (such as none), requested (such as single) and periodic request (such as period).
- the request status is not requested, indicating that there is no need to distribute the vSync signal to application 1.
- the request status is requested, indicating that a vSync signal needs to be distributed to application 1.
- the request status is periodic request, indicating that the vSync signal needs to be distributed to application 1 periodically.
- the initial value of the request status is not requested.
- Choreographer calls the requestNextVsync interface to request a vSync signal from SF, and the request status will be updated to requested (see the relevant description in Figure 5 above).
- request status in this article is for application 1.
- request status of each application is maintained in SF.
- the request status of each application can indicate the corresponding application's need for vSync signals.
- the setVsyncRate interface is called to request the vSync signal from SF, so that after it is determined that consecutive multi-frame images need to be rendered, SF can promptly update the request status to the cycle Sexual request. Subsequently, SF can periodically distribute vSync signals to trigger the rendering of multiple frames of images in sequence.
- the display screen sends a vSync signal to SF.
- a vSync signal will be sent to SF.
- Choreographer After Choreographer receives the vSync signal, it can render the first frame of the multi-frame image, then send it to SF for synthesis, and finally send it to display. I will not go into details here.
- application 1 requests the vSync signal from Choreographer.
- SF has updated the request status to a periodic request. Subsequently, SF can periodically distribute the vSync signal to trigger the completion of the rendering of multiple frames of images in sequence. Therefore, when requesting to render images other than the first frame image (which can also be called the second image) in a multi-frame image, even if application 1 requests the vSync signal from Choreographer, Choreographer does not need to repeatedly request the vSync signal from SF. For example, call the setVsyncRate interface to request the vSync signal from SF. In this way, when multiple consecutive frames of images need to be rendered, the vSync signal can be requested only once through Choreographer.
- the time when rendering of any frame image in the multi-frame images except the first frame image is requested can be called the third time.
- the display screen sends a vSync signal to SF.
- Choreographer After Choreographer receives the vSync signal, it can render the second frame of the multi-frame image, then send it to SF for synthesis, and finally send it to display. I will not go into details here.
- Application 1 determines to end rendering consecutive multiple frames of images.
- application 1 requests the vSync signal from Choreographer.
- Application 1 will also request the vSync signal from Choreographer to request the rendering of the A new frame of image.
- Choreographer calls the setVsyncRate interface to request SF to cancel the vSync signal.
- Choreographer after completing the rendering of multi-frame images, when Choreographer receives a request for a vSync signal from Application 1 for the first time, it first calls the setVsyncRate interface and requests SF to cancel the vSync signal. That is, when the first frame image after multiple frames of images is requested to be rendered, the setVsyncRate interface is called to request SF to cancel the vSync signal. Then the time t2 in Figure 5 may be the time when the first frame image after multiple frames of images is requested to be rendered.
- the parameters carried by Choreographer when calling the first interface, the second interface, and the setVsyncRate interface are all second parameters, which are used to indicate a request to cancel the vSync signal.
- the second parameter is 0, then calling the setVsyncRate interface is specifically setVsyncRate(0), which means calling the setVsyncRate interface to request cancellation of the vSync signal.
- Choreographer calls the setVsyncRate interface to request SF to cancel the vSync signal (such as setVsyncRate(0)), and the request status will be updated to not requested.
- the request status is updated to not requested, after the subsequent SF receives the vSync signal, it will not continue to distribute the vSync signal periodically.
- the setVsyncRate interface is called to request SF to cancel the vSync signal, so that after the multi-frame image rendering is completed, SF can promptly update the request status to Not requested. Subsequently, SF will not periodically distribute vSync signals, which can save resources.
- the cycle is mainly explained as 1. That is: when Choreographer calls the setVsyncRate interface to request a vSync signal from SF, it carries a parameter indicating that the period is 1, such as setVsyncRate(1). The 1 in parentheses indicates that the period is 1; then, each time SF receives a vSync signal, it will send it to Choreographer. Distribute vSync signal. Of course, the period can also be 2, 3, 4....
- Choreographer calls the setVsyncRate interface to request a vSync signal from SF, it carries a parameter indicating the period n, such as setVsyncRate(n).
- n in parentheses indicates that the period is n.
- the period is 2
- the period is 3, after every 3 vSync signals received by SF, SF distributes vSync to Choreographer...
- the timing function in the clock application As an example. It usually updates the countdown in seconds (s). For example, if the countdown is 15 minutes and the current display is 15:00, then the next time it will display 14:59 after 1s, and 1s It is completely enough for the user to perform the operation of exiting the clock application running in the foreground, or enough for the user to perform the operation of closing the screen. In other words, it is difficult for the clock application to predict whether it needs to continue to display countdown images, such as then displaying images corresponding to 14:59, 14:58, 14:57...
- the timing function of the clock application does not belong to scenarios that require rendering of consecutive multiple frames of images.
- the application usually only needs to render one frame of image when certain conditions are met.
- the clock application only needs to render a new countdown image every 1 second.
- the calculator application only needs to render a new frame of image after detecting a user's click operation on a number or symbol on the keyboard of the calculator.
- the application needs to call the setVsyncRate interface to request the vSync signal from SF before rendering a new frame of image each time to trigger SF to distribute the vSync signal from the display. to the application; and, after the new frame of image rendering is completed, the application needs to call the setVsyncRate interface to request SF to cancel the vSync signal to trigger SF to end distributing the vSync signal from the display to the application. That is, the rendering of one frame of image requires calling the setVsyncRate interface twice. This obviously leads to a waste of resources.
- the setVsyncRate interface is called to request a vSync signal from SF.
- the requestNextVsync interface is called to request a vSync signal from SF.
- application 1 may record the switch state (which may also be called the first switch state) of whether to render consecutive multiple frames of images.
- the switch state includes the on state (if true) and the off state (if false). Among them, the initial value of the switch state is the closed state. If the switch status is off, it indicates that there is no need to render consecutive multiple frames of images. If the switch status is on, it indicates that multiple consecutive frames of images need to be rendered.
- Choreographer can first query the switch status, and call the requestNextVsync interface or setVsyncRate interface to request the vSync signal from SF based on the switch status.
- the method of requesting the vSync signal in this embodiment further includes S1001-S1007 before S801 in Figure 8:
- application 1 Before determining to render consecutive multiple frames of images and when an image needs to be rendered, application 1 requests a vSync signal from Choreographer.
- Choreographer first queries the switch status in AnimationSmooth before requesting the vSync signal. If it is found to be in the closed state, it means that there is currently no need to render consecutive multiple frames of images. Therefore, Choreographer can call the requestNextVsync interface to request the vSync signal. To achieve the request once vSync signal, distributes a vSync signal once.
- the display screen sends the vSync signal to SF.
- Choreographer After Choreographer receives the vSync signal, it can start rendering, then send it to SF for synthesis, and finally send it to display.
- each frame of image can be processed using the above-mentioned S1001-S1007 process.
- Application 1 determines that multiple consecutive frames of images need to be rendered.
- Application 1 triggers AnimationSmooth to update the switch status.
- application 1 when application 1 determines that it needs to render consecutive multiple frames of images, it first needs to update the switch state in AnimationSmooth to the on state to indicate that consecutive multiple frames of images need to be rendered.
- application 1 requests the vSync signal from Choreographer.
- Choreographer first queries the switch status in AnimationSmooth before requesting the vSync signal. If it is found to be in the open state, it means that there is currently a need to render consecutive multiple frames of images. Therefore, Choreographer can call the setVsyncRate interface to request the vSync signal.
- the SF update request status is a periodic request.
- the display screen sends a vSync signal to SF.
- application 1 requests the vSync signal from Choreographer.
- Choreographer first queries the switch status in AnimationSmooth before requesting the vSync signal. If it is found to be in the open state, it means that there is currently a need to render consecutive multiple frames of images. However, before passing As mentioned in S802, S1010, S803a and S804, SF has updated the request status to a periodic request. Subsequently, SF can periodically distribute the vSync signal to trigger the completion of the rendering of multiple frames of images in sequence. Therefore, when the second frame of the multi-frame image and subsequent images need to be rendered, even if application 1 requests the vSync signal, Choreographer will query that the switch status is on. Choreographer does not need to repeatedly request the vSync signal from SF, such as calling setVsyncRate. The interface requests the vSync signal from SF.
- the display screen sends a vSync signal to SF.
- Application 1 determines to end rendering consecutive multiple frames of images.
- Application 1 triggers AnimationSmooth to update the switch status.
- application 1 when application 1 determines to end rendering of continuous multiple frames of images, it first needs to update the switch state in AnimationSmooth to the off state to indicate the end of rendering of continuous multiple frames of images.
- application 1 requests the vSync signal from Choreographer.
- Choreographer queries that the switch status is off, which means that there is no need to continuously render multiple frames. On this basis, if the previous query is on, it means that the need to render consecutive multiple frames of images has just been completed. At this time, Choreographer calls the setVsyncRate interface to request to cancel the vSync signal.
- the switch status can be maintained in AnimationSmooth and Choreographer respectively, so that in scenes where continuous multiple frames of images need to be rendered, the setVsyncRate interface can be called to request the vSync signal from SF, and when continuous multiple frames of images do not need to be rendered, the setVsyncRate interface can be called to request vSync signals from SF.
- call the requestNextVsync interface to request the vSync signal from SF you can also accurately determine the timing of calling the setVsyncRate interface to request the vSync signal from SF and cancel the vSync signal.
- the initial values of the switch states in AnimationSmooth and Choreographer are both off. In order to distinguish the first switch state, the switch state in Choreographer can be called the second switch state.
- Choreographer before Choreographer requests the vSync signal, it needs to first query the switch status in AnimationSmooth, and based on the queried switch status and Choreographer's local switch status, determine whether to request the vSync signal from SF, and determine whether to call the setVsyncRate interface or The requestNextVsync interface requests the vSync signal from SF.
- this embodiment includes the following steps:
- the time of any frame of image that needs to be rendered before requesting to render multiple frames of images can be called the fourth time.
- S1003 in the aforementioned Figure 10 can be specifically as follows S1003a:
- the request of calling the requestNextVsync interface to request the vSync signal to render any frame of image before the multi-frame image can be called the fourth request.
- Choreographer first queries the switch status in AnimationSmooth before requesting the vSync signal. If the query is in the closed state, it means that there is currently no need to render consecutive multi-frame images. Therefore, Choreographer needs to call the requestNextVsync interface to request the vSync signal, so as to request a vSync signal and distribute a vSync signal once. Moreover, Choreographer's local switch status is off, indicating that the need to render consecutive multiple frames of images has not just ended. Therefore, Choreographer does not need to call the requestNextVsync interface to request cancellation of the vSync signal. Then, when the queried switch status and the local switch status are both off, the requestNextVsync interface can be called to request the vSync signal.
- the display screen sends the vSync signal to SF.
- Application 1 determines that multiple consecutive frames of images need to be rendered.
- Application 1 triggers AnimationSmooth to update the switch status.
- application 1 requests the vSync signal from Choreographer.
- S803a in Figure 10 further includes the following S1101-S1102:
- Choreographer calls the setVsyncRate interface to request the vSync signal from SF.
- Choreographer first queries the switch status in AnimationSmooth before requesting the vSync signal. The query found that it is in the on state, and the Choreographer's local switch state was off before the update, indicating that application 1 has just changed from not needing to render consecutive multi-frame images to needing to render consecutive multi-frame images. Therefore, Choreographer needs to call the setVsyncRate interface to request the vSync signal. , triggering SF to periodically distribute the vSync signal in time. In this way, the vSync signal is requested once, and SF periodically distributes the vSync signal.
- the SF update request status is a periodic request.
- the display screen sends a vSync signal to SF.
- application 1 requests the vSync signal from Choreographer.
- the switch status queried by Choreographer is on, indicating that there is currently a need to render consecutive multiple frames of images. Therefore, Choreographer needs to call the setVsyncRate interface to request the vSync signal.
- the queried switch status is consistent with the local switch status of Choreographer before the update, indicating that application 1 has not just changed from not needing to render consecutive multi-frame images to needing to render consecutive multi-frame images.
- Choreographer should have called the setVsyncRate interface to request it before.
- vSync signal (such as S1102), therefore, Choreographer does not need to repeatedly call the setVsyncRate interface to request the vSync signal.
- the display screen sends a vSync signal to SF.
- Application 1 determines to end rendering consecutive multiple frames of images.
- Application 1 triggers AnimationSmooth to update the switch status.
- application 1 requests the vSync signal from Choreographer.
- S812a in Figure 10 further includes the following S1104-S1105:
- Choreographer calls the setVsyncRate interface to request SF to cancel the vSync signal.
- Choreographer needs to call setVsyncRate first. interface to request cancellation of the vSync signal to avoid SF still periodically distributing vSync signals after the need to render consecutive multiple frames of images. In this way, SF can be triggered in time to end the periodic sending of the vSync signal after the need to render consecutive multi-frame images is completed.
- the request status is updated from periodic request to unrequested, then SF will not continue vSync signals are distributed periodically.
- application 1 currently needs to render the first frame of image after multiple frames of image, so, referring to FIG. 11 , after S813 , the following S1106 - S1110 need to be executed to complete the rendering of a new frame of image after multiple frames of image:
- Choreographer calls the requestNextVsync interface to request the vSync signal from SF.
- Choreographer needs to call the requestNextVsync interface to request a vSync signal from SF to request a vSync signal, and SF distributes a vSync signal.
- the requestNextVsync interface to request the vSync signal from the SF.
- the request for calling the requestNextVsync interface to request the vSync signal to render the first frame of images after multiple frames of images can be called the third request.
- the display screen sends the vSync signal to SF.
- SF distributes the vSync signal to Choreographer, which can trigger Choreographer to complete the rendering of a new frame of image after multiple frames of images, and then send it to SF for synthesis and finally display.
- Choreographer needs to use corresponding methods to handle them, including the first method shown in the aforementioned S1003a, S1101 -The second method shown in S1102, the third method shown in S1103, and the fourth method shown in S1104-S1105 and S1106. This ensures that the requestNextVsync interface or the setVsyncRate interface is called accurately to request the vSync signal, or the setVsyncRate interface is called to request the cancellation of the vSync signal.
- what is different from the fourth method shown in S1104-S1105 and S1106 in Figure 11 is that when the switch state queried by Choreographer is off (that is, the switch state in AnimationSmooth is off), the local When the switch status is on (that is, the switch status in Choreographer is on), first update the local on status to off, and then directly call the requestNextVsync interface to request the vSync signal from SF.
- the request status can be transferred between periodic request and requested, as shown by the dotted arrow in Figure 9.
- Choreographer calls the requestNextVsync interface to request the vSync signal from SF. , the request status will be updated to Requested.
- SF ends the periodic analysis.
- Send vSync signal may also determine whether to end rendering multiple consecutive frames of images.
- application 1 can request a vSync signal from Choreographer every time it needs to render any frame image (also called the fourth image).
- Choreographer can record the processing status as unprocessed state (also called the fourth image). first mark).
- the unprocessed status indicates that there are images that need to be rendered.
- Choreographer receives the vSync signal from SF, the processing status can be updated to the processed status.
- the Processed status indicates that there are no images to render.
- Choreographer can determine whether the processing status is an unprocessed status each time after receiving a vSync signal from SF. If the processing status is unprocessed, it indicates that Application 1 has an image that needs to be rendered, and Choreographer can be triggered to render the image and update the processing status to processed. If the processing status is not the unprocessed status, it means that application 1 does not have an image to render. That is, the currently received vSync signal is redundant. It should be understood that if the vSync signal is requested from SF by calling the requestNextVsync interface, SF will request and distribute the vSync signal once and will not distribute redundant vSync signals.
- the redundant vSync signal is most likely distributed periodically by SF after requesting the vSync signal from SFSF by calling the setVsyncRate interface.
- Choreographer can determine that the current need to render consecutive multiple frames of images has been completed, and Choreographer can call the setVsyncRate interface to request SF to cancel the vSync signal.
- SF can end periodic distribution of vSync signals. In this way, Choreographer can promptly trigger SF to end the periodic distribution of vSync signals after discovering redundant vSync signals.
- Choreographer receives the vSync signal, but the processing status is not the unprocessed status, and it is determined to end rendering consecutive multi-frame images.
- Choreographer calls the setVsyncRate interface to request SF to cancel the vSync signal.
- Choreographer when Choreographer does not include the unprocessed status but receives the vSync signal from SF, it calls the setVsyncRate interface to request SF to cancel the vSync signal.
- the moment when Choreographer does not include the unprocessed state but receives the vSync signal from SF can also be called the second moment.
- Choreographer determines to end rendering consecutive multiple frames of images: First, as shown in S1202, Choreographer needs to request SF to cancel the vSync signal so that SF ends periodic distribution of vSync signals.
- Choreographer needs to trigger AnimationSmooth to update the switch state to the off state, so that the switch state in AnimationSmooth instructs Application 1 to end rendering consecutive multiple frames of images.
- Choreographer updates the local switch state to the off state, so that the local switch state instructs application 1 to end rendering consecutive multiple frames of images. It should be noted that the execution order of the above three aspects is not limited to that shown in Figure 12. During actual implementation, the order of the above three aspects is not strictly limited.
- Application 1 requests the vSync signal from Choreographer when it needs to render the first frame of images after multiple frames.
- Choreographer can directly call the requestNextVsync interface to request the vSync signal from SF without first calling the setVsyncRate interface to request SF to cancel the vSync signal.
- the display screen sends the vSync signal to SF.
- An embodiment of the present application also provides an electronic device, which may include a memory and one or more processors. Memory and processor coupling.
- the memory is used to store computer program code, which includes computer instructions.
- the processor executes the computer instructions, the electronic device can perform each function or step performed by the mobile phone in the above method embodiment.
- the chip system 1300 includes at least one processor 1301 and at least one interface circuit 1302.
- the processor 1301 and the interface circuit 1302 may be interconnected by wires.
- interface circuitry 1302 may be used to receive signals from other devices, such as memory of an electronic device.
- interface circuit 1302 may be used to send signals to other devices (eg, processor 1301).
- the interface circuit 1302 can read instructions stored in the memory and send the instructions to the processor 1301.
- the electronic device can be caused to perform various steps in the above embodiments.
- the chip system may also include other discrete devices, which are not specifically limited in the embodiments of this application.
- This embodiment also provides a computer storage medium that stores computer instructions.
- the computer instructions When the computer instructions are run on an electronic device, the electronic device executes the above related method steps to implement the image processing method in the above embodiment.
- This embodiment also provides a computer program product.
- the computer program product When the computer program product is run on a computer, it causes the computer to perform the above related steps to implement the image processing method in the above embodiment.
- inventions of the present application also provide a device.
- This device may be a chip, a component or a module.
- the device may include a connected processor and a memory.
- the memory is used to store computer execution instructions.
- the processor can execute computer execution instructions stored in the memory, so that the chip executes the image processing method in each of the above method embodiments.
- the electronic equipment, computer storage media, computer program products or chips provided in this embodiment are all used to execute the corresponding methods provided above. Therefore, the beneficial effects they can achieve can be referred to the corresponding methods provided above. The beneficial effects of the method will not be repeated here.
- the disclosed devices and methods can be implemented in other ways.
- the device embodiments described above are only illustrative.
- the division of modules or units is only a logical function division. In actual implementation, there may be other division methods, such as multiple divisions. Units or components may be combined or integrated into another device, or some features may be omitted, or not performed.
- the coupling or direct coupling or communication connection between each other shown or discussed may be through some interfaces, and the indirect coupling or communication connection of the devices or units may be in electrical, mechanical or other forms.
- the unit described as a separate component may or may not be physically separate.
- the component shown as a unit may be one physical unit or multiple physical units, that is, it may be located in one place, or it may be distributed to multiple different places. Some or all of the units can be selected according to actual needs to achieve the purpose of the solution of this embodiment.
- each functional unit in each embodiment of the present application can be integrated into one processing unit, each unit can exist physically alone, or two or more units can be integrated into one unit.
- the above integrated units can be implemented in the form of hardware or software functional units.
- the integrated unit is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a readable storage medium.
- the technical solutions of the embodiments of the present application are essentially or contribute to the existing technology, or all or part of the technical solution can be embodied in the form of a software product, and the software product is stored in a storage medium , including several instructions to cause a device (which can be a microcontroller, a chip, etc.) or a processor to execute all or part of the steps of the methods of various embodiments of the present application.
- the aforementioned storage media include: U disk, mobile hard disk, read-only memory (ROM), random access memory (Random Access Memory, RAM), magnetic disk or optical disk and other media that can store program code. .
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Computer Graphics (AREA)
- Human Computer Interaction (AREA)
- Digital Computer Display Output (AREA)
- Controls And Circuits For Display Device (AREA)
- Telephone Function (AREA)
Abstract
Description
Claims (18)
- 一种请求vSync信号的方法,其特征在于,用于具有显示功能的电子设备,所述电子设备中安装有第一应用,所述方法包括:在第一时刻,所述电子设备中的第一应用调用所述电子设备中窗口系统SF的setVsyncRate接口,向所述SF发送第一请求,所述第一请求用于请求vSync信号;响应于所述第一请求,所述SF周期性向所述第一应用分发所述vSync信号;在第二时刻,所述第一应用调用所述setVsyncRate接口,向所述SF发送第二请求,所述第二请求用于请求取消vSync信号,所述SF在接收到所述第二请求之后,结束周期性向所述第一应用分发所述vSync信号。
- 根据权利要求1所述的方法,其特征在于,所述方法还包括:所述第一应用确定需要渲染连续多帧图像,所述第一时刻包括请求渲染第一图像的时刻,所述第一图像为所述多帧图像中的第一帧图像。
- 根据权利要求2所述的方法,其特征在于,所述第一应用记录第一开关状态,所述电子设备的框架层的渲染模块中记录第二开关状态,所述第一开关状态和所述第二开关状态的初始值均为关闭状态;在所述第一应用确定需要渲染连续多帧图像之后,所述方法还包括:所述第一应用更新所述第一开关状态为开启状态;所述在第一时刻,所述电子设备中的第一应用调用所述电子设备中窗口系统SF的setVsyncRate接口,向所述SF发送第一请求,包括:在所述第一时刻,所述第一应用向所述渲染模块发送第一消息,所述第一消息用于请求vSync信号;响应于所述第一消息,且所述第一开关状态为所述开启状态,所述第二开关状态为所述关闭状态,所述渲染模块调用所述setVsyncRate接口,向所述SF发送第一请求。
- 根据权利要求3所述的方法,其特征在于,所述第一开关状态为所述开启状态,所述第二开关状态为所述关闭状态,所述方法还包括:所述渲染模块更新所述第二开关状态为所述开启状态。
- 根据权利要求4所述的方法,其特征在于,所述方法还包括:在第三时刻,所述第一应用向所述渲染模块发送第一消息,所述第一消息用于请求vSync信号,所述第三时刻为请求渲染第二图像的时刻,所述第二图像为所述多帧图像中除所述第一帧图像之外的任一图像;响应于所述第一消息,且所述第一开关状态为所述开启状态,所述第二开关状态为所述开启状态,所述渲染模块不向所述SF请求所述vSync信号。
- 根据权利要求4或5所述的方法,其特征在于,在所述向所述SF发送第一请求之后,所述方法还包括:所述第一应用确定结束渲染连续多帧图像,所述第二时刻包括请求渲染第三图像的时刻,所述第三图像为完成所述多帧图像的渲染后、所述第一应用需要渲染的第一帧图像。
- 根据权利要求6所述的方法,其特征在于,在所述第一应用确定结束渲染连续 多帧图像之后,所述方法还包括:所述第一应用更新所述第一开关状态为所述关闭状态;所述在第二时刻,所述第一应用调用所述setVsyncRate接口,向所述SF发送第二请求,包括:在所述第二时刻,所述第一应用向所述渲染模块发送第一消息,所述第一消息用于请求vSync信号;响应于所述第一消息,且所述第一开关状态为所述关闭状态,所述第二开关状态为所述开启状态,所述渲染模块调用所述setVsyncRate接口,向所述SF发送第二请求。
- 根据权利要求7所述的方法,其特征在于,所述第一开关状态为所述关闭状态,所述第二开关状态为所述开启状态,所述方法还包括:所述渲染模块更新所述第二开关状态为所述关闭状态。
- 根据权利要求7或8所述的方法,其特征在于,在所述向所述SF发送第二请求之后,所述方法还包括:所述第一应用调用所述SF的requestNextVsync接口,向所述SF发送第三请求,所述第三请求用于请求vSync信号;响应于所述第三请求,所述SF向所述第一应用分发一次所述vSync信号。
- 根据权利要求4或5所述的方法,其特征在于,所述SF周期性向所述第一应用分发所述vSync信号,包括:所述SF周期性向所述渲染模块分发所述vSync信号。
- 根据权利要求10所述的方法,其特征在于,所述方法还包括:在第一应用需要渲染第四图像时,向渲染模块发送所述第一消息,第四图像是第一应用需要显示的任一帧图像,所述第四图像包括所述第一图像或者所述第二图像;响应于第一消息,渲染模块记录第一标记,并在接收到来自所述SF的所述vSync信号后,删除所述第一标记;其中,第二时刻包括所述渲染模块在不包括所述第一标记的情况下,接收到来自所述SF的所述vSync信号的时刻。
- 根据权利要求11所述的方法,其特征在于,所述方法还包括:在所述第二时刻,所述渲染模块通知所述第一应用将所述第一开关状态更新为所述关闭状态,所述渲染模块更新所述第二开关状态为所述关闭状态。
- 根据权利要求3-12中任一项所述的方法,其特征在于,所述方法还包括:在第四时刻,所述第一应用向所述渲染模块发送第一消息,所述第一消息用于请求vSync信号;响应于所述第一消息,且所述第一开关状态和所述第二开关状态均为所述关闭状态,所述渲染模块调用所述requestNextVsync接口,向所述SF发送第四请求,所述第四请求用于请求vSync信号。
- 根据权利要求1-13中任一项所述的方法,其特征在于,所述SF位于所述电子设备的本地层,所述第一应用位于所述电子设备的应用程序层,在所述向所述SF发送第一请求之前,所述方法还包括:在所述电子设备的框架层中新增第一接口,在所述电子设备的Java本地接口层中新增第二接口,所述第一接口和所述第二接口是所述setVsyncRate接口对Java开放的接口;所述第一应用调用所述setVsyncRate接口,包括:所述第一应用依次经过所述第一接口和所述第二接口调用所述setVsyncRate接口。
- 根据权利要求1-14中任一项所述的方法,其特征在于,所述第一请求中包括周期n,n≥1,n为整数;所述响应于所述第一请求,所述SF周期性向所述第一应用分发所述vSync信号,包括:响应于所述第一请求,所述SF在每接收到n次所述vSync信号后,向所述第一应用分发一次所述vSync信号。
- 一种电子设备,其特征在于,所述电子设备包括存储器和处理器,所述存储器和所述处理器耦合;其中,所述存储器中存储有计算机程序代码,所述计算机程序代码包括计算机指令,当所述计算机指令被所述处理器执行时,使得所述电子设备执行如权利要求1-15中任一项所述的方法。
- 一种计算机可读存储介质,其特征在于,包括计算机指令,当所述计算机指令在电子设备上运行时,使得所述电子设备执行如权利要求1-15中任一项所述的方法。
- 一种芯片系统,其特征在于,所述芯片系统应用于包括处理器和存储器的电子设备,所述芯片系统包括一个或多个接口电路和一个或多个处理器,所述接口电路和所述处理器通过线路互联,所述接口电路用于从所述电子设备的存储器接收信号,并向所述处理器发送所述信号,所述信号包括所述存储器中存储的计算机指令,当所述处理器执行所述计算机指令时,使得所述电子设备执行如权利要求1-15中任一项所述的方法。
Priority Applications (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US18/993,937 US20260018147A1 (en) | 2022-09-14 | 2023-09-07 | Method for requesting vsync signal and electronic device |
| EP23864636.8A EP4538875A4 (en) | 2022-09-14 | 2023-09-07 | VSYNC SIGNAL REQUEST METHOD AND ELECTRONIC DEVICE |
| CN202380066090.1A CN119856158A (zh) | 2022-09-14 | 2023-09-07 | 一种请求vSync信号的方法及电子设备 |
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202211116851.3A CN117742835A (zh) | 2022-09-14 | 2022-09-14 | 一种请求vSync信号的方法及电子设备 |
| CN202211116851.3 | 2022-09-14 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2024055904A1 true WO2024055904A1 (zh) | 2024-03-21 |
Family
ID=90259670
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/CN2023/117580 Ceased WO2024055904A1 (zh) | 2022-09-14 | 2023-09-07 | 一种请求vSync信号的方法及电子设备 |
Country Status (4)
| Country | Link |
|---|---|
| US (1) | US20260018147A1 (zh) |
| EP (1) | EP4538875A4 (zh) |
| CN (2) | CN117742835A (zh) |
| WO (1) | WO2024055904A1 (zh) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2025227883A1 (zh) * | 2024-04-30 | 2025-11-06 | 华为技术有限公司 | 图形渲染的方法、装置和电子设备 |
Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN108228358A (zh) * | 2017-12-06 | 2018-06-29 | 广东欧珀移动通信有限公司 | 修正垂直同步信号的方法、装置、移动终端以及存储介质 |
| US20190206367A1 (en) * | 2016-08-23 | 2019-07-04 | Samsung Electronics Co., Ltd. | Electronic device, and method for controlling operation of electronic device |
| CN114443269A (zh) * | 2021-08-27 | 2022-05-06 | 荣耀终端有限公司 | 帧率调节方法和相关装置 |
| CN114518817A (zh) * | 2022-01-10 | 2022-05-20 | 荣耀终端有限公司 | 一种显示方法、电子设备及存储介质 |
-
2022
- 2022-09-14 CN CN202211116851.3A patent/CN117742835A/zh active Pending
-
2023
- 2023-09-07 EP EP23864636.8A patent/EP4538875A4/en active Pending
- 2023-09-07 WO PCT/CN2023/117580 patent/WO2024055904A1/zh not_active Ceased
- 2023-09-07 CN CN202380066090.1A patent/CN119856158A/zh active Pending
- 2023-09-07 US US18/993,937 patent/US20260018147A1/en active Pending
Patent Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20190206367A1 (en) * | 2016-08-23 | 2019-07-04 | Samsung Electronics Co., Ltd. | Electronic device, and method for controlling operation of electronic device |
| CN108228358A (zh) * | 2017-12-06 | 2018-06-29 | 广东欧珀移动通信有限公司 | 修正垂直同步信号的方法、装置、移动终端以及存储介质 |
| CN114443269A (zh) * | 2021-08-27 | 2022-05-06 | 荣耀终端有限公司 | 帧率调节方法和相关装置 |
| CN114518817A (zh) * | 2022-01-10 | 2022-05-20 | 荣耀终端有限公司 | 一种显示方法、电子设备及存储介质 |
Non-Patent Citations (1)
| Title |
|---|
| See also references of EP4538875A4 |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2025227883A1 (zh) * | 2024-04-30 | 2025-11-06 | 华为技术有限公司 | 图形渲染的方法、装置和电子设备 |
Also Published As
| Publication number | Publication date |
|---|---|
| CN117742835A (zh) | 2024-03-22 |
| CN119856158A (zh) | 2025-04-18 |
| US20260018147A1 (en) | 2026-01-15 |
| EP4538875A4 (en) | 2025-07-02 |
| EP4538875A1 (en) | 2025-04-16 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN114648951B (zh) | 控制屏幕刷新率动态变化的方法及电子设备 | |
| CN116052618B (zh) | 一种屏幕刷新率切换方法及电子设备 | |
| CN114518817B (zh) | 一种显示方法、电子设备及存储介质 | |
| CN114661263A (zh) | 一种显示方法、电子设备及存储介质 | |
| CN117234319B (zh) | 一种屏幕刷新率的设置方法及电子设备 | |
| WO2021056364A1 (en) | Methods and apparatus to facilitate frame per second rate switching via touch event signals | |
| WO2024016798A9 (zh) | 图像显示方法和相关装置 | |
| CN115640083A (zh) | 一种可提升动效性能的屏幕刷新方法及设备 | |
| CN118626201B (zh) | 运行帧率控制方法、电子设备、芯片系统及可读存储介质 | |
| WO2024055904A1 (zh) | 一种请求vSync信号的方法及电子设备 | |
| CN121368783A (zh) | 一种图层合成方法、电子设备及存储介质 | |
| EP4538852A1 (en) | Image processing method and electronic device | |
| CN121014208A (zh) | 一种图像处理方法和电子设备 | |
| CN118409839B (zh) | 应用程序启动方法与电子设备 | |
| CN119071562A (zh) | 一种图像处理方法和电子设备 | |
| CN117724779B (zh) | 一种生成界面图像的方法及电子设备 | |
| CN120153353A (zh) | 一种窗口动画处理方法及电子设备 | |
| CN121750778A (zh) | 一种图像处理方法及电子设备 | |
| CN120238754A (zh) | 一种图像处理方法及电子设备 | |
| CN117971087A (zh) | 数据处理方法和相关装置 | |
| CN120469659A (zh) | 图像显示方法、电子设备、芯片系统、存储介质及程序产品 | |
| WO2026085869A1 (zh) | 数据处理方法、电子设备、可读介质及程序产品 | |
| WO2025060779A1 (zh) | 一种调频方法及电子设备 | |
| CN121889760A (zh) | 数据处理方法、电子设备、可读介质及程序产品 | |
| CN120144081A (zh) | 图形渲染的方法、装置和电子设备 |
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: 23864636 Country of ref document: EP Kind code of ref document: A1 |
|
| WWE | Wipo information: entry into national phase |
Ref document number: 2023864636 Country of ref document: EP |
|
| WWE | Wipo information: entry into national phase |
Ref document number: 18993937 Country of ref document: US |
|
| ENP | Entry into the national phase |
Ref document number: 2023864636 Country of ref document: EP Effective date: 20250110 |
|
| WWE | Wipo information: entry into national phase |
Ref document number: 202380066090.1 Country of ref document: CN |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| WWP | Wipo information: published in national office |
Ref document number: 2023864636 Country of ref document: EP |
|
| WWP | Wipo information: published in national office |
Ref document number: 202380066090.1 Country of ref document: CN |
|
| WWP | Wipo information: published in national office |
Ref document number: 18993937 Country of ref document: US |