WO2024156206A1 - 一种显示方法及电子设备 - Google Patents

一种显示方法及电子设备 Download PDF

Info

Publication number
WO2024156206A1
WO2024156206A1 PCT/CN2023/127903 CN2023127903W WO2024156206A1 WO 2024156206 A1 WO2024156206 A1 WO 2024156206A1 CN 2023127903 W CN2023127903 W CN 2023127903W WO 2024156206 A1 WO2024156206 A1 WO 2024156206A1
Authority
WO
WIPO (PCT)
Prior art keywords
vertical synchronization
frame
synchronization signal
time
signal
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
Application number
PCT/CN2023/127903
Other languages
English (en)
French (fr)
Other versions
WO2024156206A9 (zh
Inventor
黄邦邦
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Honor Device Co Ltd
Original Assignee
Honor Device Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Honor Device Co Ltd filed Critical Honor Device Co Ltd
Priority to EP23875909.6A priority Critical patent/EP4432056A4/en
Publication of WO2024156206A1 publication Critical patent/WO2024156206A1/zh
Publication of WO2024156206A9 publication Critical patent/WO2024156206A9/zh
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/041Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
    • G06F3/0412Digitisers structurally integrated in a display
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/041Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
    • G06F3/0414Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means using force sensing means to determine a position
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/041Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
    • G06F3/044Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means by capacitive means
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/04817Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance using icons
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • G06F3/04883Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures for inputting data by handwriting, e.g. gesture or text
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • G06F3/147Digital output to display device ; Cooperation and interconnection of the display device with other functional units using display panels
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/36Control 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/363Graphics controllers
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/36Control 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/39Control of the bit-mapped memory
    • G09G5/399Control of the bit-mapped memory using two or more bit-mapped memories, the operations of which are switched in time, e.g. ping-pong buffers
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2340/00Aspects of display data processing
    • G09G2340/04Changes in size, position or resolution of an image
    • G09G2340/0407Resolution change, inclusive of the use of different resolutions for different screen areas
    • G09G2340/0435Change or adaptation of the frame rate of the video stream
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2340/00Aspects of display data processing
    • G09G2340/14Solving problems related to the presentation of information to be displayed
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2350/00Solving problems of bandwidth in display systems
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2354/00Aspects of interface with display user
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2370/00Aspects of data communication
    • G09G2370/04Exchange of auxiliary data, i.e. other than image data, between monitor and graphics controller
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/18Timing circuits for raster scan displays
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/70Reducing energy consumption in communication networks in wireless communication networks

Definitions

  • the present application relates to the technical field of display systems, and in particular to a display method and an electronic device.
  • Tracking performance is a key indicator for measuring touch experience. The shorter the tracking response time, the better the tracking performance. Tracking response time refers to the time required for an electronic device to display the page corresponding to the touch operation on the display screen after receiving the user's touch operation.
  • the present application provides a display method and an electronic device for solving the problem of poor chirality.
  • the present application provides a display method, which is applied to an electronic device, and the method includes: receiving a first touch operation input by a user; if the touch scenario of the first touch operation is a hand-off operation scenario, in response to a received first application vertical synchronization signal, within a first configuration time length in the hand-off operation scenario, performing a drawing and rendering operation on a first image frame; in response to a received first synthetic vertical synchronization signal, within a second configuration time length in the hand-off operation scenario, performing a synthesis operation on the first image frame after drawing and rendering; wherein the first synthetic vertical synchronization signal and the first application vertical synchronization signal are separated by the first configuration time length; in response to a received first hardware vertical synchronization signal, performing a display operation on the synthesized first image frame; wherein the first hardware vertical synchronization signal and the first synthetic vertical synchronization signal are separated by the second configuration time length; receiving a first touch operation input by a user; a second touch operation; if the touch scenario of
  • the configuration duration (including drawing time) can be adjusted in the scenario of keeping hands on operation.
  • the configuration time in the hands-on operation scenario is adjusted to be shorter than the configuration time in the hands-off operation scenario.
  • the rendering, synthesis and display operations are performed to reduce the touch delay, improve the hand tracking performance and improve the user experience.
  • the hands-on operation scenario includes a hands-on sliding operation scenario and a hands-on pressing operation scenario.
  • the method also includes: if the touch scenario of the first touch operation is a hands-off operation scenario, determining first configuration information corresponding to the hands-off operation scenario, the first configuration information including the first configuration duration and the second configuration duration; if the touch scenario of the second touch operation is a hands-on operation scenario, determining second configuration information corresponding to the hands-on operation scenario, the second configuration information including the third configuration duration and the fourth configuration duration.
  • the second application vertical synchronization signal and the third application vertical synchronization signal are spaced apart by a first time length
  • the second application vertical synchronization signal and the fourth application vertical synchronization signal are spaced apart by a second time length
  • the third application vertical synchronization signal is the previous application vertical synchronization signal of the second application vertical synchronization signal
  • the fourth application vertical synchronization signal is the next application vertical synchronization signal of the second application vertical synchronization signal
  • the second synthetic vertical synchronization signal and the third synthetic vertical synchronization signal are spaced apart by a third time length
  • the second synthetic vertical synchronization signal and the fourth synthetic vertical synchronization signal are spaced apart by a fourth time length
  • the third synthetic vertical synchronization signal is the previous synthetic vertical synchronization signal of the second synthetic vertical synchronization signal
  • the fourth synthetic vertical synchronization signal is the next synthetic vertical synchronization signal of the second synthetic vertical synchronization signal
  • the first time length is different from the second time length
  • the third time length is different from the fourth
  • the configuration duration may be modified by adjusting the offset of the applied vertical signal and/or the synthesized vertical signal.
  • the method further includes: generating the second application vertical synchronization signal based on the second hardware vertical synchronization signal and the first signal offset in the hands-free operation scenario; generating the second synthetic vertical synchronization signal based on the second hardware vertical synchronization signal and the second signal offset in the hands-free operation scenario.
  • the method further includes: obtaining a historical drawing time for executing the drawing and rendering operation, and a historical synthesis time for executing the synthesis operation; determining the third configuration time and the fourth configuration time according to the historical drawing time and the historical synthesis time; the third configuration time is greater than or equal to the maximum drawing time in the historical drawing time, and the fourth configuration time is greater than or equal to the maximum synthesis time in the historical synthesis time.
  • the third configuration duration and the fourth configuration duration determined based on historical statistical data can better ensure that the drawing rendering, synthesis and display operations are completed on time within the third configuration duration and the fourth configuration duration.
  • the method further includes: determining a chirality level corresponding to the hands-free operation scenario; and determining the third configuration duration and the fourth configuration duration based on the chirality level, wherein different chirality levels correspond to different configuration durations.
  • the present application further subdivides the hand-free sliding operation, so that different hand-free sliding operation scenarios correspond to different configuration durations, which can better adapt to the hand tracking requirements in different sliding operation scenarios and further improve the user experience.
  • the hand-free operation scenario includes a finger-free operation scenario and a stylus-free operation scenario.
  • the hand-following level corresponding to the stylus-on-hand operation scenario is higher than the hand-following level corresponding to the finger-on-hand operation scenario; wherein the third configuration time length corresponding to the stylus-on-hand operation scenario is shorter than the third configuration time length corresponding to the finger-on-hand operation scenario, and/or the fourth configuration time length corresponding to the stylus-on-hand operation scenario is shorter than the fourth configuration time length corresponding to the finger-on-hand operation scenario.
  • the method further includes: when there are multiple cached frames in a cache queue for caching rendered image frames, and the first cached frame at the top of the cache queue meets the frame loss condition, determining a first preset display sending time and a second preset display sending time corresponding to the first cached frame; the first preset display sending time is a preset time for performing a display sending operation on the first cached frame, and the second preset display sending time is a preset display sending time corresponding to a second synthetic vertical synchronization signal; when the first preset display sending time is earlier than the second preset display sending time, determining a third preset display sending time corresponding to the second cached frame; the third preset display sending time is a preset time for performing a display sending operation on the second cached frame, and the second cached frame is a cached frame in the cache queue located after the first cached frame; when the third preset display sending time is the same as the second
  • the first cache frame can be discarded and the second cache frame can be used to participate in the synthesis operation, so as to achieve the purpose of displaying the image on the display screen as quickly as possible, and the user will not feel any lag.
  • the method further includes: when the third preset display time is later than the second preset display time, and it is determined that the interval between the currently received second synthetic vertical synchronization signal and the previous second synthetic vertical synchronization signal is less than one Vsync cycle, or when the interval between the second application vertical synchronization signal used to trigger the drawing and rendering operation on the second cache frame and the previous second application vertical synchronization signal is less than one Vsync cycle, discarding the first cache frame and performing the synthesis operation on the second cache frame.
  • the method further includes: when the first preset display time is the same as the second preset display time, or when the third preset display time is later than the second preset display time, performing a synthesis operation on the first cache frame.
  • the frame loss conditions include: the timestamp attribute corresponding to the first preset display time of the first cached frame is an automatic timestamp, the current refresh rate is greater than 60Hz, and the time interval from the last time the image frame in the cache queue was discarded is greater than a preset time interval threshold.
  • the present application provides another display method, which is applied to an electronic device, and the method includes: receiving a second touch operation input by a user; if the touch scenario of the second touch operation is a hands-free operation scenario, then when there are multiple cached frames in a cache queue used to cache the rendered image frame, and the first cached frame at the top of the cache queue meets the frame loss condition, determine a first preset display sending time and a second preset display sending time corresponding to the first cached frame; the first preset display sending time is a preset time for performing a display sending operation on the first cached frame, and the second preset display sending time is a preset display sending time corresponding to a second synthetic vertical synchronization signal; when the first preset display sending time is earlier than the second preset display sending time, determine a third preset display sending time corresponding to the second cached frame; the third preset display sending time is a preset time for performing a display sending operation on the second cached frame, and the second cached frame is a cache
  • the first cache frame can be discarded and the second cache frame can be used to participate in the synthesis operation, so as to achieve the purpose of displaying the image on the display screen as quickly as possible, and the user will not feel any lag.
  • the method further includes: when the third preset display time is later than the second preset display time, and it is determined that the interval between the currently received second synthetic vertical synchronization signal and the previous second synthetic vertical synchronization signal is less than one Vsync cycle, or when the interval between the second application vertical synchronization signal used to trigger the drawing and rendering operation on the second cache frame and the previous second application vertical synchronization signal is less than one Vsync cycle, discarding the first cache frame and performing the synthesis operation on the second cache frame.
  • the method further includes: when the first preset display time is the same as the second preset display time, or when the third preset display time is later than the second preset display time, performing a synthesis operation on the first cache frame.
  • the frame loss conditions include: the timestamp attribute corresponding to the first preset display time of the first cached frame is an automatic timestamp, the current refresh rate is greater than 60Hz, and the time interval from the last time the image frame in the cache queue was discarded is greater than a preset time interval threshold.
  • the present application provides a display device, which may include: a first receiving module, used to receive a first touch operation input by a user; a first drawing and rendering module, used to, when the touch scenario of the first touch operation is a hand-off operation scenario, respond to a received first application vertical synchronization signal, and perform a drawing and rendering operation on a first image frame within a first configuration time length in the hand-off operation scenario; a first synthesis module, used to respond to the received first synthesis vertical synchronization signal, and perform a synthesis operation on the first image frame after drawing and rendering within a second configuration time length in the hand-off operation scenario; wherein the first synthesis vertical synchronization signal and the first application vertical synchronization signal are separated by the first configuration time length; a first display module, used to respond to the received first hardware vertical synchronization signal, and perform a display operation on the synthesized first image frame; wherein the first hardware vertical synchronization signal and the first synthesis vertical synchronization signal are separated by the second configuration time length
  • a display device provided in the third aspect can be used to execute any display method in the first aspect.
  • the present application provides another display device, the device comprising a sixth determining module, configured to cache a plurality of frames in a cache queue for caching rendered image frames, and the first frame in the cache queue is When the first cache frame at the position satisfies the frame loss condition, determine the first preset display sending time and the second preset display sending time corresponding to the first cache frame; the first preset display sending time is the preset time for performing the display sending operation on the first cache frame, and the second preset display sending time is the preset display sending time corresponding to the second synthetic vertical synchronization signal; a seventh determination module is used to determine the third preset display sending time corresponding to the second cache frame when the first preset display sending time is earlier than the second preset display sending time; the third preset display sending time is the preset time for performing the display sending operation on the second cache frame, and the second cache frame is the cache frame located after the first cache frame in the cache queue; a second synthesis module is used to discard the first cache frame and perform a synthesis operation
  • a display device provided in the fourth aspect can be used to execute any display method in the second aspect.
  • the present application provides an electronic device, comprising a memory and a processor; the memory and the processor are coupled; the memory is used to store computer program code, the computer program code comprises computer instructions, and when the processor executes the computer instructions, the electronic device executes a method as described in any one of the first aspect or the second aspect.
  • the present application provides a computer storage medium, in which a computer program or instruction is stored.
  • a computer program or instruction is stored.
  • the method as described in any one of the first aspect or the second aspect is executed.
  • the present application provides a computer program product, comprising a computer readable code, which, when executed in an electronic device, enables the electronic device to implement the method described in any one of the first aspect or the second aspect.
  • FIG1 is a framework diagram of an image display process provided by an embodiment of the present application.
  • FIG2 is a schematic diagram of a touch delay provided in an embodiment of the present application.
  • FIG3 is a schematic diagram of an image display process in a click operation scenario provided by an embodiment of the present application.
  • FIG4 is a schematic diagram of an image display process in another click operation scenario provided by an embodiment of the present application.
  • FIG5 is a schematic diagram of another image display process provided in an embodiment of the present application.
  • FIG6 is a schematic diagram of the structure of an electronic device provided in an embodiment of the present application.
  • FIG7 is a software structure block diagram of an electronic device provided in an embodiment of the present application.
  • FIG8 is a flow chart of a display method provided in Embodiment 1 of the present application.
  • FIG9 is a module interaction diagram of a display method provided in Embodiment 1 of the present application.
  • FIG10 is a scene diagram of a user sliding operation on a display screen provided in an embodiment of the present application.
  • FIG11 is a flow chart of a display method in a hands-free sliding operation scenario provided in Embodiment 1 of the present application;
  • FIG12 is a flowchart of a display method in another hands-free sliding operation scenario provided in the first embodiment of the present application.
  • FIG13 is a schematic diagram of a display process provided in an embodiment of the present application.
  • FIG14 is a statistical diagram of the actual working time of a drawing, rendering and synthesis operation provided by an embodiment of the present application.
  • FIG15 is a flow chart of a display method provided in Embodiment 2 of the present application.
  • FIG16 is a schematic diagram of an image display process provided in Embodiment 2 of the present application.
  • FIG17 is a schematic diagram of another image display process provided in Embodiment 2 of the present application.
  • FIG18 is a schematic diagram of the structure of a display device provided in an embodiment of the present application.
  • FIG. 19 is a schematic diagram of the structure of another display device provided in an embodiment of the present application.
  • a and/or B may represent: A exists alone, A and B exist at the same time, and B exists alone.
  • at least one means one or more
  • at least two means two or more
  • multiple also means two or more.
  • the pressure sensor in the touch screen TP detects the pressure value and uploads the pressure value to the algorithm library.
  • the algorithm library converts the pressure value into a coordinate value (also called point reporting data), and then sends the coordinate value to the Input module, which can resample the coordinate value to obtain the resampled coordinate value.
  • the application When the application receives the Vsync-APP signal (also called the application vertical synchronization signal), the application obtains the resampled coordinate value for image drawing and rendering; when the Vsync-SF signal (also called the synthetic vertical synchronization signal) is received, the synthesis module synthesizes the rendered image; when the Vsync-HW signal (also called the hardware vertical synchronization signal) is received, the synthesis module sends the synthesized image to the display LCD for display.
  • Vsync-APP signal also called the application vertical synchronization signal
  • the hand tracking response time also known as touch latency
  • the touch delay mainly includes the following four parts of delay: the first part of the delay T1 represents the time consumed from the user touching the touch screen TP (point A in Figure 2) to the generation of point reporting data (point B in Figure 2); the second part of the delay T2 represents the time consumed for transmitting the point reporting data to the input subsystem and waiting for the point reporting to be consumed (point C in Figure 2); the third part of the delay T3 represents the time consumed for taking out the point reporting data, rendering, synthesis and sending it to the display (point D in Figure 2); the fourth part of the delay T4 represents the time consumed for displaying the synthesized image (point E in Figure 2) on the display screen.
  • FIG. 2 shows the process from a user touching a display screen to the screen corresponding to the touch operation being displayed on the display screen. It should be understood that optimizing any one of the above four delays can improve the hand-following performance.
  • the method provided in the embodiment of the present application aims to optimize the above third delay T3.
  • Frame refers to the smallest unit of a single picture in the interface display.
  • a frame can be understood as a still picture. Displaying multiple connected frames quickly and continuously can create the illusion of motion.
  • Frame rate refers to the number of frames that refresh an image in 1 second. It can also be understood as the number of times the graphics processor in an electronic device refreshes the screen per second.
  • a high frame rate can produce smoother and more realistic animations. The more frames per second, the smoother the displayed action will be.
  • Frame drawing refers to the picture drawing of the display interface.
  • the display interface can be composed of one or more views, each view can be drawn by the visual control of the view system, each view is composed of subviews, and a subview corresponds to a small widget in the view, for example, one of the subviews corresponds to a symbol in the picture view.
  • Frame rendering It is to color the drawn view or add 3D effects, etc.
  • 3D effects can be lighting effects, shadow effects, and texture effects.
  • Frame synthesis It is the process of synthesizing multiple or more rendered views into a display interface.
  • Sending for display It is the operation of sending the synthesized view to the display module (such as the display driver chip DDIC).
  • the interface display process corresponding to the third part of the delay T3 is described below.
  • Vsync Vertical Synchronization
  • the Vsync signal is a periodic signal, and the Vsync signal period can be set according to the screen refresh rate.
  • the Vsync signal period can be 16.6ms, that is, the electronic device generates a control signal every 16.6ms to trigger the Vsync signal period.
  • the Vsync signal period can be 11.1ms, that is, the electronic device generates a control signal every 11.1ms to trigger the Vsync signal period.
  • the Vsync signal is divided into a hardware Vsync signal (also called a Vsync-HW signal) and a software Vsync signal.
  • the Vsync-HW signal is generated by the screen LCD, and the synthesis module converts the Vsync-HW signal into a software signal: Vsync-APP signal and Vsync-SF signal.
  • the Vsync-APP signal is used to trigger the execution of drawing and rendering operations.
  • the Vsync-SF signal is used to trigger the execution of synthesis operations.
  • the Vsync-HW signal is used to trigger the execution of display operations.
  • the system in current electronic devices pre-configures sufficient drawing time for applications and sufficient synthesis time for synthesis modules to perform drawing rendering and synthesis operations.
  • the synthesis module converts the Vsync-HW signal into a software signal
  • the offset of the Vsync-APP signal and the Vsync-SF signal can be adjusted so that the Vsync-APP signal, the Vsync-SF signal and the Vsync-HW signal are sent at different positions in each Vsync cycle, so that the drawing rendering and synthesis operations meet their respective configured durations.
  • the offset of the Vsync-APP signal is set to 1 ms
  • the offset of the Vsync-SF signal is set to -2 ms.
  • the sending rhythm of the Vsync-APP signal, the Vsync-SF signal, and the Vsync-HW signal is shown in FIG3 .
  • the method for calculating the drawing duration configured for the drawing rendering operation and the composition duration configured for the composition operation is as follows:
  • the drawing time Tapp is calculated according to the following first relationship
  • the synthesis time Tsf is calculated according to the following second relationship.
  • Tapp represents the drawing time configured for the drawing rendering operation
  • Tsf represents the synthesis time configured for the synthesis operation
  • Tte represents the Vsync period
  • appOffset represents the offset of the Vsync-APP signal
  • sfOffset represents the offset of the Vsync-SF signal.
  • the application in response to the Vsync-APP signal 11, the application performs a drawing and rendering operation on frame 1, and the frame 1 after drawing and rendering has to wait for the Vsync-SF signal (i.e., the Vsync-SF signal 22 in FIG3 ) with an interval of 19.2ms with the Vsync-APP signal 11 before it can be consumed. That is, in response to the Vsync-SF signal 22, the synthesis module takes out the frame 1 after drawing and rendering for consumption and performs a synthesis operation.
  • the Vsync-SF signal i.e., the Vsync-SF signal 22 in FIG3
  • the synthesized frame 1 has to wait for the Vsync-HW signal (i.e., the Vsync-HW signal 33 in FIG3 ) with an interval of 13.1ms with the Vsync-SF signal 22 before it can be consumed. That is, in response to the Vsync-HW signal 33, the display module performs a display operation on the synthesized frame 1 and refreshes frame 1 on the screen. Thus, it takes about three Vsync cycles from drawing and rendering frame 1 to sending frame 1 to the display module for display.
  • Vsync-HW signal i.e., the Vsync-HW signal 33 in FIG3
  • the electronic device uses the corresponding drawing duration and synthesis duration pre-set by the above method to perform drawing rendering, synthesis and display operations.
  • the above pre-set configuration duration may be able to meet the requirements of image brushing in some application scenarios (such as click operation scenarios).
  • the drawing rendering, synthesis and display operations are still performed based on such configuration duration, which may cause poor hand tracking.
  • a frame of image needs to go through about three Vsync cycles from drawing and rendering to sending it to the display module for display, the image display efficiency is poor, the touch response is slow, and the hand tracking is poor, which seriously affects the user's application experience in the scenario where the user does not let go of the hand to slide.
  • the rendered image frame can be cached in the cache queue of the synthesis module, waiting to be consumed by the synthesis module.
  • the synthesis module sequentially takes out the cache frames from the cache queue to perform synthesis operations.
  • the synthesis module takes out the cached frames from the cache queue for synthesis operations in the order in which the cached frames are queued. For example, in the first Vsync cycle, the application starts to draw and render frame 4, and the cache queue includes frames 2 and 3 after drawing and rendering. In the second Vsync cycle, the application starts to draw and render frame 5, and the synthesis module takes out frame 2, which is ranked first, from the cache queue for synthesis operations, and the cache queue includes frames 3 and 4 after drawing and rendering.
  • frame 4 is displayed on the screen. This shows that compared to the cache queue, In the case where there is no cached frame, and there are two cached frames in the cache queue, the image will be displayed with a delay of two Vsync cycles.
  • the number of cached frames accumulated in the cache queue will also affect the third part of the delay T3.
  • T represents the total configuration time from the start of drawing rendering to the display sending operation
  • M represents the number of cache frames accumulated in the cache queue, and M is a positive integer greater than or equal to 0.
  • an embodiment of the present application provides a display method.
  • the display method can reduce the third part of the delay T3 by optimizing the configuration time and/or reducing the number of cache frames accumulated in the cache queue, thereby improving the hand tracking performance.
  • a display method provided in an embodiment of the present application can be applied to any electronic device with a touch screen, such as a mobile phone, a watch, a tablet computer, etc.
  • the specific structure of the electronic device can refer to the structural diagram of the electronic device shown in FIG6 .
  • the electronic device 100 may include a processor 110, an external memory interface 120, an internal memory 121, a universal serial bus (USB) interface 130, a charging management module 140, a power management module 141, a battery 142, an antenna 1, an antenna 2, a mobile communication module 150, a wireless communication module 160, an audio module 170, a speaker 170A, a receiver 170B, a microphone 170C, an earphone interface 170D, a sensor module 180, a button 190, a motor 191, an indicator 192, a camera 193, a display screen 194, and a subscriber identification module (SIM) card interface 195, etc.
  • SIM subscriber identification module
  • the sensor module 180 may include a pressure sensor 180A, a gyroscope sensor 180B, an air pressure sensor 180C, a magnetic sensor 180D, an acceleration sensor 180E, a distance sensor 180F, a proximity light sensor 180G, a fingerprint sensor 180H, a temperature sensor 180J, a touch sensor 180K, an ambient light sensor 180L, a bone conduction sensor 180M, etc.
  • the structure illustrated in the embodiment of the present invention does not constitute a specific limitation on the electronic device 100.
  • the electronic device 100 may include more or fewer components than shown in the figure, or combine some components, or split some components, or arrange the components differently.
  • the components shown in the figure may be implemented in hardware, software, or a combination of software and hardware.
  • the processor 110 may include one or more processing units, for example, the processor 110 may include an application processor (AP), a modem processor, a graphics processor (GPU), an image signal processor (ISP), a controller, a video codec, a digital signal processor (DSP), a baseband processor, and/or a neural-network processing unit (NPU), etc.
  • AP application processor
  • GPU graphics processor
  • ISP image signal processor
  • DSP digital signal processor
  • NPU neural-network processing unit
  • Different processing units may be independent devices or integrated in one or more processors.
  • the controller can generate operation control signals according to the instruction operation code and timing signal to complete the control of instruction fetching and execution.
  • the processor 110 may also be provided with a memory for storing instructions and data.
  • the memory in the processor 110 is a cache memory.
  • the memory may store instructions or data that the processor 110 has just used or cyclically used. If the processor 110 needs to use the instruction or data again, it may be directly called from the memory. This avoids repeated access, reduces the waiting time of the processor 110, and thus improves the efficiency of the system.
  • processor 110 may include one or more interfaces.
  • the interface may include an integrated circuit (inter-integrated circuit, I2C) interface, integrated circuit built-in audio (inter-integrated circuit sound, I2S) interface, pulse code modulation (pulse code modulation, PCM) interface, universal asynchronous receiver/transmitter (universal asynchronous receiver/transmitter, UART) interface, mobile industry processor interface (mobile industry processor interface, MIPI), general-purpose input/output (general-purpose input/output, GPIO) interface, subscriber identity module (subscriber identity module, SIM) interface, and/or universal serial bus (universal serial bus, USB) interface, etc.
  • I2C integrated circuit
  • I2S integrated circuit built-in audio
  • PCM pulse code modulation
  • PCM pulse code modulation
  • UART universal asynchronous receiver/transmitter
  • MIPI mobile industry processor interface
  • GPIO general-purpose input/output
  • subscriber identity module subscriber identity module
  • SIM subscriber identity module
  • USB universal serial bus
  • the I2C interface is a bidirectional synchronous serial bus, including a serial data line (SDA) and a serial clock line (SCL).
  • the processor 110 may include multiple groups of I2C buses.
  • the processor 110 may be coupled to the touch sensor 180K, the charger, the flash, the camera 193, etc. through different I2C bus interfaces.
  • the processor 110 may be coupled to the touch sensor 180K through the I2C interface, so that the processor 110 communicates with the touch sensor 180K through the I2C bus interface, thereby realizing the touch function of the electronic device 100.
  • the I2S interface can be used for audio communication.
  • the processor 110 can include multiple I2S buses.
  • the processor 110 can be coupled to the audio module 170 via the I2S bus to achieve communication between the processor 110 and the audio module 170.
  • the audio module 170 can transmit an audio signal to the wireless communication module 160 via the I2S interface to achieve the function of answering a call through a Bluetooth headset.
  • the PCM interface can also be used for audio communication, sampling, quantizing and encoding analog signals.
  • the audio module 170 and the wireless communication module 160 can be coupled via a PCM bus interface.
  • the audio module 170 can also transmit audio signals to the wireless communication module 160 via the PCM interface to realize the function of answering calls via a Bluetooth headset. Both the I2S interface and the PCM interface can be used for audio communication.
  • the UART interface is a universal serial data bus for asynchronous communication.
  • the bus can be a bidirectional communication bus. It converts the data to be transmitted between serial communication and parallel communication.
  • the UART interface is generally used to connect the processor 110 and the wireless communication module 160.
  • the processor 110 communicates with the Bluetooth module in the wireless communication module 160 through the UART interface to implement the Bluetooth function.
  • the audio module 170 can transmit an audio signal to the wireless communication module 160 through the UART interface to implement the function of playing music through a Bluetooth headset.
  • the MIPI interface can be used to connect the processor 110 with peripheral devices such as the display screen 194 and the camera 193.
  • the MIPI interface includes a camera serial interface (CSI), a display serial interface (DSI), etc.
  • the processor 110 and the camera 193 communicate via the CSI interface to implement the shooting function of the electronic device 100.
  • the processor 110 and the display screen 194 communicate via the DSI interface to implement the display function of the electronic device 100.
  • the GPIO interface can be configured by software.
  • the GPIO interface can be configured as a control signal or as a data signal.
  • the GPIO interface can be used to connect the processor 110 with the camera 193, the display 194, the wireless communication module 160, the audio module 170, the sensor module 180, etc.
  • the GPIO interface can also be configured as an I2C interface, an I2S interface, a UART interface, a MIPI interface, etc.
  • the USB interface 130 is an interface that complies with the USB standard specification, and can be a Mini USB interface, a Micro USB interface, a USB Type C interface, etc.
  • the USB interface 130 can be used to connect a charger to charge the electronic device 100, and can also be used to transfer data between the electronic device 100 and peripheral devices. It can also be used to connect headphones to play audio through the headphones. This interface can also be used to connect other electronic devices, such as Such as AR devices.
  • the interface connection relationship between the modules illustrated in the embodiment of the present invention is only a schematic illustration and does not constitute a structural limitation on the electronic device 100.
  • the electronic device 100 may also adopt different interface connection methods in the above embodiments, or a combination of multiple interface connection methods.
  • the charging management module 140 is used to receive charging input from a charger.
  • the charger may be a wireless charger or a wired charger.
  • the charging management module 140 may receive charging input from a wired charger through the USB interface 130.
  • the charging management module 140 may receive wireless charging input through a wireless charging coil of the electronic device 100. While the charging management module 140 is charging the battery 142, it may also power the electronic device through the power management module 141.
  • the power management module 141 is used to connect the battery 142, the charging management module 140 and the processor 110.
  • the power management module 141 receives input from the battery 142 and/or the charging management module 140, and supplies power to the processor 110, the internal memory 121, the display screen 194, the camera 193, and the wireless communication module 160.
  • the power management module 141 can also be used to monitor parameters such as battery capacity, battery cycle number, battery health status (leakage, impedance), etc.
  • the power management module 141 can also be set in the processor 110.
  • the power management module 141 and the charging management module 140 can also be set in the same device.
  • the wireless communication function of the electronic device 100 can be implemented through the antenna 1, the antenna 2, the mobile communication module 150, the wireless communication module 160, the modem processor and the baseband processor.
  • Antenna 1 and antenna 2 are used to transmit and receive electromagnetic wave signals.
  • Each antenna in electronic device 100 can be used to cover a single or multiple communication frequency bands. Different antennas can also be reused to improve the utilization of antennas.
  • antenna 1 can be reused as a diversity antenna for a wireless local area network.
  • the antenna can be used in combination with a tuning switch.
  • the mobile communication module 150 can provide solutions for wireless communications including 2G/3G/4G/5G, etc., applied to the electronic device 100.
  • the mobile communication module 150 may include at least one filter, a switch, a power amplifier, a low noise amplifier (LNA), etc.
  • the mobile communication module 150 may receive electromagnetic waves from the antenna 1, and perform filtering, amplification, and other processing on the received electromagnetic waves, and transmit them to the modulation and demodulation processor for demodulation.
  • the mobile communication module 150 may also amplify the signal modulated by the modulation and demodulation processor, and convert it into electromagnetic waves for radiation through the antenna 1.
  • at least some of the functional modules of the mobile communication module 150 may be arranged in the processor 110.
  • at least some of the functional modules of the mobile communication module 150 may be arranged in the same device as at least some of the modules of the processor 110.
  • the modem processor may include a modulator and a demodulator.
  • the modulator is used to modulate the low-frequency baseband signal to be sent into a medium-high frequency signal.
  • the demodulator is used to demodulate the received electromagnetic wave signal into a low-frequency baseband signal.
  • the demodulator then transmits the demodulated low-frequency baseband signal to the baseband processor for processing.
  • the application processor outputs a sound signal through an audio device (not limited to a speaker 170A, a receiver 170B, etc.), or displays an image or video through a display screen 194.
  • the modem processor may be an independent device.
  • the modem processor may be independent of the processor 110 and be set in the same device as the mobile communication module 150 or other functional modules.
  • the wireless communication module 160 can provide wireless LAN (wireless LAN) and other functions applied to the electronic device 100.
  • the wireless communication module 160 may be one or more devices integrating at least one communication processing module.
  • the wireless communication module 160 receives electromagnetic waves via the antenna 2, modulates the frequency of the electromagnetic wave signal, performs filtering processing, and sends the processed signal to the processor 110.
  • the wireless communication module 160 may also receive a signal to be sent from the processor 110, modulate the frequency of the signal, amplify the signal, and convert it into an electromagnetic wave for radiation through the antenna 2.
  • the antenna 1 of the electronic device 100 is coupled to the mobile communication module 150, and the antenna 2 is coupled to the wireless communication module 160, so that the electronic device 100 can communicate with the network and other devices through wireless communication technology.
  • the wireless communication technology may include global system for mobile communications (GSM), general packet radio service (GPRS), code division multiple access (CDMA), wideband code division multiple access (WCDMA), time-division code division multiple access (TD-SCDMA), long term evolution (LTE), BT, GNSS, WLAN, NFC, FM, and/or IR technology.
  • the GNSS may include a global positioning system (GPS), a global navigation satellite system (GLONASS), a Beidou navigation satellite system (BDS), a quasi-zenith satellite system (QZSS) and/or a satellite based augmentation system (SBAS).
  • GPS global positioning system
  • GLONASS global navigation satellite system
  • BDS Beidou navigation satellite system
  • QZSS quasi-zenith satellite system
  • SBAS satellite based augmentation system
  • the electronic device 100 implements the display function through a GPU, a display screen 194, and an application processor.
  • the GPU is a microprocessor for image processing, which connects the display screen 194 and the application processor.
  • the GPU is used to perform mathematical and geometric calculations for graphics rendering.
  • the processor 110 may include one or more GPUs that execute program instructions to generate or change display information.
  • the display screen 194 is used to display images, videos, etc.
  • the display screen 194 includes a display panel.
  • the display panel can be 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 (AMOLED), a flexible light-emitting diode (FLED), Miniled, MicroLed, Micro-oLed, quantum dot light-emitting diodes (QLED), etc.
  • the electronic device 100 may include 1 or N display screens 194, where N is a positive integer greater than 1.
  • the electronic device 100 can realize the shooting function through ISP, camera 193, video codec, GPU, display screen 194 and application processor.
  • the ISP is used to process the data fed back by the camera 193. For example, when taking a photo, the shutter is opened, and the light is transmitted to the camera photosensitive element through the lens. The light signal is converted into an electrical signal, and the camera photosensitive element transmits the electrical signal to the ISP for processing and converts it into an image visible to the naked eye.
  • the ISP can also perform algorithm optimization on the noise, brightness, and skin color of the image. The ISP can also optimize the exposure, color temperature and other parameters of the shooting scene. In some embodiments, the ISP can be set in the camera 193.
  • the camera 193 is used to capture still images or videos.
  • the object is projected onto a photosensitive element through the lens to generate an optical image.
  • the photosensitive element can be a charge coupled device (CCD) or a complementary metal-oxide-semiconductor (CMOS) phototransistor.
  • CMOS complementary metal-oxide-semiconductor
  • the photosensitive element converts the light signal into
  • the ISP converts the digital image signal into an electrical signal, and then transmits the electrical signal to the ISP to convert it into a digital image signal.
  • the ISP outputs the digital image signal to the DSP for processing.
  • the DSP converts the digital image signal into an image signal in a standard RGB, YUV or other format.
  • the electronic device 100 may include 1 or N cameras 193, where N is a positive integer greater than 1.
  • the digital signal processor is used to process digital signals, and can process not only digital image signals but also other digital signals. For example, when the electronic device 100 is selecting a frequency point, the digital signal processor is used to perform Fourier transform on the frequency point energy.
  • Video codecs are used to compress or decompress digital videos.
  • the electronic device 100 may support one or more video codecs. In this way, the electronic device 100 may play or record videos in a variety of coding formats, such as Moving Picture Experts Group (MPEG) 1, MPEG2, MPEG3, MPEG4, etc.
  • MPEG Moving Picture Experts Group
  • MPEG2 MPEG2, MPEG3, MPEG4, etc.
  • NPU is a neural network (NN) computing processor.
  • NN neural network
  • applications such as intelligent cognition of electronic device 100 can be realized, such as image recognition, face recognition, voice recognition, text understanding, etc.
  • the external memory interface 120 can be used to connect an external memory card, such as a Micro SD card, to expand the storage capacity of the electronic device 100.
  • the external memory card communicates with the processor 110 through the external memory interface 120 to implement a data storage function. For example, files such as music and videos can be stored in the external memory card.
  • the internal memory 121 can be used to store computer executable program codes, which include instructions.
  • the internal memory 121 may include a program storage area and a data storage area.
  • the program storage area may store an operating system, an application required for at least one function (such as a sound playback function, an image playback function, etc.), etc.
  • the data storage area may store data created during the use of the electronic device 100 (such as audio data, a phone book, etc.), etc.
  • the internal memory 121 may include a high-speed random access memory, and may also include a non-volatile memory, such as at least one disk storage device, a flash memory device, a universal flash storage (UFS), etc.
  • the processor 110 executes various functional applications and data processing of the electronic device 100 by running instructions stored in the internal memory 121 and/or instructions stored in a memory provided in the processor.
  • the electronic device 100 can implement audio functions such as music playing and recording through the audio module 170, the speaker 170A, the receiver 170B, the microphone 170C, the headphone jack 170D, and the application processor.
  • the audio module 170 is used to convert digital audio information into analog audio signal output, and is also used to convert analog audio input into digital audio signals.
  • the audio module 170 can also be used to encode and decode audio signals.
  • the audio module 170 can be arranged in the processor 110, or some functional modules of the audio module 170 can be arranged in the processor 110.
  • the speaker 170A also called a "speaker" is used to convert an audio electrical signal into a sound signal.
  • the electronic device 100 can listen to music or listen to a hands-free call through the speaker 170A.
  • a plurality of speakers 170A can be provided in the electronic device 100.
  • a speaker 170A can be provided on the top of the electronic device 100, and a speaker 170A can also be provided on the bottom, and so on.
  • the receiver 170B also called a "receiver" is used to convert audio electrical signals into sound signals.
  • the voice can be received by placing the receiver 170B close to the human ear.
  • the speaker 170A and the receiver 170B can also be set as one component, which is not limited in this application.
  • Microphone 170C also called “microphone” or “microphone” is used to convert sound signals into electrical signals. When making a call or sending a voice message, the user can make a sound by approaching the microphone 170C with his mouth, and input the sound signal into the microphone 170C.
  • the electronic device 100 can be provided with at least one microphone 170C. In other embodiments, the electronic device 100 can be provided with two microphones 170C, which can not only collect sound signals but also realize the noise reduction function. In other embodiments, the electronic device 100 can also be provided with three, four or more microphones 170C to realize the collection of sound signals, noise reduction, identification of sound sources, and realization of directional recording functions, etc.
  • the earphone interface 170D is used to connect a wired earphone.
  • the earphone interface 170D may be the USB interface 130, or may be a 3.5 mm open mobile terminal platform (OMTP) standard interface or a cellular telecommunications industry association of the USA (CTIA) standard interface.
  • OMTP open mobile terminal platform
  • CTIA cellular telecommunications industry association of the USA
  • the pressure sensor 180A is used to sense the pressure signal and can convert the pressure signal into an electrical signal.
  • the pressure sensor 180A can be set on the display screen 194.
  • the capacitive pressure sensor can be a parallel plate including at least two conductive materials.
  • the electronic device 100 determines the intensity of the pressure according to the change in capacitance.
  • the electronic device 100 detects the touch operation intensity according to the pressure sensor 180A.
  • the electronic device 100 can also calculate the touch position according to the detection signal of the pressure sensor 180A.
  • touch operations acting on the same touch position but with different touch operation intensities can correspond to different operation instructions. For example: when a touch operation with a touch operation intensity less than the first pressure threshold acts on the short message application icon, an instruction to view the short message is executed. When a touch operation with a touch operation intensity greater than or equal to the first pressure threshold acts on the short message application icon, an instruction to create a new short message is executed.
  • the gyro sensor 180B can be used to determine the motion posture of the electronic device 100.
  • the angular velocity of the electronic device 100 around three axes i.e., x, y, and z axes
  • the gyro sensor 180B can be used for anti-shake shooting. For example, when the shutter is pressed, the gyro sensor 180B detects the angle of the electronic device 100 shaking, calculates the distance that the lens module needs to compensate based on the angle, and allows the lens to offset the shaking of the electronic device 100 through reverse movement to achieve anti-shake.
  • the gyro sensor 180B can also be used for navigation and somatosensory game scenes.
  • the air pressure sensor 180C is used to measure air pressure.
  • the electronic device 100 calculates the altitude through the air pressure value measured by the air pressure sensor 180C to assist positioning and navigation.
  • the magnetic sensor 180D includes a Hall sensor.
  • the electronic device 100 can use the magnetic sensor 180D to detect the opening and closing of the flip leather case.
  • the electronic device 100 when the electronic device 100 is a flip phone, the electronic device 100 can detect the opening and closing of the flip cover according to the magnetic sensor 180D. Then, according to the detected opening and closing state of the leather case or the opening and closing state of the flip cover, the flip cover can be automatically unlocked.
  • the acceleration sensor 180E can detect the magnitude of the acceleration of the electronic device 100 in all directions (generally three axes). When the electronic device 100 is stationary, the magnitude and direction of gravity can be detected. It can also be used to identify the posture of the electronic device and is applied to applications such as horizontal and vertical screen switching and pedometers.
  • the distance sensor 180F is used to measure the distance.
  • the electronic device 100 can measure the distance by infrared or laser. In some embodiments, when shooting a scene, the electronic device 100 can use the distance sensor 180F to measure the distance to achieve fast focusing.
  • the proximity light sensor 180G may include, for example, a light emitting diode (LED) and a light detector, such as a photodiode.
  • the light emitting diode may be an infrared light emitting diode.
  • the electronic device 100 emits infrared light outward through the light emitting diode.
  • the electronic device 100 uses a photodiode to detect infrared reflected light from nearby objects. When sufficient reflected light is detected, it can be determined that there is an object near the electronic device 100. When insufficient reflected light is detected, the electronic device 100 can determine that there is no object near the electronic device 100.
  • the electronic device 100 can use the proximity light sensor 180G to detect that the user holds the electronic device 100 close to the ear to talk, so as to automatically turn off the screen to save power.
  • the proximity light sensor 180G can also be used in the leather case mode and the pocket mode to automatically unlock and lock the screen.
  • the ambient light sensor 180L is used to sense the brightness of the ambient light.
  • the electronic device 100 can adaptively adjust the brightness of the display screen 194 according to the perceived ambient light brightness.
  • the ambient light sensor 180L can also be used to automatically adjust the white balance when taking pictures.
  • the ambient light sensor 180L can also cooperate with the proximity light sensor 180G to detect whether the electronic device 100 is in a pocket to prevent accidental touches.
  • the fingerprint sensor 180H is used to collect fingerprints.
  • the electronic device 100 can use the collected fingerprint characteristics to implement fingerprint unlocking, access application locks, fingerprint photography, fingerprint call answering, etc.
  • the temperature sensor 180J is used to detect temperature.
  • the electronic device 100 uses the temperature detected by the temperature sensor 180J to execute a temperature processing strategy. For example, when the temperature reported by the temperature sensor 180J exceeds a threshold, the electronic device 100 reduces the performance of a processor located near the temperature sensor 180J to reduce power consumption and implement thermal protection. In other embodiments, when the temperature is lower than another threshold, the electronic device 100 heats the battery 142 to avoid abnormal shutdown of the electronic device 100 due to low temperature. In other embodiments, when the temperature is lower than another threshold, the electronic device 100 boosts the output voltage of the battery 142 to avoid abnormal shutdown caused by low temperature.
  • the touch sensor 180K is also called a "touch control device”.
  • the touch sensor 180K can be set on the display screen 194, and the touch sensor 180K and the display screen 194 form a touch screen, also called a "touch control screen”.
  • the touch sensor 180K is used to detect touch operations acting on or near it.
  • the touch sensor can pass the detected touch operation to the application processor to determine the type of touch event.
  • Visual output related to the touch operation can be provided through the display screen 194.
  • the touch sensor 180K can also be set on the surface of the electronic device 100, which is different from the position of the display screen 194.
  • the bone conduction sensor 180M can obtain a vibration signal. In some embodiments, the bone conduction sensor 180M can obtain a vibration signal of a vibrating bone block of the vocal part of the human body. The bone conduction sensor 180M can also contact the human pulse to receive a blood pressure beat signal. In some embodiments, the bone conduction sensor 180M can also be set in an earphone and combined into a bone conduction earphone.
  • the audio module 170 can parse out a voice signal based on the vibration signal of the vibrating bone block of the vocal part obtained by the bone conduction sensor 180M to realize a voice function.
  • the application processor can parse the heart rate information based on the blood pressure beat signal obtained by the bone conduction sensor 180M to realize a heart rate detection function.
  • the key 190 includes a power key, a volume key, etc.
  • the key 190 may be a mechanical key or a touch key.
  • the electronic device 100 may receive key input and generate key signal input related to user settings and function control of the electronic device 100.
  • Motor 191 can generate vibration prompts.
  • Motor 191 can be used for incoming call vibration prompts, and can also be used for touch vibration feedback.
  • touch operations acting on different applications can correspond to different vibration feedback effects.
  • touch operations acting on different areas of the display screen 194 can also correspond to different vibration feedback effects.
  • Different application scenarios for example: time reminders, receiving messages, alarm clocks, games, etc.
  • the touch vibration feedback effect can also support customization.
  • Indicator 192 may be an indicator light, which may be used to indicate the charging status, power change, or Messages, missed calls, notifications, etc.
  • the SIM card interface 195 is used to connect a SIM card.
  • the SIM card can be connected to and separated from the electronic device 100 by inserting it into the SIM card interface 195 or pulling it out from the SIM card interface 195.
  • the electronic device 100 can support 1 or N SIM card interfaces, where N is a positive integer greater than 1.
  • the SIM card interface 195 can support Nano SIM cards, Micro SIM cards, SIM cards, and the like. Multiple cards can be inserted into the same SIM card interface 195 at the same time. The types of the multiple cards can be the same or different.
  • the SIM card interface 195 can also be compatible with different types of SIM cards.
  • the SIM card interface 195 can also be compatible with external memory cards.
  • the electronic device 100 interacts with the network through the SIM card to implement functions such as calls and data communications.
  • the electronic device 100 uses an eSIM, i.e., an embedded SIM card.
  • the eSIM card can be embedded in the electronic device 100 and cannot be separated from the electronic device 100.
  • the software system of the electronic device 100 may adopt a layered architecture, an event-driven architecture, a micro-core architecture, a micro-service architecture, or a cloud architecture.
  • the Android system of the layered architecture is taken as an example to exemplify the software structure of the electronic device 100.
  • FIG. 7 is a software structure block diagram of the electronic device 100 according to an embodiment of the present application.
  • the layered architecture divides the software into several layers, each with clear roles and division of labor.
  • the layers communicate with each other through software interfaces.
  • the Android system is divided into four layers, from top to bottom: the application layer, the application framework layer, the Android runtime and system library, and the kernel layer.
  • the application layer can include a series of application packages.
  • the application package may include applications such as camera, gallery, calendar, call, map, navigation, WLAN, Bluetooth, music, video, short message, etc.
  • the application framework layer provides application programming interface (API) and programming framework for the applications in the application layer.
  • API application programming interface
  • the application framework layer includes some predefined functions.
  • the application framework layer may include a window manager, a content provider, a view system, a telephony manager, a resource manager, a notification manager, and the like.
  • the window manager is used to manage window programs.
  • the window manager can obtain the display screen size, determine whether there is a status bar, lock the screen, capture the screen, etc.
  • Content providers are used to store and retrieve data and make it accessible to applications.
  • the data may include videos, images, audio, calls made and received, browsing history and bookmarks, phone books, etc.
  • the view system includes visual controls, such as controls for displaying text, controls for displaying images, etc.
  • the view system can be used to build applications.
  • a display interface can be composed of one or more views.
  • a display interface including a text notification icon can include a view for displaying text and a view for displaying images.
  • the phone manager is used to provide communication functions of the electronic device 100, such as management of call status (including connecting, hanging up, etc.).
  • the resource manager provides various resources for applications, such as localized strings, icons, images, layout files, video files, and so on.
  • the notification manager enables applications to display notification information in the status bar. It can be used to convey notification-type messages and can disappear automatically after a short stay without user interaction. For example, the notification manager is used to notify download completion, message reminders, etc.
  • the notification manager can also be a notification that appears in the system top status bar in the form of a chart or scroll bar text, such as notifications of applications running in the background, or a notification that appears on the screen in the form of a dialog window. For example, a text message is displayed in the status bar, a prompt sound is emitted, an electronic device vibrates, an indicator light flashes, etc.
  • Android Runtime includes core libraries and virtual machines. Android Runtime is responsible for the scheduling and management of the Android system.
  • the core library consists of two parts: one part is the function that needs to be called by the Java language, and the other part is the Android core library.
  • the application layer and the application framework layer run in a virtual machine.
  • the virtual machine executes the Java files of the application layer and the application framework layer as binary files.
  • the virtual machine is used to perform functions such as object life cycle management, stack management, thread management, security and exception management, and garbage collection.
  • the system library can include multiple functional modules, such as surface manager, media library, 3D graphics processing library (such as OpenGL ES), 2D graphics engine (such as SGL), etc.
  • functional modules such as surface manager, media library, 3D graphics processing library (such as OpenGL ES), 2D graphics engine (such as SGL), etc.
  • the surface manager is used to manage the display subsystem and provide the fusion of 2D and 3D layers for multiple applications.
  • the media library supports playback and recording of a variety of commonly used audio and video formats, as well as static image files, etc.
  • the media library can support a variety of audio and video encoding formats, such as: MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, etc.
  • the 3D graphics processing library is used to implement 3D graphics drawing, image rendering, compositing, and layer processing.
  • a 2D graphics engine is a drawing engine for 2D drawings.
  • the kernel layer is the layer between hardware and software.
  • the kernel layer contains at least display driver, camera driver, audio driver, and sensor driver.
  • the display method provided in the first embodiment of the present application reduces the third part delay T3 by optimizing the configuration time, thereby improving the hand tracking performance.
  • FIG4 is a schematic diagram of the display process corresponding to FIG3.
  • the applicant found that in the actual execution process, in most cases, there is a large amount of idle time in the drawing time configured for the drawing and rendering operation.
  • the drawing time configured for the drawing and rendering operation is 19.2ms
  • the actual time consumed for drawing and rendering a frame of image is only 8.6ms
  • the synthesis time configured for the synthesis operation is 13.1ms
  • the actual time consumed for synthesizing a frame of image is only 8.1ms, and there is an idle time of 5.2ms.
  • the display method provided in the first embodiment of the present application can, in order to improve the tracking performance of the hands-free sliding scene, shorten the working time configured for drawing rendering and synthesis operations after confirming that the current scene is a hands-free operation scene, speed up the touch response, and refresh the image to the screen as soon as possible.
  • FIG8 is a flow chart of a display method provided in the first embodiment of the present application. As shown in FIG8 , the display method provided in the first embodiment of the present application may include the following steps:
  • Step S101 receiving a first touch operation input by a user.
  • Step S102 if the touch scenario of the first touch operation is a hand-off operation scenario, in response to the received first Vsync-APP signal (ie, the first application vertical synchronization signal), a drawing rendering operation is performed on the first image frame within a first configured duration in the hand-off operation scenario.
  • the touch scenario of the first touch operation is a hand-off operation scenario
  • the received first Vsync-APP signal ie, the first application vertical synchronization signal
  • Step S103 in response to the received first Vsync-SF signal (ie, the first synthesized vertical synchronization signal), a synthesis operation is performed on the rendered first image frame within a second configured duration in the hands-off operation scenario.
  • the received first Vsync-SF signal ie, the first synthesized vertical synchronization signal
  • Step S104 in response to the received first Vsync-HW signal (ie, the first hardware vertical synchronization signal), The synthesized first image frame is subjected to a display operation.
  • the received first Vsync-HW signal ie, the first hardware vertical synchronization signal
  • the embodiments of the present application include two touch operation scenarios, one is a hand-off operation scenario, such as a click operation scenario.
  • the other is a hand-on operation scenario, which is also called a hand-following operation scenario.
  • the hand-on operation scenario can include a hand-on sliding operation scenario and a hand-on pressing operation scenario.
  • the first configuration duration refers to the drawing duration configured for the drawing rendering operation in the hands-off operation scenario
  • the second configuration duration refers to the synthesis duration configured for the synthesis operation in the hands-off operation scenario.
  • the first Vsync-SF signal and the first Vsync-APP signal are separated by the first configuration duration
  • the first Vsync-HW signal and the first Vsync-SF signal are separated by the second configuration duration.
  • the first configuration duration is 19.2ms
  • the second configuration duration is 13.1ms.
  • a drawing and rendering operation is performed on frame 1 to obtain the drawn and rendered frame 1.
  • a first matching time length i.e., 19.2ms
  • first Vsync-HW signal 33 is located after the first Vsync-SF signal 22
  • first Vsync-SF signal 22 is located after the first Vsync-APP signal 11 .
  • Step S105 receiving a second touch operation input by the user.
  • Step S106 if the touch scenario of the second touch operation is a hands-on operation scenario, in response to the received second Vsync-APP signal (i.e., the second application vertical synchronization signal), a drawing and rendering operation is performed on the second image frame within a third configured time length in the hands-on operation scenario.
  • the received second Vsync-APP signal i.e., the second application vertical synchronization signal
  • Step S107 in response to the received second Vsync-SF signal (ie, the second synthesized vertical synchronization signal), a synthesis operation is performed on the rendered second image frame within a fourth configured duration in the hands-free operation scenario.
  • the received second Vsync-SF signal ie, the second synthesized vertical synchronization signal
  • Step S108 in response to the received second Vsync-HW signal (ie, the second hardware vertical synchronization signal), performing a display operation on the synthesized second image frame.
  • the received second Vsync-HW signal ie, the second hardware vertical synchronization signal
  • the third configuration duration refers to the drawing duration configured for the drawing and rendering operation in the hands-free operation scenario; the fourth configuration duration refers to the synthesis duration configured for the synthesis operation in the hands-free operation scenario.
  • the second Vsync-SF signal and the second Vsync-APP signal are separated by the third configuration duration, and the second Vsync-HW signal and the second Vsync-SF signal are separated by the fourth configuration duration.
  • the third configuration duration is less than the first configuration duration, and/or the fourth configuration duration is less than the second configuration duration.
  • the first configuration duration is 11.1ms
  • the second configuration duration is 13.1ms.
  • a drawing and rendering operation is performed on frame 0 to obtain the drawn and rendered frame 0.
  • a second Vsync-SF signal 22 is received which is spaced apart from the second Vsync-APP signal 11 by a third matching time length (i.e., 11.1 ms)
  • a synthesis operation is performed on the drawn and rendered frame 0 to obtain the synthesized frame 0.
  • the second Vsync-HW signal 33 is located after the second Vsync-SF signal 22
  • the second Vsync-SF signal 22 is located after the second Vsync-APP signal 11 .
  • a hands-free operation scenario such as a hands-free sliding operation scenario
  • the idle time is 2.5ms
  • the synthesis operation is performed based on the synthesis duration corresponding to the hands-free operation scene
  • the idle time is 5.2ms.
  • a frame of image in the present application needs to go through about three Vsync cycles before it can be output to the display screen for display; in the hands-free sliding operation scene, a frame of image can be output to the display screen for display after about two Vsync cycles.
  • the present application can refresh the image to the display screen one Vsync cycle in advance in the hands-free sliding operation scene, thereby improving the hand-following performance in the hands-free sliding operation scene.
  • the display method provided in the embodiment of the present application configures different working durations for different touch operation scenarios, which can better adapt to different requirements in different application scenarios.
  • the hand-off operation scenario can be an operation in which the user clicks on the touch screen
  • the hand-on operation scenario can be an operation in which the user slides on the touch screen without leaving the hand, such as dragging and displaying icons on the desktop.
  • the user compared with the click operation, the user has higher requirements for the hand-following performance of the hand-on sliding operation. Therefore, in the embodiment of the present application, the total configuration duration of the corresponding drawing and synthesis in the hand-on sliding operation scenario can be made shorter than the total configuration duration of the drawing and synthesis in the click operation scenario.
  • the drawing rendering, synthesis and display operations are performed, which neither affects the user's application experience nor reduces the load of the electronic device.
  • the drawing rendering, synthesis and display operations are performed, which can reduce the touch delay, improve the hand-following performance, and improve the user experience.
  • the interaction between the modules involved in the method provided in the first embodiment of the present application is described below in conjunction with Figure 9.
  • the modules involved include: an input module, an application, a synthesis module, and a display module.
  • Step S201 When the electronic device receives a touch operation input by a user, the Input module may determine the input event type.
  • Down event indicates that the screen is being pressed
  • Move event indicates that the screen is being slid
  • Up event indicates that the screen is being left.
  • Figure 10 is a scene diagram of a user sliding operation on a display screen provided in an embodiment of the present application.
  • Figure 10 exemplarily shows the path of the user sliding on the display screen through position 1, position 2, position 3, position 4 and position 5, wherein position 1, position 2, position 3, position 4 and position 5 represent the corresponding coordinate positions on the display screen.
  • the Input module can determine the input event type corresponding to each contact point. For example, in Figure 10, the input event type corresponding to position 1 is Down, the input event type corresponding to position 5 is Up, and the input event types between positions 1 and 5 are all Move, such as the input event type points corresponding to positions 2, 3, and 4 are all Move. It should be understood that before position 5, the operations performed by the user are all sliding operations without taking the hand off the screen, and at position 5, the user's finger leaves the screen.
  • the Input module can not only be used to determine the input event type, but also to obtain coordinate information corresponding to the touch operation and send the coordinate information to the application for drawing and rendering operations.
  • Step S202 When the input event type is Down or Up, the Input module sends the corresponding input event type information to the synthesis module.
  • the Input module can send a first indication message to the synthesis module, and the first indication message is used to indicate that the currently received input event is a Down event.
  • the Input module can send a second indication message to the synthesis module, and the second indication message is used to indicate that the currently received input event is an Up event.
  • the Input module determines that the current input event type is a Move event, it may not send any indication information to the synthesis module.
  • Step S203 In response to the Vsync-SF signal, the synthesis module determines the current touch scene according to the currently received input event type.
  • the synthesis module may receive only one Down event, the synthesis module may receive only one Up event, or the synthesis module may receive two events, one Down event and one Up event. In another case, the synthesis module does not receive any event.
  • the synthesis module determines that the current touch scene is a hands-on operation scene, for example, a hands-on sliding operation scene or a hands-on pressing operation scene; if the synthesis module currently receives two events (a Down event and an Up event), the synthesis module determines that the current touch scene is a hands-off operation scene, for example, a click operation scene; if the synthesis module currently only receives an Up event, the synthesis module determines that the current touch scene is a hands-off operation scene.
  • Step S204 The synthesis module calls configuration information corresponding to the current touch scene.
  • the configuration information may include a drawing duration configured for drawing rendering, a composition duration configured for composition, a Vsync-APP signal offset, and a Vsync-SF signal offset.
  • the hands-off operation scenario corresponds to the first configuration information
  • the first configuration information may include a first configuration duration and a second configuration duration
  • the first configuration information may also include a first offset and a second offset.
  • the first offset is the Vsync-APP signal offset corresponding to the hands-off operation scenario
  • the second offset is the Vsync-SF signal offset corresponding to the hands-off operation scenario.
  • the hands-free operation scenario corresponds to the second configuration information
  • the second configuration information may include a third configuration duration and a fourth configuration duration
  • the second configuration information may also include a third offset and a fourth offset.
  • the third offset is the Vsync-APP signal offset corresponding to the hands-free operation scenario
  • the fourth offset is the Vsync-SF signal offset corresponding to the hands-free operation scenario.
  • the third configuration duration can be less than the first configuration duration and the fourth configuration duration is the same as the second configuration duration, or the fourth configuration duration can be less than the second configuration duration and the third configuration duration is the same as the first configuration duration, or the third configuration duration can be less than the first configuration duration and the fourth configuration duration can be less than the second configuration duration.
  • the total configuration duration of drawing, rendering, and synthesis in the hands-on sliding operation scenario is less than the total configuration duration of drawing, rendering, and synthesis in the hands-off sliding operation scenario, it will be fine.
  • the third offset may be different from the first offset, or the fourth offset may be different from the second offset, or the third offset may be different from the first offset and the fourth offset may be different from the second offset.
  • Step S205 The synthesis module adjusts the Vsync-APP signal and the Vsync-SF signal based on the Vsync-APP signal offset and the Vsync-SF signal offset in the configuration information.
  • Step S206 The synthesis module sends the Vsync-APP signal with the offset adjusted to the application.
  • Step S207 The application performs a drawing and rendering operation in response to the Vsync-APP signal after the offset is adjusted.
  • Step S208 The application sends the rendered image to the buffer queue of the synthesis module.
  • Step S209 The synthesis module performs a synthesis operation in response to the Vsync-SF signal having an interval of the drawing duration with the adjusted Vsync-APP signal.
  • Step S2010 The synthesis module sends the synthesized image to the buffer queue of the display module.
  • Step S2011 The display module performs a display operation in response to a Vsync-HW signal having a synthesis time interval with the adjusted Vsync-SF signal.
  • step S203 it is determined that the current touch scene is a hands-on sliding scene, and the offset of the Vsync-APP signal in the configuration information corresponding to the hands-on sliding scene is -2ms, and the offset of the Vsync-SF signal is -2ms.
  • the synthesis module adjusts the Vsync-APP signal and the Vsync-SF signal based on the Vsync-APP signal offset and the Vsync-SF signal offset corresponding to the hands-on sliding scene in the above step S205, and the adjusted sending rhythm of the Vsync-APP signal, Vsync-SF signal, and Vsync-HW signal is shown in FIG11 .
  • step S206 to step S2011 perform drawing rendering, synthesis and display sending operations based on the adjusted Vsync-APP signal and Vsync-SF signal sending rhythm, and the drawing duration and synthesis duration corresponding to the hand-free sliding scene, until the current input event type received by the synthesis module is Up.
  • the synthesis module calls the configuration information corresponding to the hand-free operation scene again, and subsequently performs drawing rendering, synthesis and display sending operations with the Vsync-APP signal and Vsync-SF signal sending rhythm corresponding to the hand-free sliding operation scene, and the configuration duration corresponding to the hand-free sliding scene.
  • Figure 12 is a schematic diagram of the display process corresponding to Figure 11.
  • the drawing time in the configuration information is 11.1ms
  • the synthesis time in the configuration information is 13.1ms
  • the Vsync-APP signal offset is -2ms
  • the Vsync-SF signal offset is -2ms.
  • the present application can output a frame of image to the display screen for display after two Vsync cycles. In this way, compared with Figure 4, the image can be refreshed to the display screen one Vsync cycle in advance, thereby improving the hand tracking in the scenario of sliding operation without leaving the hand.
  • the synthesis module adopts the configuration information corresponding to the hands-off operation scenario, wherein the drawing duration configured for the drawing rendering operation is 19.2ms, and the synthesis duration configured for the synthesis operation is 13.1ms.
  • the drawing duration configured for the drawing rendering operation is 19.2ms
  • the synthesis duration configured for the synthesis operation is 13.1ms.
  • the interval between the Vsync-APP signal 11 and the Vsync-SF signal 22 satisfies the drawing duration of 19.2ms corresponding to the hands-off operation scenario
  • the interval between the Vsync-SF signal 22 and the Vsync-HW signal 33 satisfies the synthesis duration of 13.1ms corresponding to the hands-off operation scenario.
  • the offset of the Vsync-APP signal and/or the offset of the Vsync-SF signal will cause the corresponding configuration duration to change, thereby modifying the drawing duration and the synthesis duration.
  • the synthesis module adjusts the sending rhythm of the Vsync-APP signal and the Vsync-SF signal in the subsequent Vsync cycle based on the configuration information corresponding to the hands-free sliding operation scenario. In other words, the synthesis module adjusts the sending rhythm of the Vsync-APP signal and the Vsync-SF signal in the subsequent Vsync cycle based on the configuration information corresponding to the hands-free sliding operation scenario.
  • the start time of the Vsync-APP signal and the Vsync-SF signal is determined, and the Vsync-APP signal and the Vsync-SF signal are periodically sent at the re-determined start time.
  • the offset of the Vsync-APP signal 14 after the Vsync-SF signal 23 is -2ms
  • the offset of the Vsync-SF signal 24 is -2ms.
  • Vsync-APP signal 14 the interval between the first Vsync-APP signal (Vsync-APP signal 14) after the offset adjustment and the previous Vsync-APP signal (Vsync-APP signal 13) is no longer a Vsync cycle (11.1ms).
  • the interval between the Vsync-APP signal 13 and the Vsync-APP signal 14 (i.e., the first duration) is equal to the sum of the interval between the Vsync-SF signal 23 and the Vsync-SF signal 24 and the interval between the Vsync-APP signal 13 and the Vsync-SF signal 23, i.e., the interval between the Vsync-APP signal 13 and the Vsync-APP signal 14 is equal to 19.2ms.
  • the first duration (19.2ms) of the interval between the Vsync-APP signal 14 and the Vsync-APP signal 13 is different from the second duration (11.1ms) of the interval between the Vsync-APP signal 14 and the Vsync-APP signal 15.
  • the third duration (11.1ms) of the interval between the Vsync-SF signal 24 and the Vsync-SF signal 23 after the offset adjustment is the same as the fourth duration (11.1ms) of the interval between the Vsync-SF signal 24 and the Vsync-SF signal 25.
  • the application performs drawing and rendering operations based on the drawing duration corresponding to the hands-free sliding operation scenario
  • the synthesis module performs synthesis and display operations based on the synthesis duration corresponding to the hands-free sliding operation scenario. For example, in response to the Vsync-APP signal 14, draw and render frame 4; in response to the Vsync-SF signal 25, perform a synthesis operation on frame 4; in response to the Vsync-HW signal 36, perform a display operation on the synthesized frame 4.
  • the interval between the Vsync-APP signal 14 and the Vsync-SF signal 25 meets the drawing duration of 11.1ms corresponding to the hands-free operation scenario
  • the interval between the Vsync-SF signal 25 and the Vsync-HW signal 36 meets the synthesis duration of 13.1ms corresponding to the hands-free operation scenario.
  • frame 4 can be output to the display module for display after approximately two Vsync cycles, so that the image can be refreshed to the display screen one Vsync cycle in advance, thereby improving the hand tracking performance in the hand-free sliding operation scenario.
  • the above embodiment is only an example of adjusting the Vsync-APP signal offset in the operation scenario of sliding without leaving the hand, and does not limit the way of adjusting the offset in different operation scenarios.
  • the Vsync-APP signal offset and the Vsync-SF signal offset are different.
  • the Vsync-APP signal offset is the same, and the Vsync-SF signal offset is different.
  • the embodiments of the present application do not limit the method of configuring the drawing duration for the drawing and rendering operation and the synthesis duration for the synthesis operation in the hands-free operation scenario.
  • a historical drawing time for executing the drawing and rendering operation and a historical synthesis time for executing the synthesis operation are obtained; then, a drawing time configured for the drawing and rendering operation and a synthesis time configured for the synthesis operation are determined according to the historical drawing time and the historical synthesis time; wherein the drawing time configured for the drawing and rendering operation is greater than or equal to the maximum drawing time in the historical drawing time, and the synthesis time configured for the synthesis operation is greater than or equal to the maximum synthesis time in the historical synthesis time.
  • the historical drawing duration refers to the actual duration consumed for each drawing and rendering operation
  • the historical synthesis duration refers to the actual duration consumed for each synthesis operation.
  • all historical drawing duration statistics include the upper limit of historical drawing duration (i.e. maximum drawing duration) and The lower limit of the historical drawing duration (i.e., the minimum drawing duration).
  • all the historical synthesis durations counted include the upper limit of the historical synthesis duration (i.e., the maximum synthesis duration) and the lower limit of the historical synthesis duration (i.e., the minimum synthesis duration).
  • the upper limit of the historical drawing duration and the upper limit of the historical synthesis duration may include abnormal points. Therefore, after counting the historical drawing duration and the historical synthesis duration, the abnormal point elimination algorithm can be used to eliminate the abnormal points first, and then the upper limit of the historical drawing duration and the upper limit of the historical synthesis duration can be determined from the remaining normal points.
  • FIG14 shows the historical drawing duration of the drawing rendering operation performed on frames 1 to 40 and the historical synthesis duration of the synthesis operation performed on frames 1 to 40.
  • the upper limit of the historical drawing duration counted is 13.0ms (point C in FIG13)
  • the lower limit of the historical drawing duration counted is 8.0ms (point A2 in FIG13).
  • the upper limit of the historical synthesis duration counted is 8.5ms (point B1 in FIG13)
  • the lower limit of the historical synthesis duration counted is 8.0ms (point B2 in FIG13).
  • the historical drawing time basically fluctuates around 8.0ms, and point C is obviously an abnormal point. Therefore, point C can be eliminated first, and then the upper limit of the historical drawing time can be determined as 8.2ms (point A1 in Figure 13) among the remaining normal points.
  • the drawing time configured for the drawing rendering operation should be greater than 8.2ms, and the synthesis time configured for the synthesis operation should be greater than 8.5ms.
  • the drawing time configured for the non-hands-off sliding operation scenario can be 11.1ms, and the synthesis time configured for the non-hands-off sliding operation scenario can be 13.1ms. In this way, the total configuration time for the non-hands-off sliding operation scenario is 24.2ms.
  • the offset of the Vsync-APP signal and the Vsync-SF signal may be set so that the drawing duration configured for the drawing and rendering operation is 11.1 ms and the synthesis duration configured for the synthesis operation is 13.1 ms.
  • the offset of the Vsync-APP signal is set to -2 ms
  • the offset of the Vsync-SF signal is set to -2 ms.
  • Tapp can be less than 11.1ms. That is to say, in the embodiment of the present application, when the calculated Tapp is less than 11.1ms, it is not necessary to add a Tte to the calculated Tapp. This is to achieve the purpose of shortening the configuration time in the hands-free sliding operation field.
  • the configuration information may also simultaneously include the drawing duration configured for the drawing and rendering operation, the synthesis duration configured for the synthesis operation, the offset of the Vsync-APP signal, and the offset of the Vsync-SF signal.
  • At least one of the values of the drawing duration configured for the drawing and rendering operation and the synthesis duration configured for the synthesis operation is different.
  • at least one of the values of the offset of the Vsync-APP signal and the offset of the Vsync-SF signal is different.
  • the drawing duration configured for the drawing rendering operation and the composition duration configured for the composition operation are determined based on historical statistical data, and the image processing situation of the electronic device changes in real time, if it is always Based on the same configured duration, when executing drawing rendering, synthesis and display sending operations, it may happen that the image drawing rendering cannot be completed within the configured drawing duration, or it may happen that the image synthesis cannot be completed within the configured synthesis duration. To avoid this situation, the embodiment of the present application can regularly detect the actual situation of executing drawing rendering, synthesis and display sending operations based on the current configured duration.
  • the number of times the drawing and rendering operation cannot be completed within the currently configured drawing time under the drawing time currently configured for the drawing and rendering operation, and the number of times the synthesis operation cannot be completed within the configured drawing time under the synthesis time currently configured for the synthesis operation can be determined at every preset time interval; when the number of times the corresponding operation cannot be completed within the corresponding configured time reaches a preset number threshold, the values of the drawing time configured for the drawing and rendering operation and the synthesis time configured for the synthesis operation are re-determined. Then, based on the re-configured drawing time and synthesis time, the drawing, rendering, synthesis and display operations are performed.
  • the embodiments of the present application may further subdivide the hands-free sliding operation scenarios so that different hands-free sliding operation scenarios correspond to different configuration durations.
  • different hand-free sliding operations may be divided into chirality levels.
  • the hand-free sliding operation corresponding to the hand-free sliding operation may be first determined, and then the configured drawing duration and synthesis duration may be determined based on the hand-free sliding operation, wherein different hand-free sliding operations correspond to different configured durations.
  • the hand-free sliding operation can be specifically divided into a finger-free sliding operation scenario and a stylus-free sliding operation scenario.
  • the finger-free sliding operation scenario refers to a scenario in which the finger performs a hand-free sliding operation on the display screen
  • the stylus-free sliding operation scenario refers to a scenario in which the stylus performs a hand-free sliding operation on the display screen.
  • the chirality requirement for the stylus to perform a hand-free sliding operation on the display screen is higher than the chirality requirement for the finger to perform a hand-free sliding operation on the display screen. In this way, the embodiment of the present application can classify the specific scenarios of the hand-free sliding operation into levels of chirality requirements.
  • the chirality requirement level for the hand-free sliding operation of the stylus on the display screen is level one
  • the chirality requirement level for the finger-free sliding operation on the display screen is level two, wherein the level one chirality requirement level is higher than the level two chirality requirement level.
  • different levels of chirality requirements correspond to different configuration durations, for example, the third configuration duration corresponding to the stylus-on-hand operation scenario is shorter than the third configuration duration corresponding to the finger-on-hand operation scenario, and/or the fourth configuration duration corresponding to the stylus-on-hand operation scenario is shorter than the fourth configuration duration corresponding to the finger-on-hand operation scenario.
  • the total configuration duration of the third configuration duration and the fourth configuration duration corresponding to the hand-on-hand sliding operation scenario with a level of chirality requirement of one is 11.1ms.
  • the total configuration duration of the third configuration duration and the fourth configuration duration corresponding to the hand-on-hand sliding operation scenario with a level of chirality requirement of two is 24.2ms.
  • the image drawing, rendering, synthesis and display sending operations can be completed within 24.2ms.
  • the image drawing, rendering, synthesis and display sending operations can be completed within 11.1ms.
  • the operation scenario where the stylus does not leave the hand can further advance one Vsync cycle and refresh the image to the display screen. This can better adapt to the tracking requirements in different operation scenarios where the finger does not leave the hand, and improve the user experience.
  • This application does not limit the method for determining whether the hand-free sliding operation is triggered by a finger or a stylus.
  • the touch screen temperature corresponding to the sliding track during the hand-free sliding operation can be detected.
  • the current hand-free sliding operation is determined to be a finger-triggered sliding operation; when the touch screen temperature is lower than or equal to the temperature threshold, the current hand-free sliding operation is determined to be a finger-triggered sliding operation.
  • the temperature threshold is reached, the current sliding operation without releasing the hand is determined to be a sliding operation triggered by the stylus.
  • the present application embodiment only uses the object that triggers the hand-free sliding operation as a finger or a stylus to divide the chirality requirement levels for exemplary explanation, and does not limit the division of chirality requirement levels.
  • the chirality requirement levels can also be divided according to the interface attributes of the hand-free sliding operation.
  • the chirality requirement for the interface of a game application interface is level one
  • the chirality requirement for the interface of a video application interface is level two.
  • the display method provided in the first embodiment of the present application performs drawing rendering, synthesis and display sending operations based on the configuration duration corresponding to the hand-off operation scenario in the case of the hand-off operation scenario; and performs drawing rendering, synthesis and display sending operations based on the configuration duration corresponding to the hand-on operation scenario in the case of the hand-on operation scenario.
  • drawing rendering, synthesis and display sending operations are performed based on a relatively short configuration duration, which can reduce touch delay, improve hand tracking in the hand-on sliding operation scenario, and improve user experience.
  • the electronic device performs a frame rate switching operation or uses the GPU to perform a synthesis operation
  • the load on the electronic device is large. If in this case, based on the configuration duration corresponding to the non-hands sliding operation scenario, the drawing rendering, synthesis and display sending operations are performed, the application or synthesis module may not be able to complete their respective tasks on time.
  • the present application can first determine whether a frame rate switching operation is being performed at the current moment; if the frame rate switching operation is not performed at the current moment, determine whether the GPU is being used to perform the synthesis operation at the current moment; if the GPU is not used to perform the synthesis operation at the current moment, in response to the non-hands sliding operation, based on the configuration duration corresponding to the non-hands sliding operation scenario, the drawing rendering, synthesis and display sending operations are performed.
  • the display method provided in the second embodiment of the present application reduces the third part delay T3 by optimizing the number of cache frames accumulated in the cache queue, thereby improving the hand tracking performance.
  • FIG. 15 is a flow chart of a display control method provided in Embodiment 2 of the present application. As shown in FIG. 15 , the display method provided in Embodiment 1 of the present application may include the following steps:
  • Step S301 receiving a second touch operation input by a user
  • Step S302 if the touch scene of the second touch operation is a hands-on operation scene, and the number of cached frames in the cache queue for caching rendered image frames is multiple, determine whether the cached frames in the cache queue meet the frame loss condition.
  • the cache queue refers to the cache queue of the synthesis module, that is, the cache queue used to cache the image frames after drawing and rendering.
  • the cache queue includes a first cache frame, a second cache frame and a third cache frame, wherein the first cache frame is the image frame at the first position in the cache queue.
  • the cache queue includes two cache frames, namely frame 2 and frame 3 after drawing and rendering, wherein frame 2 is ranked first in the cache queue and frame 3 is ranked after frame 2. Therefore, in the first Vsync cycle, frame 2 is the first cache frame in the cache queue and frame 3 is the second cache frame.
  • frame loss means that when there are cache frame buffers piled up in the cache queue, the first cache frame can be discarded at an appropriate time and the second cache frame can be used to participate in the synthesis operation, so as to achieve the purpose of displaying the image on the display screen as soon as possible.
  • the embodiment of the present application may first determine whether the first cached frame meets the frame loss condition; If the first cache frame meets the frame drop condition, it is determined whether to use the first cache frame or the second cache frame to participate in the synthesis operation. If it is determined that the second cache frame is used to participate in the synthesis operation, the first cache frame is discarded.
  • the embodiment of the present application does not limit the frame drop method. For example, the frame determined not to be displayed can be deleted, or the frame determined not to be displayed can be overwritten.
  • the frame loss conditions may include that the timestamp attribute of the first cached frame is an automatic timestamp, the current refresh rate is greater than 60Hz, and the time interval between the last time an image frame in the cache queue was discarded is greater than a preset time interval threshold, wherein the first timestamp attribute is used to characterize the first preset display time of the first cached frame.
  • the timestamp attribute of the cached frame can be divided into automatic timestamp and manual timestamp.
  • Manual timestamp refers to the display time of the specified cached frame, that is, the display time of the cached frame cannot be changed.
  • the timestamp attribute of the cached frame corresponding to the video content is generally a manual timestamp, that is, the display time of each frame in the video cannot be changed at will. For example, specify that the first cached frame is displayed at the 1st second, and specify that the second cached frame is displayed at the 5th second.
  • Automatic timestamp refers to a timestamp that is automatically generated according to the queue order without special specification.
  • the frame loss duration that users can feel as a freeze is 25-58ms, which means: when the refresh rate is 60Hz, if a frame is lost, the frame spacing increases to 33.2ms, which will make the user feel the freeze; when the refresh rate is 90Hz, if a frame is lost, the frame spacing increases to 22.2ms, which will not make the user feel the freeze; when the refresh rate is 120Hz, if a frame is lost, the frame spacing increases to 16.6ms, which will not make the user feel the freeze. Therefore, in order to avoid the phenomenon of freeze, the embodiment of the present application sets a refresh rate greater than 60Hz as one of the frame loss conditions. For example, the frame loss scheme can be executed when the refresh rate is 90Hz or 120Hz.
  • the time interval from the last time an image frame in the cache queue was discarded is greater than the preset time interval threshold as one of the frame discard conditions. For example, the time interval from the last time an image frame in the cache queue was discarded must be greater than 100ms, that is, within 100ms, two frames of image frames cannot be discarded continuously.
  • the frame loss condition may also include that the first cached frame belongs to an image frame of a whitelist application.
  • the whitelist application includes a video application and a game application. Thus, if the first cached frame belongs to an image frame in a video application or a game application, it is determined that the first cached frame belongs to an image frame of a whitelist application.
  • the embodiment of the present application does not limit the order of frame loss conditions such as judging the timestamp attribute of the first cached frame, whether the current refresh rate is greater than 60Hz, and whether the time interval from the last time an image frame in the cache queue was discarded is greater than a preset time interval threshold.
  • the timestamp attribute of the first cached frame is an automatic timestamp. If the timestamp attribute of the first cached frame is an automatic timestamp, it is further determined whether the current refresh rate is greater than 60 Hz. If the current refresh rate is greater than 60 Hz, it is possible to further determine whether the time interval from the last time the image frame in the cache queue was discarded is greater than a preset time interval threshold. If the time interval from the last time the image frame in the cache queue was discarded is greater than the preset time interval threshold, it is possible to further determine whether the first cached frame belongs to an image frame of a whitelist application. If the first cached frame belongs to an image frame of a whitelist application, the subsequent step S303 can be executed.
  • Step S303 when the first cached frame in the cache queue meets the frame loss condition, determine the cache state of the first cached frame.
  • the embodiment of the present application divides the cache states of the cached frames into three types, namely early, current and late.
  • the cache state of the first cache frame may be determined by: determining a first expected display time (also referred to as a first preset display time) and a second expected display time (also referred to as a second preset display time) corresponding to the first cache frame.
  • the first preset display time is a preset time for displaying the first cache frame.
  • the time for the operation, and the second preset display time is the preset display time corresponding to the Vsync-SF signal.
  • the first preset display time is the expected display time corresponding to the Vsync-APP signal used to indicate the drawing and rendering operation on the first cached frame
  • the second preset display time is the expected display time corresponding to the current Vsync-SF signal.
  • the cache state of the first cached frame is determined to be late. If the first preset display time is later than the second preset display time, the cache state of the first cached frame is determined to be early. If the first preset display time is the same as the second preset display time, the cache state of the first cached frame is determined to be current.
  • the first preset display time and the second preset display time are explained as follows.
  • each Vsync-APP signal corresponds to a first preset display time
  • each Vsync-SF signal also corresponds to a second preset display time.
  • the first preset display time corresponding to the Vsync-APP signal 11 is T2
  • the first preset display time corresponding to the Vsync-APP signal 12 is T3
  • the first preset display time corresponding to the Vsync-APP signal 13 is T4.
  • the second preset display time corresponding to the Vsync-SF signal 23 is T3
  • the second preset display time corresponding to the Vsync-SF signal 24 is T4
  • the second preset display time corresponding to the Vsync-SF signal 25 is T5.
  • the first preset display time corresponding to the Vsync-APP signal refers to the preset display time for drawing and rendering the image frame under the guidance of the Vsync-APP signal.
  • the second preset display time corresponding to the Vsync-SF signal refers to the preset display time for synthesizing the image frame under the guidance of the Vsync-SF signal.
  • the preset time for performing the display sending operation on the first cache frame is called the first preset display sending time
  • the preset time for performing the display sending operation on the second cache frame is called the third preset display sending time
  • the preset time for performing the display sending operation on the third cache frame is called the fourth preset display sending time.
  • a rendered image frame drawn in response to a Vsync-APP signal may carry a timestamp, which is used to indicate the first preset display time corresponding to the image frame. For example, as shown in FIG16 , the timestamp of drawing the rendered frame 0 in response to the Vsync-APP signal 11 is T2, the timestamp of drawing the rendered frame 1 in response to the Vsync-APP signal 12 is T3, and the timestamp of drawing the rendered frame 2 in response to the Vsync-APP signal 13 is T4.
  • the synthesis module cannot obtain the drawn and rendered frame 0, and the cache queue is empty.
  • the application completes the drawing and rendering of frames 0, 1, and 2.
  • the cache queue includes three cache frames, frame 0, frame 1, and frame 2. Among them, frame 0 is the first cache frame, frame 1 is the second cache frame, and frame 2 is the third cache frame.
  • the second preset display time of frame 0, frame 1, and frame 2 is T3, the first preset display time corresponding to frame 0 is T2, the third preset display time corresponding to frame 1 is T3, and the fourth preset display time corresponding to frame 2 is T4.
  • the first preset display time T2 corresponding to frame 0 is earlier than the second preset display time T3, so the cache state of frame 0 is late
  • the third preset display time T3 corresponding to frame 1 is the same as the second preset display time T3, so the cache state of frame 1 is current
  • the fourth preset display time T4 corresponding to frame 2 is later than the second preset display time T3, so the cache state of frame 2 is early.
  • the cache state of the first cache frame may include the following situations:
  • Case 1 The cache state of the first cached frame is late.
  • Step S304 determine the cache status of the second cache frame.
  • the method for determining the cache state of the second cache frame may refer to the above description of step S303, which will not be described again here.
  • Step S305 when the cache state of the second cache frame is late or current, determine to discard the first cache frame, and perform a synthesis operation on the second cache frame in the current Vsync cycle.
  • the late state frame 0 in response to the Vsync-SF signal 23, the late state frame 0 can be discarded and frame 1 can be used to participate in this synthesis operation. In this way, frame 1 can be displayed on the display screen one Vsync cycle in advance.
  • Step S306 when the cache state of the second cache frame is early, determine to perform a synthesis operation on the first cache frame in the current Vsync cycle.
  • the cached frame in the early state indicates that the frame is rendered one Vsync cycle in advance, so it can wait until the next Vsync cycle to participate in synthesis.
  • the Vsync-APP signal or the second Vyscn signal may be disordered. For example, when switching the frame rate, the electronic device needs to recalibrate the Vsync cycle. In this way, the Vsync-APP signal or the Vyscn-SF signal may be received in advance. If the cache state of the cache frame is still determined according to the above method when the Vsync-APP signal or the Vyscn-SF signal is received in advance, it may cause the subsequent cache frames to accumulate. For example, it is possible that the cache frame that should have been in the current state is mistakenly judged as the early state.
  • the frame rate corresponding to the first Vsync cycle is 90 Hz, at which the Vsync cycle is 11.1 ms, the interval between the Vsync-APP signal 11 and the Vsync-APP signal 12 is 11.1 ms, and the interval between the Vsync-SF signal 21 and the Vsync-SF signal 22 is 11.1 ms.
  • the Vsync-SF signal 23 is received in advance, so that the interval between the Vsync-SF signal 22 and the Vsync-SF signal 23 is less than 11.1 ms.
  • the first preset display time of frame 0 is still T2 corresponding to the 90Hz frame rate, and the second preset display time of frame 0 becomes TA corresponding to the 120Hz frame rate, and TA is between T1 and T2.
  • the cache state of frame 0 is judged to be early. In fact, the cache state of frame 0 should be current.
  • the embodiment of the present application can also adopt the following solution: the synthesis module first determines whether the Vsync-APP signal or Vsync-SF signal is received in advance; in the current Vsync cycle, if the Vsync-APP signal or Vsync-SF signal is received in advance, the first cache frame is discarded, and it is determined that the second cache frame is used to synthesize the image frame in the current Vsync cycle. In this way, the accumulation of cache frames due to misjudgment of the cache state can be avoided.
  • Case 2 The cache state of the first cache frame is current.
  • step S307 When the cache state of the first cache frame is current, the following step S307 may be performed.
  • Step S307 determining to perform a synthesis operation on the first cache frame in the current Vsync period.
  • the cache state of the first cache frame is current, then the cache state of the cache frame following the first cache frame should be early. Therefore, when it is determined that the cache state of the first cache frame is current, it can be directly determined to use the first cache frame to synthesize the image frame without continuing to judge the cache state of the subsequent cache frames.
  • step S308 may be performed.
  • Step S308 determine to perform a synthesis operation on the first buffered frame in the next Vsync cycle.
  • the cache state of the first cache frame is early, then the cache state of the cache frame following the first cache frame should be early. Therefore, when it is determined that the cache state of the first cache frame is early, it can be directly determined that the first cache frame is used to synthesize the image frame in the next Vsync cycle, and there is no need to continue to determine the cache state of the subsequent cache frames. In other words, when it is determined that the cache state of the first cache frame is early, the Vsync-SF signal of this Vsync cycle can be idle, and no synthesis operation is performed on any cache frame.
  • the following solution can also be adopted: first determine whether the Vsync-APP signal or the Vsync-SF signal is received in advance in the current Vsync cycle; in the case where the Vsync-APP signal or the Vsync-SF signal is received in advance in the current Vsync cycle, determine to use the first cache frame to synthesize the image frame in the current Vsync cycle. In this way, the problem of cache frame accumulation due to misjudgment of the cache state can be avoided.
  • the embodiment of the present application can use the above method to determine whether each cached frame in the cache queue meets the frame loss condition and the cache status of the cached frame. For example, the order of the cached frame ranked first in the cache queue to the last cache can be traversed to perform the step of determining whether each cached frame in the cache queue meets the frame loss condition and the cache status of the cached frame.
  • the display method provided in the second embodiment of the present application determines the timing of frame drop based on the frame drop condition and the cache status of the cache frame in the hands-free operation scenario, so as to output and display the image as quickly as possible and improve hand tracking.
  • the display device includes a hardware structure and/or software module corresponding to each function.
  • the present application can be implemented in the form of hardware or a combination of hardware and computer software. Whether a function is executed in the form of hardware or computer software driving hardware depends on the specific application and design constraints of the technical solution. Professional and technical personnel can use different methods to implement the described functions for each specific application, but such implementation should not be considered to be beyond the scope of this application.
  • the embodiment of the present application can divide the functional modules of the display device according to the above method example.
  • each functional module can be divided according to each function, or two or more functions can be integrated into one processing module.
  • the above integrated module can be implemented in the form of hardware or software functional module. It should be noted that the division of modules in the embodiment of the present application is schematic and is only a logical function division. There may be other division methods in actual implementation.
  • FIG18 is a schematic diagram of the structure of a display device provided in an embodiment of the present application.
  • the electronic device can implement corresponding functions through the software device shown in FIG18.
  • the display device may include:
  • a first receiving module 401 is used to receive a first touch operation input by a user
  • a first drawing and rendering module 402 is used for, when the touch scene of the first touch operation is a hand-off operation scene, responding to a received first application vertical synchronization signal, performing a drawing and rendering operation on a first image frame within a first configured time length in the hand-off operation scene;
  • a first synthesis module 403 is configured to perform a synthesis operation on the first image frame after drawing and rendering within a second configuration time length in the hands-off operation scenario in response to the received first synthesis vertical synchronization signal; wherein the first synthesis vertical synchronization signal and the first application vertical synchronization signal are separated by the first configuration time length;
  • the first display module 404 is configured to perform a display operation on the synthesized first image frame in response to a received first hardware vertical synchronization signal; wherein the first hardware vertical synchronization signal and the first synthesized vertical synchronization signal are separated by the second configuration time length;
  • the second receiving module 405 is used to receive a second touch operation input by a user
  • a second drawing and rendering module 406 is configured to, when the touch scenario of the second touch operation is a hands-on operation scenario, perform a drawing and rendering operation on the second image frame within a third configured time length in the hands-on operation scenario in response to a received second application vertical synchronization signal;
  • a second synthesis module 407 is configured to perform a synthesis operation on the second image frame after drawing and rendering within a fourth configuration time length in the hands-free operation scenario in response to the received second synthesis vertical synchronization signal; wherein the second synthesis vertical synchronization signal and the second application vertical synchronization signal are separated by the third configuration time length;
  • the second display module 408 is used to perform a display operation on the synthesized second image frame in response to a received second hardware vertical synchronization signal; the second hardware vertical synchronization signal and the second synthesized vertical synchronization signal are separated by the fourth configuration time length; wherein the third configuration time length is less than the first configuration time length, and/or the fourth configuration time length is less than the second configuration time length.
  • the hands-on operation scenario includes a hands-on sliding operation scenario and a hands-on pressing operation scenario.
  • a possible implementation also includes:
  • a first determining module configured to determine, when the touch scenario of the first touch operation is a hand-off operation scenario, first configuration information corresponding to the hand-off operation scenario, wherein the first configuration information includes the first configuration duration and the second configuration duration;
  • the second determination module is used to determine second configuration information corresponding to the hands-free operation scenario when the touch scenario of the second touch operation is a hands-free operation scenario, wherein the second configuration information includes the third configuration duration and the fourth configuration duration.
  • the second application vertical synchronization signal and the third application vertical synchronization signal are separated by a first time length
  • the second application vertical synchronization signal and the fourth application vertical synchronization signal are separated by a second time length
  • the third application vertical synchronization signal is the previous application vertical synchronization signal of the second application vertical synchronization signal
  • the fourth application vertical synchronization signal is the next application vertical synchronization signal of the second application vertical synchronization signal.
  • the second synthesized vertical synchronization signal and the third synthesized vertical synchronization signal are separated by a third time length
  • the second synthesized vertical synchronization signal and the fourth synthesized vertical synchronization signal are separated by a fourth time length
  • the third synthesized vertical synchronization signal is the previous synthesized vertical synchronization signal of the second synthesized vertical synchronization signal
  • the fourth synthesized vertical synchronization signal is the next synthesized vertical synchronization signal of the second synthesized vertical synchronization signal
  • the first duration is different from the second duration, and/or the third duration is different from the fourth duration.
  • a possible implementation also includes:
  • a first generating module configured to generate the second application vertical synchronization signal based on the second hardware vertical synchronization signal and the first signal offset in the hands-free operation scenario
  • the second generating module is used to generate the second synthetic vertical synchronization signal based on the second hardware vertical synchronization signal and the second signal offset in the hands-free operation scenario.
  • a possible implementation also includes:
  • An acquisition module used to acquire a historical drawing time for executing the drawing and rendering operation, and a historical synthesis time for executing the synthesis operation;
  • a third determining module is used to determine the third configuration duration and the fourth configuration duration according to the historical drawing duration and the historical synthesis duration; the third configuration duration is greater than or equal to the maximum drawing duration in the historical drawing durations, and the fourth configuration duration is greater than or equal to the maximum synthesis duration in the historical synthesis durations.
  • a possible implementation also includes:
  • a fourth determination module configured to determine a chirality level corresponding to the hands-on operation scenario
  • the fifth determining module is configured to determine the third configuration duration and the fourth configuration duration based on the chirality level, wherein different chirality levels correspond to different configuration durations.
  • the hand-on-hold operation scenario includes a finger-on-hold operation scenario and a stylus-on-hold operation scenario, and the stylus-on-hold operation scenario corresponds to a higher chirality level than the finger-on-hold operation scenario.
  • the third configuration time length corresponding to the stylus pen never leaves hand operation scenario is shorter than the third configuration time length corresponding to the finger never leaves hand operation scenario
  • the fourth configuration time length corresponding to the stylus pen never leaves hand operation scenario is shorter than the fourth configuration time length corresponding to the finger never leaves hand operation scenario.
  • a possible implementation also includes:
  • a sixth determination module configured to determine, when there are multiple cached frames in a cache queue for caching rendered image frames and a first cached frame at the top of the cache queue meets a frame loss condition, a first preset display sending time and a second preset display sending time corresponding to the first cached frame;
  • the first preset display sending time is a preset time for performing a display sending operation on the first cached frame
  • the second preset display sending time is a preset display sending time corresponding to a second synthetic vertical synchronization signal
  • a seventh determination module configured to determine that the second cached frame corresponds to a third preset display sending time when the first preset display sending time is earlier than the second preset display sending time; the third preset display sending time is a preset time for performing a display sending operation on the second cached frame, and the second cached frame is a cached frame in the cache queue that is located after the first cached frame;
  • a second synthesis module configured to make the third preset display time the same as the second preset display time, or Alternatively, when the third preset display sending time is earlier than the second preset display sending time, the first cache frame is discarded and a synthesis operation is performed on the second cache frame.
  • the second synthesis module is further used to discard the first cache frame and perform the synthesis operation on the second cache frame when the third preset display time is later than the second preset display time and it is determined that the interval between the currently received second synthesized vertical synchronization signal and the previous second synthesized vertical synchronization signal is less than one Vsync cycle, or when the interval between the second application vertical synchronization signal used to trigger the drawing and rendering operation on the second cache frame and the previous second application vertical synchronization signal is less than one Vsync cycle.
  • the second synthesis module is further used to perform a synthesis operation on the first cache frame when the first preset display time is the same as the second preset display time, or when the third preset display time is later than the second preset display time.
  • the frame loss conditions include: the timestamp attribute corresponding to the first preset display time of the first cached frame is an automatic timestamp, the current refresh rate is greater than 60Hz, and the time interval from the last time the image frame in the cache queue was discarded is greater than a preset time interval threshold.
  • FIG19 is a schematic diagram of the structure of a display device provided in an embodiment of the present application.
  • the electronic device can implement the corresponding functions through the hardware device shown in FIG19.
  • the device 1000 may include a transceiver 1001, a processor 1002 and a memory 1003.
  • the transceiver 1001 may be used to receive a touch operation of the user.
  • the processor 1002 may include one or more processing units, for example: the processor 1002 may include an application processor, a modem processor, a graphics processor, an image signal processor, a controller, a video codec, a digital signal processor, a baseband processor, and/or a neural network processor, etc.
  • the memory 1003 is coupled to the processor 1002 for storing various software programs and/or multiple sets of instructions, and the memory 1003 may include a volatile memory and/or a non-volatile memory.
  • the device 1000 can execute the operations performed in the above method embodiments.
  • the transceiver 1001 is used to: receive a first touch operation input by a user, and receive a second touch operation input by a user.
  • the processor 1002 is used to: if the touch scenario of the first touch operation is a hand-off operation scenario, then in response to the received first application vertical synchronization signal, perform a drawing and rendering operation on the first image frame within a first configuration time length in the hand-off operation scenario; in response to the received first synthetic vertical synchronization signal, perform a synthesis operation on the first image frame after drawing and rendering within a second configuration time length in the hand-off operation scenario; wherein the first synthetic vertical synchronization signal and the first application vertical synchronization signal are separated by the first configuration time length; in response to the received first hardware vertical synchronization signal, perform a display operation on the synthesized first image frame; wherein the first hardware vertical synchronization signal and the first synthetic vertical synchronization signal are separated by the second configuration time length.
  • the touch scene of the second touch operation is a hands-free operation scene
  • a drawing and rendering operation is performed on the second image frame
  • a synthesis operation is performed on the second image frame after drawing and rendering; wherein the second synthetic vertical synchronization signal and the second application vertical synchronization signal are separated by the third configuration time length
  • a display sending operation is performed on the synthesized second image frame
  • the second hardware vertical synchronization signal and the second synthetic vertical synchronization signal are separated by the fourth configuration time length; wherein , the third configuration duration is shorter than the first configuration duration, and/or the fourth configuration duration is shorter than the second configuration duration.
  • the hands-on operation scenario includes a hands-on sliding operation scenario and a hands-on pressing operation scenario.
  • the processor 1002 is further used to: if the touch scenario of the first touch operation is a hands-off operation scenario, determine the first configuration information corresponding to the hands-off operation scenario, the first configuration information including the first configuration duration and the second configuration duration; if the touch scenario of the second touch operation is a hands-on operation scenario, determine the second configuration information corresponding to the hands-on operation scenario, the second configuration information including the third configuration duration and the fourth configuration duration.
  • the second application vertical synchronization signal and the third application vertical synchronization signal are spaced apart by a first time length
  • the second application vertical synchronization signal and the fourth application vertical synchronization signal are spaced apart by a second time length
  • the third application vertical synchronization signal is the previous application vertical synchronization signal of the second application vertical synchronization signal
  • the fourth application vertical synchronization signal is the next application vertical synchronization signal of the second application vertical synchronization signal
  • the second synthetic vertical synchronization signal and the third synthetic vertical synchronization signal are spaced apart by a third time length
  • the second synthetic vertical synchronization signal and the fourth synthetic vertical synchronization signal are spaced apart by a fourth time length
  • the third synthetic vertical synchronization signal is the previous synthetic vertical synchronization signal of the second synthetic vertical synchronization signal
  • the fourth synthetic vertical synchronization signal is the next synthetic vertical synchronization signal of the second synthetic vertical synchronization signal
  • the first time length is different from the second time length
  • the third time length is different from the fourth
  • the processor 1002 is further used to: generate the second application vertical synchronization signal based on the second hardware vertical synchronization signal and the first signal offset in the hands-free operation scenario; generate the second synthetic vertical synchronization signal based on the second hardware vertical synchronization signal and the second signal offset in the hands-free operation scenario.
  • the processor 1002 is further used to: obtain a historical drawing time for executing the drawing and rendering operation, and a historical synthesis time for executing the synthesis operation; determine the third configuration time and the fourth configuration time according to the historical drawing time and the historical synthesis time; the third configuration time is greater than or equal to the maximum drawing time in the historical drawing time, and the fourth configuration time is greater than or equal to the maximum synthesis time in the historical synthesis time.
  • processor 1002 is further used to: determine a chirality level corresponding to the hands-free operation scenario; and determine the third configuration duration and the fourth configuration duration based on the chirality level, wherein different chirality levels correspond to different configuration durations.
  • the hand-not-leaving-hand operation scenario includes a finger-not-leaving-hand operation scenario and a stylus-not-leaving-hand operation scenario
  • the stylus-not-leaving-hand operation scenario corresponds to a higher chirality level than the finger-not-leaving-hand operation scenario
  • the third configuration time length corresponding to the stylus-not-leaving-hand operation scenario is shorter than the third configuration time length corresponding to the finger-not-leaving-hand operation scenario
  • the fourth configuration time length corresponding to the stylus-not-leaving-hand operation scenario is shorter than the fourth configuration time length corresponding to the finger-not-leaving-hand operation scenario.
  • the processor 1002 is further configured to: when there are multiple cached frames in a cache queue for caching rendered image frames, and a first cached frame at the top of the cache queue meets a frame loss condition, determine a first preset display sending time and a second preset display sending time corresponding to the first cached frame;
  • the first preset display sending time is a preset time for performing a display sending operation on the first cache frame
  • the second preset display sending time is a preset display sending time corresponding to the second synthetic vertical synchronization signal
  • the third preset display sending time is a preset time for performing a display sending operation on the second cache frame
  • the second cache frame is a cache frame in the cache queue that is located after the first cache frame; when the third preset display sending time is the same as the second preset display sending time, or when the third preset display sending time is earlier
  • the processor 1002 is further used to: when the third preset display time is later than the second preset display time, and it is determined that the interval between the currently received second synthetic vertical synchronization signal and the previous second synthetic vertical synchronization signal is less than one Vsync cycle, or when the interval between the second application vertical synchronization signal used to trigger the drawing and rendering operation on the second cache frame and the previous second application vertical synchronization signal is less than one Vsync cycle, discard the first cache frame and perform the synthesis operation on the second cache frame.
  • the processor 1002 is further used to: perform a synthesis operation on the first cache frame when the first preset display time is the same as the second preset display time, or when the third preset display time is later than the second preset display time.
  • the frame loss conditions include: the timestamp attribute corresponding to the first preset display time of the first cached frame is an automatic timestamp, the current refresh rate is greater than 60Hz, and the time interval from the last time the image frame in the cache queue was discarded is greater than a preset time interval threshold.
  • each step of the above method can be completed by an integrated logic circuit of hardware in a processor or an instruction in the form of software.
  • the steps of the method disclosed in conjunction with the embodiment of the present application can be directly embodied as a hardware processor for execution, or a combination of hardware and software modules in a processor for execution.
  • the software module can be located in a storage medium mature in the art such as a random access memory, a flash memory, a read-only memory, a programmable read-only memory or an electrically erasable programmable memory, a register, etc.
  • the storage medium is located in a memory, and the processor reads the information in the memory and completes the steps of the above method in conjunction with its hardware. To avoid repetition, it is not described in detail here.
  • the processor in the embodiment of the present application can be an integrated circuit chip with signal processing capabilities.
  • each step of the above method embodiment can be completed by an integrated logic circuit of hardware in the processor or an instruction in the form of software.
  • the above processor can be a general-purpose processor, a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field programmable gate array (FPGA) or other programmable logic devices, discrete gates or transistor logic devices, discrete hardware components.
  • DSP digital signal processor
  • ASIC application-specific integrated circuit
  • FPGA field programmable gate array
  • the methods, steps and logic block diagrams disclosed in the embodiments of the present application can be implemented or executed.
  • the general-purpose processor can be a microprocessor or the processor can also be any conventional processor, etc.
  • the steps of the method disclosed in the embodiment of the present application can be directly embodied as a hardware decoding processor to perform, or the hardware and software modules in the decoding processor can be combined and performed.
  • the software module can be located in a mature storage medium in the field such as a random access memory, a flash memory, a read-only memory, a programmable read-only memory or an electrically erasable programmable memory, a register, etc.
  • the storage medium is located in a memory, and the processor reads the information in the memory and completes the steps of the above method in combination with its hardware.
  • the memory in the embodiments of the present application can be a volatile memory or a non-volatile memory, or can include both volatile and non-volatile memories.
  • the non-volatile memory can be a read-only memory (ROM), a programmable read-only memory (PROM), Erasable programmable read-only memory (erasable PROM, EPROM), electrically erasable programmable read-only memory (electrically EPROM, EEPROM) or flash memory.
  • Volatile memory can be random access memory (random access memory, RAM), which is used as an external cache.
  • RAM random access memory
  • static RAM static random access memory
  • dynamic RAM dynamic random access memory
  • DRAM dynamic random access memory
  • synchronous dynamic random access memory synchronous DRAM, SDRAM
  • double data rate synchronous dynamic random access memory double data rate SDRAM, DDR SDRAM
  • enhanced synchronous dynamic random access memory enhanced SDRAM, ESDRAM
  • serial link DRAM SLDRAM
  • direct memory bus random access memory direct rambus RAM, DR RAM
  • the embodiments of the present application also provide a computer program product, which includes: a computer program or instructions, when the computer program or instructions are run on a computer, the computer executes the method of any one of the embodiments of the method.
  • the embodiments of the present application also provide a computer storage medium, which stores a computer program or instructions.
  • the computer program or instructions When the computer program or instructions are run on a computer, the computer executes the method of any one of the embodiments of the method.
  • the disclosed devices and methods can be implemented in other ways.
  • the device embodiments described above are only schematic.
  • the division of the modules is only a logical function division. There may be other division methods in actual implementation, such as multiple modules or components can be combined or integrated into another system, or some features can be ignored or not executed.
  • Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be an indirect coupling or communication connection through some interfaces, devices or units, which can be electrical, mechanical or other forms.
  • modules described as separate components may or may not be physically separated, and the components shown as modules may or may not be physical units, that is, they may be located in one place or distributed on multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of this embodiment.
  • each functional module in each embodiment of the present application may be integrated into one processing unit, or each module may exist physically separately, or two or more modules may be integrated into one unit.
  • the functions are implemented in the form of software functional units and sold or used as independent products, they can be stored in a computer-readable storage medium.
  • the technical solution of the present application or the part that contributes to the prior art, or the part of the technical solution, can be embodied in the form of a software product, which is stored in a storage medium and includes several instructions for enabling a computer device to The device (which may be a personal computer, a server, or a network device, etc.) executes all or part of the steps of the methods described in each embodiment of the present application.
  • the aforementioned storage medium includes: a USB flash drive, a mobile hard disk, a read-only memory (ROM), a random access memory (RAM), a magnetic disk or an optical disk, and other media that can store program codes.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computer Hardware Design (AREA)
  • Computer Graphics (AREA)
  • User Interface Of Digital Computer (AREA)
  • Controls And Circuits For Display Device (AREA)

Abstract

本申请公开一种显示方法及电子设备,方法包括:接收用户输入的第一触控操作;若第一触控操作的触控场景为离手操作场景,则在第一配置时长内,对第一图像帧执行绘制渲染操作;在第二配置时长内,对绘制渲染后的第一图像帧执行合成操作;接收用户输入的第二触控操作;若第二触控操作的触控场景为不离手操作场景,则在不离手操作场景下的第三配置时长内,对第二图像帧执行绘制渲染操作;在不离手操作场景下的第四配置时长内,对绘制渲染后的第二图像帧执行合成操作;其中,第三配置时长小于第一配置时长,和/或,第四配置时长小于第二配置时长。这样,对不同的触控操作场景,配置不同的工作时长,可以更好的适配不同应用场景下的不同需求。

Description

一种显示方法及电子设备
本申请要求于2023年01月28日提交国家知识产权局、申请号为202310041624.7、发明名称为“一种显示方法及电子设备”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及显示系统技术领域,尤其涉及一种显示方法及电子设备。
背景技术
跟手性能是衡量触控体验的一项关键指标,跟手响应时间越短,跟手性能越好。跟手响应时间是指电子设备在接收到用户的触控操作后,将该触控操作对应的页面显示在显示屏上所需的时间。
目前,对一些触屏操作场景,依然存在跟手性差的问题。即在电子设备对内容进行显示时,经常存在显示滞后的问题,从而影响用户体验。
发明内容
本申请提供一种显示方法及电子设备,用于解决跟手性差的问题。
第一方面,本申请提供一种显示方法,应用于电子设备,所述方法包括:接收用户输入的第一触控操作;若所述第一触控操作的触控场景为离手操作场景,则响应于接收到的第一应用垂直同步信号,在所述离手操作场景下的第一配置时长内,对第一图像帧执行绘制渲染操作;响应于接收到的第一合成垂直同步信号,在所述离手操作场景下的第二配置时长内,对绘制渲染后的所述第一图像帧执行合成操作;其中,所述第一合成垂直同步信号与第一应用垂直同步信号间隔所述第一配置时长;响应于接收到的第一硬件垂直同步信号,对合成后的第一图像帧执行送显操作;其中,所述第一硬件垂直同步信号与所述第一合成垂直同步信号间隔所述第二配置时长;接收用户输入的第二触控操作;若所述第二触控操作的触控场景为不离手操作场景,则响应于接收到的第二应用垂直同步信号,在所述不离手操作场景下的第三配置时长内,对第二图像帧执行绘制渲染操作;响应于接收到的第二合成垂直同步信号,在所述不离手操作场景下的第四配置时长内,对绘制渲染后的所述第二图像帧执行合成操作;其中,所述第二合成垂直同步信号与所述第二应用垂直同步信号间隔所述第三配置时长;响应于接收到的第二硬件垂直同步信号,对合成后的第二图像帧执行送显操作;所述第二硬件垂直同步信号与所述第二合成垂直同步信号间隔所述第四配置时长;其中,所述第三配置时长小于所述第一配置时长,和/或,所述第四配置时长小于所述第二配置时长。
这样,对不同的触控操作场景,配置不同的工作时长,可以更好的适配不同应用场景下的不同需求。具体的,可以在不离手操作场景下,调整配置时长(包括绘制时 长,和/或,合成时长),使不离手操作场景下的配置时长小于离手操作场景下的配置时长。这样,基于调整后的配置时长,执行绘制渲染、合成及送显操作,可以减小触控时延,提高跟手性,改善用户体验。
在一种可实现方式中,所述不离手操作场景包括不离手滑动操作场景和不离手按压操作场景。
在一种可实现方式中,所述方法还包括:若所述第一触控操作的触控场景为离手操作场景,则确定所述离手操作场景对应的第一配置信息,所述第一配置信息包括所述第一配置时长和所述第二配置时长;若所述第二触控操作的触控场景为不离手操作场景,则确定所述不离手操作场景对应的第二配置信息,所述第二配置信息包括所述第三配置时长和所述第四配置时长。
在一种可实现方式中,所述第二应用垂直同步信号与第三应用垂直同步信号之间间隔第一时长,所述第二应用垂直同步信号与第四应用垂直同步信号之间间隔第二时长,所述第三应用垂直同步信号为所述第二应用垂直同步信号的上一个应用垂直同步信号,所述第四应用垂直同步信号为所述第二应用垂直同步信号的下一个应用垂直同步信号;所述第二合成垂直同步信号与第三合成垂直同步信号之间间隔第三时长,所述第二合成垂直同步信号与第四合成垂直同步信号之间间隔第四时长,所述第三合成垂直同步信号为所述第二合成垂直同步信号的上一个合成垂直同步信号,所述第四合成垂直同步信号为所述第二合成垂直同步信号的下一个合成垂直同步信号;其中,所述第一时长与所述第二时长不同,和/或,所述第三时长与所述第四时长不同。
这样,可以通过调整应用垂直信号和/或的合成垂直信号的偏移量,实现对配置时长的修改。
在一种可实现方式中,若所述第二触控操作的触控场景为不离手操作场景,所述方法还包括:基于所述第二硬件垂直同步信号以及所述不离手操作场景下的第一信号偏移量,生成所述第二应用垂直同步信号;基于所述第二硬件垂直同步信号以及所述不离手操作场景下的第二信号偏移量,生成所述第二合成垂直同步信号。
在一种可实现方式中,所述方法还包括:获取执行所述绘制渲染操作的历史绘制时长,以及执行所述合成操作的历史合成时长;根据所述历史绘制时长和所述历史合成时长,确定所述第三配置时长和所述第四配置时长;所述第三配置时长大于或等于所述历史绘制时长中的最大绘制时长,所述第四配置时长大于或等于所述历史合成时长中的最大合成时长。
这样,基于历史统计数据,确定的第三配置时长和第四配置时长,能够更好的保证在第三配置时长和第四配置时长内按时完成绘制渲染、合成及送显操作。
在一种可实现方式中,所述方法还包括:确定所述不离手操作场景对应的跟手性等级;基于所述跟手性等级确定所述第三配置时长和所述第四配置时长,其中,不同的跟手性等级对应不同的配置时长。
这样,本申请对不离手滑动操作进一步细分,使不同的不离手滑动操作场景对应不同的配置时长,这样可以更好的适配不同的滑动操作场景下的跟手性需求,进一步提高用户体验。
在一种可实现方式中,所述不离手操作场景包括手指不离手操作场景和手写笔不 离手操作场景,所述手写笔不离手操作场景对应的跟手性等级高于所述手指不离手操作场景对应的跟手性等级;其中,所述手写笔不离手操作场景对应所述第三配置时长小于所述手指不离手操作场景对应的所述第三配置时长,和/或,所述手写笔不离手操作场景对应所述第四配置时长小于所述手指不离手操作场景对应的所述第四配置时长。
在一种可实现方式中,若所述第二触控操作的触控场景为不离手操作场景,所述方法还包括:在用于缓存绘制渲染后图像帧的缓存队列中缓存帧的数量为多个,且所述缓存队列中位于首位的第一缓存帧满足丢帧条件的情况下,确定所述第一缓存帧对应的第一预设送显时间和第二预设送显时间;所述第一预设送显时间为预设的对所述第一缓存帧执行送显操作的时间,所述第二预设送显时间为预设的与第二合成垂直同步信号对应的送显时间;在所述第一预设送显时间早于所述第二预设送显时间的情况下,确定第二缓存帧对应第三预设送显时间;所述第三预设送显时间为预设的对所述第二缓存帧执行送显操作的时间,所述第二缓存帧为所述缓存队列中位于所述第一缓存帧之后的缓存帧;在所述第三预设送显时间与所述第二预设送显时间相同,或者,所述第三预设送显时间早于所述第二预设送显时间的情况下,丢弃所述第一缓存帧,并对所述第二缓存帧执行合成操作。
这样,可以丢弃第一缓存帧、采用第二缓存帧参与合成操作,以达到尽快在显示屏上显示图像的目的,同时用户不会感觉到卡顿。
在一种可实现方式中,所述方法还包括:在所述第三预设送显时间晚于所述第二预设送显时间,且确定当前接收到的第二合成垂直同步信号与上一个第二合成垂直同步信号间隔时长小于一个Vsync周期,或者,用于触发对所述第二缓存帧执行绘制渲染操作的第二应用垂直同步信号与上一个第二应用垂直同步信号之间间隔时长小于一个Vsync周期的情况下,丢弃所述第一缓存帧,并对所述第二缓存帧执行合成操作。
这样,可以避免由于缓存状态的误判,导致缓存帧堆积。
在一种可实现方式中,所述方法还包括:在所述第一预设送显时间与所述第二预设送显时间相同,或者,所述第三预设送显时间晚于所述第二预设送显时间的情况下,对所述第一缓存帧执行合成操作。
在一种可实现方式中,所述丢帧条件包括:所述第一缓存帧的第一预设送显时间对应的时间戳属性为自动时间戳、当前刷新率大于60Hz、与上一次丢弃所述缓存队列中图像帧的时间间隔大于预设时间间隔阈值。
第二方面,本申请提供又一种显示方法,应用于电子设备,所述方法包括:接收用户输入的第二触控操作;若所述第二触控操作的触控场景为不离手操作场景,则在用于缓存绘制渲染后图像帧的缓存队列中缓存帧的数量为多个,且所述缓存队列中位于首位的第一缓存帧满足丢帧条件的情况下,确定所述第一缓存帧对应的第一预设送显时间和第二预设送显时间;所述第一预设送显时间为预设的对所述第一缓存帧执行送显操作的时间,所述第二预设送显时间为预设的与第二合成垂直同步信号对应的送显时间;在所述第一预设送显时间早于所述第二预设送显时间的情况下,确定第二缓存帧对应第三预设送显时间;所述第三预设送显时间为预设的对所述第二缓存帧执行送显操作的时间,所述第二缓存帧为所述缓存队列中位于所述第一缓存帧之后的缓存 帧;在所述第三预设送显时间与所述第二预设送显时间相同,或者,所述第三预设送显时间早于所述第二预设送显时间的情况下,丢弃所述第一缓存帧,并对所述第二缓存帧执行合成操作。
这样,可以丢弃第一缓存帧、采用第二缓存帧参与合成操作,以达到尽快在显示屏上显示图像的目的,同时用户不会感觉到卡顿。
在一种可实现方式中,所述方法还包括:在所述第三预设送显时间晚于所述第二预设送显时间,且确定当前接收到的第二合成垂直同步信号与上一个第二合成垂直同步信号间隔时长小于一个Vsync周期,或者,用于触发对所述第二缓存帧执行绘制渲染操作的第二应用垂直同步信号与上一个第二应用垂直同步信号之间间隔时长小于一个Vsync周期的情况下,丢弃所述第一缓存帧,并对所述第二缓存帧执行合成操作。
这样,可以避免由于缓存状态的误判,导致缓存帧堆积。
在一种可实现方式中,所述方法还包括:在所述第一预设送显时间与所述第二预设送显时间相同,或者,所述第三预设送显时间晚于所述第二预设送显时间的情况下,对所述第一缓存帧执行合成操作。
在一种可实现方式中,所述丢帧条件包括:所述第一缓存帧的第一预设送显时间对应的时间戳属性为自动时间戳、当前刷新率大于60Hz、与上一次丢弃所述缓存队列中图像帧的时间间隔大于预设时间间隔阈值。
第三方面,本申请提供一种显示装置,该显示装置可以包括:第一接收模块,用于接收用户输入的第一触控操作;第一绘制渲染模块,用于在所述第一触控操作的触控场景为离手操作场景时,响应于接收到的第一应用垂直同步信号,在所述离手操作场景下的第一配置时长内,对第一图像帧执行绘制渲染操作;第一合成模块,用于响应于接收到的第一合成垂直同步信号,在所述离手操作场景下的第二配置时长内,对绘制渲染后的所述第一图像帧执行合成操作;其中,所述第一合成垂直同步信号与第一应用垂直同步信号间隔所述第一配置时长;第一显示模块,用于响应于接收到的第一硬件垂直同步信号,对合成后的第一图像帧执行送显操作;其中,所述第一硬件垂直同步信号与所述第一合成垂直同步信号间隔所述第二配置时长;第二接收模块,用于接收用户输入的第二触控操作;第二绘制渲染模块,用于在所述第二触控操作的触控场景为不离手操作场景时,响应于接收到的第二应用垂直同步信号,在所述不离手操作场景下的第三配置时长内,对第二图像帧执行绘制渲染操作;第二合成模块,用于响应于接收到的第二合成垂直同步信号,在所述不离手操作场景下的第四配置时长内,对绘制渲染后的所述第二图像帧执行合成操作;其中,所述第二合成垂直同步信号与所述第二应用垂直同步信号间隔所述第三配置时长;第二显示模块,用于响应于接收到的第二硬件垂直同步信号,对合成后的第二图像帧执行送显操作;所述第二硬件垂直同步信号与所述第二合成垂直同步信号间隔所述第四配置时长;其中,所述第三配置时长小于所述第一配置时长,和/或,所述第四配置时长小于所述第二配置时长。
其中,上述第三方面提供的一种显示装置能够用于执行第一方面中任一项显示方法。
第四方面,本申请提供又一种显示装置,该装置包括第六确定模块,用于在用于缓存绘制渲染后图像帧的缓存队列中缓存帧的数量为多个,且所述缓存队列中位于首 位的第一缓存帧满足丢帧条件的情况下,确定所述第一缓存帧对应的第一预设送显时间和第二预设送显时间;所述第一预设送显时间为预设的对所述第一缓存帧执行送显操作的时间,所述第二预设送显时间为预设的与第二合成垂直同步信号对应的送显时间;第七确定模块,用于在所述第一预设送显时间早于所述第二预设送显时间的情况下,确定第二缓存帧对应第三预设送显时间;所述第三预设送显时间为预设的对所述第二缓存帧执行送显操作的时间,所述第二缓存帧为所述缓存队列中位于所述第一缓存帧之后的缓存帧;第二合成模块,用于在所述第三预设送显时间与所述第二预设送显时间相同,或者,所述第三预设送显时间早于所述第二预设送显时间的情况下,丢弃所述第一缓存帧,并对所述第二缓存帧执行合成操作。
其中,上述第四方面提供的一种显示装置能够用于执行第二方面中任一项显示方法。
第五方面,本申请提供一种电子设备,包括存储器和处理器;所述存储器和所述处理器耦合;所述存储器用于存储计算机程序代码,所述计算机程序代码包括计算机指令,当所述处理器执行所述计算机指令时,使所述电子设备执行如第一方面或第二方面中任一项所述的方法。
第六方面,本申请提供一种计算机存储介质,所述计算机存储介质中存储有计算机程序或指令,当所述计算机程序或指令被执行时,如第一方面或第二方面中任一项所述的方法被执行。
第七方面,本申请提供一种计算机程序产品,包括计算机可读代码,当所述计算机可读代码在电子设备中运行时,使得电子设备实现如第一方面或第二方面中任一项所述的方法被执行。
应当理解的是,上述第二方面至第七方面的有益效果可以参见上述第一方面中的相关描述,在此不再赘述。
附图说明
图1为本申请实施例提供的一种图像显示过程的框架图;
图2为本申请实施例提供的一种触控时延示意图;
图3为本申请实施例提供的一种点击操作场景下,图像显示过程的示意图;
图4为本申请实施例提供的又一种点击操作场景下,图像显示过程的示意图;
图5为本申请实施例提供的又一种图像显示过程的示意图;
图6为本申请实施例提供的一种电子设备的结构示意图;
图7为本申请实施例提供的电子设备的软件结构框图;
图8为本申请实施例一提供的一种显示方法的流程图;
图9为本申请实施例一提供的一种显示方法的模块交互图;
图10为本申请实施例提供的一种用户在显示屏上滑动操作的场景图;
图11为本申请实施例一提供的一种不离手滑动操作场景下,显示方法的流程图;
图12为本申请实施例一提供的又一种不离手滑动操作场景下,显示方法的流程图;
图13为本申请实施例提供的一种显示过程的示意图;
图14为本申请实施例提供的一种绘制渲染与合成操作的实际工作时长的统计图;
图15为本申请实施例二提供的一种显示方法的流程图;
图16为本申请实施例二提供的一种图像显示过程的示意图;
图17为本申请实施例二提供的又一种图像显示过程的示意图;
图18为本申请实施例提供的一种显示装置的结构示意图;
图19为本申请实施例提供的又一种显示装置的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
下面结合附图,对本申请的技术方案进行描述。
在本申请的描述中,除非另有说明,“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。此外,“至少一个”是指一个或多个,“至少两个”是指两个或两个以上,“多个”也是指两个或两个以上。“第一”、“第二”等字样并不对数量和执行次序进行限定,并且“第一”、“第二”等字样也并不限定一定不同。
需要说明的是,本申请中,“示例性地”或者“例如”等词用于表示作例子、例证或说明。本申请中被描述为“示例性地”或者“例如”的任何实施例或设计方案不应被解释为比其他实施例或设计方案更优选或更具优势。确切而言,使用“示例性地”或者“例如”等词旨在以具体方式呈现相关概念。
为了便于理解本申请的技术方案,下面先对本申请提供的技术方案的应用场景进行示例性说明。
如图1所示,当用户触摸触控屏TP后,触控屏TP内的压力传感器会检测到压力值,并将压力值上传至算法库。在算法库将压力值转换为坐标值(也称为报点数据),然后将坐标值发送至Input模块,Input模块可以对坐标值进行重采样处理,得到重采样后的坐标值。当应用接收到Vsync-APP信号(也称为应用垂直同步信号)时,应用获取重采样后的坐标值进行图像绘制渲染处理;当接收到Vsync-SF信号(也称为合成垂直同步信号)时,合成模块对绘制渲染后的图像进行合成处理;当接收到Vsync-HW信号(也称为硬件垂直同步信号)时,合成模块将合成后的图像送至显示器LCD显示。
电子设备在接收到用户输入的触控操作后,将该触控操作对应的页面显示在显示屏上所需的时间,称为跟手响应时间,也称为触控时延。
结合图1和图2所示,触控时延主要包括如下四部分时延:第一部分时延T1表示从用户触摸触控屏TP(图2中A点)到生成报点数据(图2中B点)所消耗的时间,第二部分时延T2表示将报点数据传输到输入(input)子系统并等待报点被消费(图2中C点)所消耗的时间,第三部分时延T3表示取出报点数据,进行绘制渲染、合成及送显(图2中D点)操作所消耗的时间,第四部分时延T4表示将合成好的图像显示(图2中E点)在显示屏上所消耗的时间。
图2展示了从用户在显示屏上触控到将该触控操作对应的画面显示在显示屏上的 整个流程。应理解,优化上述四部分时延中的任意一种,都能够提升跟手性能。本申请实施例提供的方法,目的在于优化上述第三部分时延T3。
下面对第三部分时延T3对应的处理流程作进一步介绍。
为了便于理解,首先对部分与第三部分时延T3对应的处理流程中相关概念进行介绍。
1、帧:是指界面显示中最小单位的单幅画面。一帧可以理解为一副静止的画面,快速连续地显示多个相连的帧可以形成物体运动的假象。帧率是指在1秒钟时间里刷新图片的帧数,也可以理解为电子设备中图形处理器每秒钟刷新画面的次数。高的帧率可以得到更流畅和更逼真的动画。每秒钟帧数越多,所显示的动作就会越流畅。
需要说明的是,界面显示帧前通常需要经过绘制、渲染、合成等过程。
2、帧绘制:是指显示界面的图片绘制。显示界面可以由一个或多个视图组成,各个视图可以由视图系统的可视控件绘制,各个视图由子视图组成,一个子视图对应视图中的一个小部件,例如,其中的一个子视图对应图片视图中的一个符号。
3、帧渲染:是将绘制后的视图进行着色操作或增加3D效果等。例如:3D效果可以是灯光效果、阴影效果和纹理效果等。
4、帧合成:是将多个上述一个或多个渲染后的视图合成为显示界面的过程。
5、送显:是将合成后的视图送至显示模块(如显示驱动芯片DDIC)的操作。
下面对第三部分时延T3对应的界面显示过程进行说明。
为了提高显示的流畅性,减少出现显示卡顿等现象,电子设备一般基于垂直同步(Vertical Synchronization,Vsync)信号进行显示,以对图像的绘制渲染、合成和送显等流程进行同步。
Vsync信号为周期性信号,Vsync信号周期可以根据屏幕刷新率进行设置,例如,屏幕刷新率为60Hz时,Vsync信号周期可以为16.6ms,即电子设备每间隔16.6ms生成一个控制信号使Vsync信号周期触发。又例如,屏幕刷新率为90Hz时,Vsync信号周期可以为11.1ms,即电子设备每间隔11.1ms生成一个控制信号使Vsync信号周期触发。
需要说明的是,Vsync信号分为硬件Vsync信号(也称为Vsync-HW信号)和软件Vsync信号。其中,Vsync-HW信号由屏幕LCD产生,合成模块将Vsync-HW信号转成软件信号:分别为Vsync-APP信号和Vsync-SF信号。Vsync-APP信号用于触发执行绘制渲染操作。Vsync-SF信号用于触发执行合成操作。Vsync-HW信号用于触发执行送显的操作。
还需要说明的是,目前电子设备中系统预先分别为应用配置足够的绘制时长,以及为合成模块配置足够的合成时长,来进行绘制渲染与合成操作。具体的,可以在合成模块将Vsync-HW信号转成软件信号时,调整Vsync-APP信号和Vsync-SF信号的偏移量,使Vsync-APP信号、Vsync-SF信号和Vsync-HW信号,在每个Vsync周期错位发送,以使绘制渲染与合成操作满足各自的配置时长。
示例性的,如图3所示,在合成模块将Vsync-HW信号转成软件信号时,设置Vsync-APP信号偏移量为1ms,设置Vsync-SF信号的偏移量为-2ms。这样,Vsync-APP信号、Vsync-SF信号和Vsync-HW信号的发送节奏如图3所示。
目前,基于Vsync-APP信号的偏移量与Vsync-SF信号的偏移量,计算为绘制渲染操作配置的绘制时长以及为合成操作配置的合成时长的方法如下:
按照如下第一关系式计算绘制时长Tapp,按照如下第二关系式计算合成时长Tsf。
第一关系式为:Tapp=Tte+(sfOffset-appOffset);
第二关系式为:Tsf=Tte–sfOffset。
其中,Tapp表示为绘制渲染操作配置的绘制时长,Tsf表示为合成操作配置的合成时长,Tte表示Vsync周期,appOffset表示Vsync-APP信号的偏移量,sfOffset表示Vsync-SF信号的偏移量。
需要说明的是,现有的计算方法,如果按照下述第一关系式计算得到的Tapp小于Tte,则在计算得到的Tapp基础之上再加一个Tte。
示例性的,以appOffset=1ms,sfOffset=-2ms,Tte=11.1ms为例。根据第一关系式可知,Tapp=11.1+(-2-1)=8.1ms,Tsf=11.1–(-2)=13.1ms。由于Tapp=8.1ms<11.1ms,因此,Tapp=8.1+11.1=19.2ms。
这样,如图3所示,响应于Vsync-APP信号11,应用对帧1执行绘制渲染操作,绘制渲染后的帧1要等到与该Vsync-APP信号11间隔为19.2ms的Vsync-SF信号(即图3中Vsync-SF信号22)才能被消费。也就是说,响应于Vsync-SF信号22,合成模块取出绘制渲染后的帧1进行消费,执行合成操作。类似的,合成后的帧1要等到与该Vsync-SF信号22间隔为13.1ms的Vsync-HW信号(即图3中Vsync-HW信号33)才能被消费。也就是说,响应于Vsync-HW信号33,显示模块对合成后的帧1执行送显操作,将帧1刷新到屏幕上。这样,从对帧1的绘制渲染到将帧1送至显示模块进行显示需要经过大约三个Vsync周期。
目前,对于用户的任何触控操作场景,电子设备都采用上述方法预先设置好的对应的绘制时长和合成时长,执行绘制渲染、合成及送显的操作。这样就存在如下问题:上述预先设置好的配置时长可能能够满足一些应用场景(如点击操作场景)下的刷图要求。但是,对于跟手性有要求的场景,如拖拽页面等不离手滑动的场景,依然基于这样的配置时长执行绘制渲染、合成及送显的操作,可能会出现跟手性差的问题。例如上述图3示出的,一帧图像从绘制渲染到送至显示模块进行显示需要经过大约三个Vsync周期,图像显示效率较差,触控响应较慢、跟手性差,严重影响用户在不离手滑动的场景下的应用体验。
如图5所示,绘制渲染后的图像帧可以缓存在合成模块的缓存队列中,等待被合成模块消费。合成模块接收到Vsync-SF信号后,从缓存队列中依次取出缓存帧执行合成操作。
在发生一些异常情况下,如在第一个Vsync周期没有完成对帧1的绘制渲染,这样,在第二个Vsync周期,缓存队列中就可能堆积两个缓存帧。当缓存队列中存在多个缓存帧时,合成模块按照缓存帧排队的先后顺序,从缓存队列取出缓存帧进行合成操作。例如,在第一个Vsync周期,应用开始绘制渲染帧4,缓存队列中包括绘制渲染后的帧2和帧3。在第二个Vsync周期,应用开始绘制渲染帧5,合成模块从缓存队列中取出排在首位的帧2进行合成操作,缓存队列中包括绘制渲染后的帧3和帧4。依次类推,在第五个Vsync周期,帧4才显示在屏幕上。由此可见,相比于缓存队列 中不存在缓存帧的情况,在缓存队列中存在两个缓存帧的情况下,图像会延迟两个Vsync周期显示。
因此,缓存队列中堆积的缓存帧数量,也会影响第三部分时延T3。
综上,第三部分时延T3可以由如下第三关系式表示,第三关系式为:T3=T配+M*Tte。
其中,T配表示开始执行绘制渲染至送显操作的总配置时长;M表示缓存队列中堆积的缓存帧的数量,M为大于等于0的正整数。
为了优化第三部分时延T3,本申请实施例提供一种显示方法。该显示方法可以通过优化配置时长,和/或,减少缓存队列中堆积的缓存帧的数量,来减小第三部分时延T3,从而提高跟手性能。
本申请实施例提供的一种显示方法,可以应用于任何具有触控屏的电子设备,如手机、手表、平板电脑等。
示例性的,电子设备的具体结构可以参见图6所示的电子设备的结构示意图。
如图6所示,电子设备100可以包括处理器110,外部存储器接口120,内部存储器121,通用串行总线(universal serial bus,USB)接口130,充电管理模块140,电源管理模块141,电池142,天线1,天线2,移动通信模块150,无线通信模块160,音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,传感器模块180,按键190,马达191,指示器192,摄像头193,显示屏194,以及用户标识模块(subscriber identification module,SIM)卡接口195等。其中传感器模块180可以包括压力传感器180A,陀螺仪传感器180B,气压传感器180C,磁传感器180D,加速度传感器180E,距离传感器180F,接近光传感器180G,指纹传感器180H,温度传感器180J,触摸传感器180K,环境光传感器180L,骨传导传感器180M等。
可以理解的是,本发明实施例示意的结构并不构成对电子设备100的具体限定。在本申请另一些实施例中,电子设备100可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processing unit,GPU),图像信号处理器(image signal processor,ISP),控制器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器110中的存储器为高速缓冲存储器。该存储器可以保存处理器110刚用过或循环使用的指令或数据。如果处理器110需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减少了处理器110的等待时间,因而提高了系统的效率。
在一些实施例中,处理器110可以包括一个或多个接口。接口可以包括集成电路 (inter-integrated circuit,I2C)接口,集成电路内置音频(inter-integrated circuit sound,I2S)接口,脉冲编码调制(pulse code modulation,PCM)接口,通用异步收发传输器(universal asynchronous receiver/transmitter,UART)接口,移动产业处理器接口(mobile industry processor interface,MIPI),通用输入输出(general-purpose input/output,GPIO)接口,用户标识模块(subscriber identity module,SIM)接口,和/或通用串行总线(universal serial bus,USB)接口等。
I2C接口是一种双向同步串行总线,包括一根串行数据线(serial data line,SDA)和一根串行时钟线(derail clock line,SCL)。在一些实施例中,处理器110可以包含多组I2C总线。处理器110可以通过不同的I2C总线接口分别耦合触摸传感器180K,充电器,闪光灯,摄像头193等。例如:处理器110可以通过I2C接口耦合触摸传感器180K,使处理器110与触摸传感器180K通过I2C总线接口通信,实现电子设备100的触摸功能。
I2S接口可以用于音频通信。在一些实施例中,处理器110可以包含多组I2S总线。处理器110可以通过I2S总线与音频模块170耦合,实现处理器110与音频模块170之间的通信。在一些实施例中,音频模块170可以通过I2S接口向无线通信模块160传递音频信号,实现通过蓝牙耳机接听电话的功能。
PCM接口也可以用于音频通信,将模拟信号抽样,量化和编码。在一些实施例中,音频模块170与无线通信模块160可以通过PCM总线接口耦合。在一些实施例中,音频模块170也可以通过PCM接口向无线通信模块160传递音频信号,实现通过蓝牙耳机接听电话的功能。所述I2S接口和所述PCM接口都可以用于音频通信。
UART接口是一种通用串行数据总线,用于异步通信。该总线可以为双向通信总线。它将要传输的数据在串行通信与并行通信之间转换。在一些实施例中,UART接口通常被用于连接处理器110与无线通信模块160。例如:处理器110通过UART接口与无线通信模块160中的蓝牙模块通信,实现蓝牙功能。在一些实施例中,音频模块170可以通过UART接口向无线通信模块160传递音频信号,实现通过蓝牙耳机播放音乐的功能。
MIPI接口可以被用于连接处理器110与显示屏194,摄像头193等外围器件。MIPI接口包括摄像头串行接口(camera serial interface,CSI),显示屏串行接口(display serial interface,DSI)等。在一些实施例中,处理器110和摄像头193通过CSI接口通信,实现电子设备100的拍摄功能。处理器110和显示屏194通过DSI接口通信,实现电子设备100的显示功能。
GPIO接口可以通过软件配置。GPIO接口可以被配置为控制信号,也可被配置为数据信号。在一些实施例中,GPIO接口可以用于连接处理器110与摄像头193,显示屏194,无线通信模块160,音频模块170,传感器模块180等。GPIO接口还可以被配置为I2C接口,I2S接口,UART接口,MIPI接口等。
USB接口130是符合USB标准规范的接口,具体可以是Mini USB接口,Micro USB接口,USB Type C接口等。USB接口130可以用于连接充电器为电子设备100充电,也可以用于电子设备100与外围设备之间传输数据。也可以用于连接耳机,通过耳机播放音频。该接口还可以用于连接其他电子设备,例 如AR设备等。
可以理解的是,本发明实施例示意的各模块间的接口连接关系,只是示意性说明,并不构成对电子设备100的结构限定。在本申请另一些实施例中,电子设备100也可以采用上述实施例中不同的接口连接方式,或多种接口连接方式的组合。
充电管理模块140用于从充电器接收充电输入。其中,充电器可以是无线充电器,也可以是有线充电器。在一些有线充电的实施例中,充电管理模块140可以通过USB接口130接收有线充电器的充电输入。在一些无线充电的实施例中,充电管理模块140可以通过电子设备100的无线充电线圈接收无线充电输入。充电管理模块140为电池142充电的同时,还可以通过电源管理模块141为电子设备供电。
电源管理模块141用于连接电池142,充电管理模块140与处理器110。电源管理模块141接收电池142和/或充电管理模块140的输入,为处理器110,内部存储器121,显示屏194,摄像头193,和无线通信模块160等供电。电源管理模块141还可以用于监测电池容量,电池循环次数,电池健康状态(漏电,阻抗)等参数。在其他一些实施例中,电源管理模块141也可以设置于处理器110中。在另一些实施例中,电源管理模块141和充电管理模块140也可以设置于同一个器件中。
电子设备100的无线通信功能可以通过天线1,天线2,移动通信模块150,无线通信模块160,调制解调处理器以及基带处理器等实现。
天线1和天线2用于发射和接收电磁波信号。电子设备100中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。例如:可以将天线1复用为无线局域网的分集天线。在另外一些实施例中,天线可以和调谐开关结合使用。
移动通信模块150可以提供应用在电子设备100上的包括2G/3G/4G/5G等无线通信的解决方案。移动通信模块150可以包括至少一个滤波器,开关,功率放大器,低噪声放大器(low noise amplifier,LNA)等。移动通信模块150可以由天线1接收电磁波,并对接收的电磁波进行滤波,放大等处理,传送至调制解调处理器进行解调。移动通信模块150还可以对经调制解调处理器调制后的信号放大,经天线1转为电磁波辐射出去。在一些实施例中,移动通信模块150的至少部分功能模块可以被设置于处理器110中。在一些实施例中,移动通信模块150的至少部分功能模块可以与处理器110的至少部分模块被设置在同一个器件中。
调制解调处理器可以包括调制器和解调器。其中,调制器用于将待发送的低频基带信号调制成中高频信号。解调器用于将接收的电磁波信号解调为低频基带信号。随后解调器将解调得到的低频基带信号传送至基带处理器处理。低频基带信号经基带处理器处理后,被传递给应用处理器。应用处理器通过音频设备(不限于扬声器170A,受话器170B等)输出声音信号,或通过显示屏194显示图像或视频。在一些实施例中,调制解调处理器可以是独立的器件。在另一些实施例中,调制解调处理器可以独立于处理器110,与移动通信模块150或其他功能模块设置在同一个器件中。
无线通信模块160可以提供应用在电子设备100上的包括无线局域网(wireless  local area networks,WLAN)(如无线保真(wireless fidelity,Wi-Fi)网络),蓝牙(bluetooth,BT),全球导航卫星系统(global navigation satellite system,GNSS),调频(frequency modulation,FM),近距离无线通信技术(near field communication,NFC),红外技术(infrared,IR)等无线通信的解决方案。无线通信模块160可以是集成至少一个通信处理模块的一个或多个器件。无线通信模块160经由天线2接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信号发送到处理器110。无线通信模块160还可以从处理器110接收待发送的信号,对其进行调频,放大,经天线2转为电磁波辐射出去。
在一些实施例中,电子设备100的天线1和移动通信模块150耦合,天线2和无线通信模块160耦合,使得电子设备100可以通过无线通信技术与网络以及其他设备通信。所述无线通信技术可以包括全球移动通讯系统(global system for mobile communications,GSM),通用分组无线服务(general packet radio service,GPRS),码分多址接入(code division multiple access,CDMA),宽带码分多址(wideband code division multiple access,WCDMA),时分码分多址(time-division code division multiple access,TD-SCDMA),长期演进(long term evolution,LTE),BT,GNSS,WLAN,NFC,FM,和/或IR技术等。所述GNSS可以包括全球卫星定位系统(global positioning system,GPS),全球导航卫星系统(global navigation satellite system,GLONASS),北斗卫星导航系统(beidou navigation satellite system,BDS),准天顶卫星系统(quasi-zenith satellite system,QZSS)和/或星基增强系统(satellite based augmentation systems,SBAS)。
电子设备100通过GPU,显示屏194,以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏194和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器110可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。
显示屏194用于显示图像,视频等。显示屏194包括显示面板。显示面板可以采用液晶显示屏(liquid crystal display,LCD),有机发光二极管(organic light-emitting diode,OLED),有源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrix organic light emitting diode的,AMOLED),柔性发光二极管(flex light-emitting diode,FLED),Miniled,MicroLed,Micro-oLed,量子点发光二极管(quantum dot light emitting diodes,QLED)等。在一些实施例中,电子设备100可以包括1个或N个显示屏194,N为大于1的正整数。
电子设备100可以通过ISP,摄像头193,视频编解码器,GPU,显示屏194以及应用处理器等实现拍摄功能。
ISP用于处理摄像头193反馈的数据。例如,拍照时,打开快门,光线通过镜头被传递到摄像头感光元件上,光信号转换为电信号,摄像头感光元件将所述电信号传递给ISP处理,转化为肉眼可见的图像。ISP还可以对图像的噪点,亮度,肤色进行算法优化。ISP还可以对拍摄场景的曝光,色温等参数优化。在一些实施例中,ISP可以设置在摄像头193中。
摄像头193用于捕获静态图像或视频。物体通过镜头生成光学图像投射到感光元件。感光元件可以是电荷耦合器件(charge coupled device,CCD)或互补金属氧化物半导体(complementary metal-oxide-semiconductor,CMOS)光电晶体管。感光元件把光信 号转换成电信号,之后将电信号传递给ISP转换成数字图像信号。ISP将数字图像信号输出到DSP加工处理。DSP将数字图像信号转换成标准的RGB,YUV等格式的图像信号。在一些实施例中,电子设备100可以包括1个或N个摄像头193,N为大于1的正整数。
数字信号处理器用于处理数字信号,除了可以处理数字图像信号,还可以处理其他数字信号。例如,当电子设备100在频点选择时,数字信号处理器用于对频点能量进行傅里叶变换等。
视频编解码器用于对数字视频压缩或解压缩。电子设备100可以支持一种或多种视频编解码器。这样,电子设备100可以播放或录制多种编码格式的视频,例如:动态图像专家组(moving picture experts group,MPEG)1,MPEG2,MPEG3,MPEG4等。
NPU为神经网络(neural-network,NN)计算处理器,通过借鉴生物神经网络结构,例如借鉴人脑神经元之间传递模式,对输入信息快速处理,还可以不断的自学习。通过NPU可以实现电子设备100的智能认知等应用,例如:图像识别,人脸识别,语音识别,文本理解等。
外部存储器接口120可以用于连接外部存储卡,例如Micro SD卡,实现扩展电子设备100的存储能力。外部存储卡通过外部存储器接口120与处理器110通信,实现数据存储功能。例如将音乐,视频等文件保存在外部存储卡中。
内部存储器121可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。内部存储器121可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统,至少一个功能所需的应用程序(比如声音播放功能,图像播放功能等)等。存储数据区可存储电子设备100使用过程中所创建的数据(比如音频数据,电话本等)等。此外,内部存储器121可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flash storage,UFS)等。处理器110通过运行存储在内部存储器121的指令,和/或存储在设置于处理器中的存储器的指令,执行电子设备100的各种功能应用以及数据处理。
电子设备100可以通过音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,以及应用处理器等实现音频功能。例如音乐播放,录音等。
音频模块170用于将数字音频信息转换成模拟音频信号输出,也用于将模拟音频输入转换为数字音频信号。音频模块170还可以用于对音频信号编码和解码。在一些实施例中,音频模块170可以设置于处理器110中,或将音频模块170的部分功能模块设置于处理器110中。
扬声器170A,也称“喇叭”,用于将音频电信号转换为声音信号。电子设备100可以通过扬声器170A收听音乐,或收听免提通话。电子设备100中可以设置多个扬声器170A,例如,可以在电子设备100的顶部设置一个扬声器170A,还可以在底部设置一个扬声器170A等。
受话器170B,也称“听筒”,用于将音频电信号转换成声音信号。当电子设备100接听电话或语音信息时,可以通过将受话器170B靠近人耳接听语音。在一些实施例中,也可以将扬声器170A和受话器170B设置为一个部件,本申请对此不进行限制。
麦克风170C,也称“话筒”,“传声器”,用于将声音信号转换为电信号。当拨打电 话或发送语音信息时,用户可以通过人嘴靠近麦克风170C发声,将声音信号输入到麦克风170C。电子设备100可以设置至少一个麦克风170C。在另一些实施例中,电子设备100可以设置两个麦克风170C,除了采集声音信号,还可以实现降噪功能。在另一些实施例中,电子设备100还可以设置三个,四个或更多麦克风170C,实现采集声音信号,降噪,还可以识别声音来源,实现定向录音功能等。
耳机接口170D用于连接有线耳机。耳机接口170D可以是USB接口130,也可以是3.5mm的开放移动电子设备平台(open mobile terminal platform,OMTP)标准接口,美国蜂窝电信工业协会(cellular telecommunications industry association of the USA,CTIA)标准接口。
压力传感器180A用于感受压力信号,可以将压力信号转换成电信号。在一些实施例中,压力传感器180A可以设置于显示屏194。压力传感器180A的种类很多,如电阻式压力传感器,电感式压力传感器,电容式压力传感器等。电容式压力传感器可以是包括至少两个具有导电材料的平行板。当有力作用于压力传感器180A,电极之间的电容改变。电子设备100根据电容的变化确定压力的强度。当有触摸操作作用于显示屏194,电子设备100根据压力传感器180A检测所述触摸操作强度。电子设备100也可以根据压力传感器180A的检测信号计算触摸的位置。在一些实施例中,作用于相同触摸位置,但不同触摸操作强度的触摸操作,可以对应不同的操作指令。例如:当有触摸操作强度小于第一压力阈值的触摸操作作用于短消息应用图标时,执行查看短消息的指令。当有触摸操作强度大于或等于第一压力阈值的触摸操作作用于短消息应用图标时,执行新建短消息的指令。
陀螺仪传感器180B可以用于确定电子设备100的运动姿态。在一些实施例中,可以通过陀螺仪传感器180B确定电子设备100围绕三个轴(即,x,y和z轴)的角速度。陀螺仪传感器180B可以用于拍摄防抖。示例性的,当按下快门,陀螺仪传感器180B检测电子设备100抖动的角度,根据角度计算出镜头模组需要补偿的距离,让镜头通过反向运动抵消电子设备100的抖动,实现防抖。陀螺仪传感器180B还可以用于导航,体感游戏场景。
气压传感器180C用于测量气压。在一些实施例中,电子设备100通过气压传感器180C测得的气压值计算海拔高度,辅助定位和导航。
磁传感器180D包括霍尔传感器。电子设备100可以利用磁传感器180D检测翻盖皮套的开合。在一些实施例中,当电子设备100是翻盖机时,电子设备100可以根据磁传感器180D检测翻盖的开合。进而根据检测到的皮套的开合状态或翻盖的开合状态,设置翻盖自动解锁等特性。
加速度传感器180E可检测电子设备100在各个方向上(一般为三轴)加速度的大小。当电子设备100静止时可检测出重力的大小及方向。还可以用于识别电子设备姿态,应用于横竖屏切换,计步器等应用。
距离传感器180F,用于测量距离。电子设备100可以通过红外或激光测量距离。在一些实施例中,拍摄场景,电子设备100可以利用距离传感器180F测距以实现快速对焦。
接近光传感器180G可以包括例如发光二极管(LED)和光检测器,例如光电二极管。 发光二极管可以是红外发光二极管。电子设备100通过发光二极管向外发射红外光。电子设备100使用光电二极管检测来自附近物体的红外反射光。当检测到充分的反射光时,可以确定电子设备100附近有物体。当检测到不充分的反射光时,电子设备100可以确定电子设备100附近没有物体。电子设备100可以利用接近光传感器180G检测用户手持电子设备100贴近耳朵通话,以便自动熄灭屏幕达到省电的目的。接近光传感器180G也可用于皮套模式,口袋模式自动解锁与锁屏。
环境光传感器180L用于感知环境光亮度。电子设备100可以根据感知的环境光亮度自适应调节显示屏194亮度。环境光传感器180L也可用于拍照时自动调节白平衡。环境光传感器180L还可以与接近光传感器180G配合,检测电子设备100是否在口袋里,以防误触。
指纹传感器180H用于采集指纹。电子设备100可以利用采集的指纹特性实现指纹解锁,访问应用锁,指纹拍照,指纹接听来电等。
温度传感器180J用于检测温度。在一些实施例中,电子设备100利用温度传感器180J检测的温度,执行温度处理策略。例如,当温度传感器180J上报的温度超过阈值,电子设备100执行降低位于温度传感器180J附近的处理器的性能,以便降低功耗实施热保护。在另一些实施例中,当温度低于另一阈值时,电子设备100对电池142加热,以避免低温导致电子设备100异常关机。在其他一些实施例中,当温度低于又一阈值时,电子设备100对电池142的输出电压执行升压,以避免低温导致的异常关机。
触摸传感器180K,也称“触控器件”。触摸传感器180K可以设置于显示屏194,由触摸传感器180K与显示屏194组成触摸屏,也称“触控屏”。触摸传感器180K用于检测作用于其上或附近的触摸操作。触摸传感器可以将检测到的触摸操作传递给应用处理器,以确定触摸事件类型。可以通过显示屏194提供与触摸操作相关的视觉输出。在另一些实施例中,触摸传感器180K也可以设置于电子设备100的表面,与显示屏194所处的位置不同。
骨传导传感器180M可以获取振动信号。在一些实施例中,骨传导传感器180M可以获取人体声部振动骨块的振动信号。骨传导传感器180M也可以接触人体脉搏,接收血压跳动信号。在一些实施例中,骨传导传感器180M也可以设置于耳机中,结合成骨传导耳机。音频模块170可以基于所述骨传导传感器180M获取的声部振动骨块的振动信号,解析出语音信号,实现语音功能。应用处理器可以基于所述骨传导传感器180M获取的血压跳动信号解析心率信息,实现心率检测功能。
按键190包括开机键,音量键等。按键190可以是机械按键。也可以是触摸式按键。电子设备100可以接收按键输入,产生与电子设备100的用户设置以及功能控制有关的键信号输入。
马达191可以产生振动提示。马达191可以用于来电振动提示,也可以用于触摸振动反馈。例如,作用于不同应用(例如拍照,音频播放等)的触摸操作,可以对应不同的振动反馈效果。作用于显示屏194不同区域的触摸操作,马达191也可对应不同的振动反馈效果。不同的应用场景(例如:时间提醒,接收信息,闹钟,游戏等)也可以对应不同的振动反馈效果。触摸振动反馈效果还可以支持自定义。
指示器192可以是指示灯,可以用于指示充电状态,电量变化,也可以用于指示 消息,未接来电,通知等。
SIM卡接口195用于连接SIM卡。SIM卡可以通过插入SIM卡接口195,或从SIM卡接口195拔出,实现和电子设备100的接触和分离。电子设备100可以支持1个或N个SIM卡接口,N为大于1的正整数。SIM卡接口195可以支持Nano SIM卡,Micro SIM卡,SIM卡等。同一个SIM卡接口195可以同时插入多张卡。所述多张卡的类型可以相同,也可以不同。SIM卡接口195也可以兼容不同类型的SIM卡。SIM卡接口195也可以兼容外部存储卡。电子设备100通过SIM卡和网络交互,实现通话以及数据通信等功能。在一些实施例中,电子设备100采用eSIM,即:嵌入式SIM卡。eSIM卡可以嵌在电子设备100中,不能和电子设备100分离。
电子设备100的软件系统可以采用分层架构,事件驱动架构,微核架构,微服务架构,或云架构。本发明实施例以分层架构的Android系统为例,示例性说明电子设备100的软件结构。
图7是本申请实施例的电子设备100的软件结构框图。
分层架构将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。在一些实施例中,将Android系统分为四层,从上至下分别为应用程序层,应用程序框架层,安卓运行时(Android runtime)和系统库,以及内核层。
应用程序层可以包括一系列应用程序包。
如图7所示,应用程序包可以包括相机,图库,日历,通话,地图,导航,WLAN,蓝牙,音乐,视频,短信息等应用程序。
应用程序框架层为应用程序层的应用程序提供应用编程接口(application programming interface,API)和编程框架。应用程序框架层包括一些预先定义的函数。
如图7所示,应用程序框架层可以包括窗口管理器,内容提供器,视图系统,电话管理器,资源管理器,通知管理器等。
窗口管理器用于管理窗口程序。窗口管理器可以获取显示屏大小,判断是否有状态栏,锁定屏幕,截取屏幕等。
内容提供器用来存放和获取数据,并使这些数据可以被应用程序访问。所述数据可以包括视频,图像,音频,拨打和接听的电话,浏览历史和书签,电话簿等。
视图系统包括可视控件,例如显示文字的控件,显示图片的控件等。视图系统可用于构建应用程序。显示界面可以由一个或多个视图组成的。例如,包括短信通知图标的显示界面,可以包括显示文字的视图以及显示图片的视图。
电话管理器用于提供电子设备100的通信功能。例如通话状态的管理(包括接通,挂断等)。
资源管理器为应用程序提供各种资源,比如本地化字符串,图标,图片,布局文件,视频文件等等。
通知管理器使应用程序可以在状态栏中显示通知信息,可以用于传达告知类型的消息,可以短暂停留后自动消失,无需用户交互。比如通知管理器被用于告知下载完成,消息提醒等。通知管理器还可以是以图表或者滚动条文本形式出现在系统顶部状态栏的通知,例如后台运行的应用程序的通知,还可以是以对话窗口形式出现在屏幕上的通知。例如在状态栏提示文本信息,发出提示音,电子设备振动,指示灯闪烁等。
Android Runtime包括核心库和虚拟机。Android runtime负责安卓系统的调度和管理。
核心库包含两部分:一部分是java语言需要调用的功能函数,另一部分是安卓的核心库。
应用程序层和应用程序框架层运行在虚拟机中。虚拟机将应用程序层和应用程序框架层的java文件执行为二进制文件。虚拟机用于执行对象生命周期的管理,堆栈管理,线程管理,安全和异常的管理,以及垃圾回收等功能。
系统库可以包括多个功能模块。例如:表面管理器(surface manager),媒体库(Media Libraries),三维图形处理库(例如:OpenGL ES),2D图形引擎(例如:SGL)等。
表面管理器用于对显示子系统进行管理,并且为多个应用程序提供了2D和3D图层的融合。
媒体库支持多种常用的音频,视频格式回放和录制,以及静态图像文件等。媒体库可以支持多种音视频编码格式,例如:MPEG4,H.264,MP3,AAC,AMR,JPG,PNG等。
三维图形处理库用于实现三维图形绘图,图像渲染,合成,和图层处理等。
2D图形引擎是2D绘图的绘图引擎。
内核层是硬件和软件之间的层。内核层至少包含显示驱动,摄像头驱动,音频驱动,传感器驱动。
下面对本申请提供的显示方法的进行说明。
实施例一
本申请实施例一提供的显示方法,通过优化配置时长,来减小第三部分时延T3,从而提高跟手性能。
图4为与图3对应的显示过程示意图。如图4所示,申请人发现在实际执行过程中,大多情况下,为绘制渲染操作配置的绘制时长中有大量的空闲时长。例如,虽然为绘制渲染操作配置的绘制时长为19.2ms,而绘制渲染一帧图像实际消耗的时长仅需8.6ms,还有10.6ms的空闲时长。同样的,虽然为合成操作配置的合成时长为13.1ms,而合成一帧图像实际消耗的时长仅需8.1ms,还有5.2ms的空闲时长。
有鉴于此,本申请实施例一提供的显示方法,为了提高不离手滑动场景的跟手性,可以在确认当前场景为不离手操作场景后,缩短为绘制渲染以及合成操作配置的工作时长,加快触控响应,以尽快的将图像刷新到屏幕。
图8为本申请实施例一提供的一种显示方法的流程图,如图8所示,本申请实施例一提供的显示方法可以包括以下步骤:
步骤S101,接收用户输入的第一触控操作。
步骤S102,若第一触控操作的触控场景为离手操作场景,则响应于接收到的第一Vsync-APP信号(即第一应用垂直同步信号),在离手操作场景下的第一配置时长内,对第一图像帧执行绘制渲染操作。
步骤S103,响应于接收到的第一Vsync-SF信号(即第一合成垂直同步信号),在离手操作场景下的第二配置时长内,对绘制渲染后的第一图像帧执行合成操作。
步骤S104,响应于接收到的第一Vsync-HW信号(即第一硬件垂直同步信号), 对合成后的第一图像帧执行送显操作。
本申请实施例中包括两种触控操作场景,一种为离手操作场景,例如点击操作场景。另一种为不离手操作场景,不离手操作场景又称为跟手操作场景。其中,不离手操作场景可以包括不离手滑动操作场景和不离手按压操作场景。
第一配置时长是指为离手操作场景下,绘制渲染操作配置的绘制时长;第二配置时长是指为离手操作场景下,合成操作配置的合成时长。其中,第一Vsync-SF信号与第一Vsync-APP信号间隔第一配置时长,第一Vsync-HW信号与第一Vsync-SF信号间隔第二配置时长。如图3和图4所示,第一配置时长为19.2ms,第二配置时长13.1ms。
如图3所示,以帧1的显示过程为例,响应于接收到的第一Vsync-APP信号11,对帧1执行绘制渲染操作,得到绘制渲染后的帧1。之后,在接收到与第一Vsync-APP信号11间隔第一配合时长(即19.2ms)的第一Vsync-SF信号22时,对绘制渲染后的帧1执行合成操作,得到合成后的帧1。接着,在接收到与第一Vsync-SF信号22间隔第二配合时长(即13.1ms)的第一Vsync-HW信号33时,对合成后的帧1执行送显操作,以将帧1对应的图像刷到屏幕上。
需要说明的是,第一Vsync-HW信号33位于第一Vsync-SF信号22之后,第一Vsync-SF信号22位于第一Vsync-APP信号11之后。
步骤S105,接收用户输入的第二触控操作。
步骤S106,若第二触控操作的触控场景为不离手操作场景,则响应于接收到的第二Vsync-APP信号(即第二应用垂直同步信号),在不离手操作场景下的第三配置时长内,对第二图像帧执行绘制渲染操作。
步骤S107,响应于接收到的第二Vsync-SF信号(即第二合成垂直同步信号),在不离手操作场景下的第四配置时长内,对绘制渲染后的第二图像帧执行合成操作。
步骤S108,响应于接收到的第二Vsync-HW信号(即第二硬件垂直同步信号),对合成后的第二图像帧执行送显操作。
第三配置时长是指为不离手操作场景下,绘制渲染操作配置的绘制时长;第四配置时长是指为不离手操作场景下,合成操作配置的合成时长。其中,第二Vsync-SF信号与第二Vsync-APP信号间隔第三配置时长,第二Vsync-HW信号与第二Vsync-SF信号间隔第四配置时长。其中,第三配置时长小于第一配置时长,和/或,第四配置时长小于第二配置时长。例如,如图11和图12所示,第一配置时长为11.1ms,第二配置时长13.1ms。
如图11所示,以帧0的显示过程为例,响应于接收到的第二Vsync-APP信号11,对帧0执行绘制渲染操作,得到绘制渲染后的帧0。之后,在接收到与第二Vsync-APP信号11间隔第三配合时长(即11.1ms)的第二Vsync-SF信号22时,对绘制渲染后的帧0执行合成操作,得到合成后的帧0。接着,在接收到与第二Vsync-SF信号22间隔第四配合时长(即13.1ms)的第二Vsync-HW信号33时,对合成后的帧0执行送显操作,以将帧0对应的图像刷到屏幕上。
需要说明的是,第二Vsync-HW信号33位于第二Vsync-SF信号22之后,第二Vsync-SF信号22位于第二Vsync-APP信号11之后。
如图12所示,在不离手操作场景(如不离手滑动操作场景)下,基于不离手操作 场景对应的绘制时长执行绘制渲染操作时,空闲时长为2.5ms,基于不离手操作场景对应的合成时长执行合成操作时,空闲时长为5.2ms。这样,相比于图4中示出的显示过程,本申请缩短了不离手操作场景下的绘制渲染的空闲时长,从而缩短了整个显示过程的时长,提高了跟手性。具体的,本申请在离手操作场景下,一帧图像需要经过大约三个Vsync周期,才能输出给显示屏进行显示;在不离手滑动操作场景下,一帧图像经过大约两个Vsync周期,便能输出给显示屏进行显示。这样,相比于图4中离手操作场景,本申请不离手滑动操作场景下可以提前一个Vsync周期,将图像刷新到显示屏,从而提高了不离手滑动操作场景下的跟手性。
本申请实施例提供的显示方法,对不同的触控操作场景,配置不同的工作时长,可以更好的适配不同应用场景下的不同需求。例如,离手操作场景可以是用户点击触控屏的操作,不离手操作场景可以是用户在触控屏上的不离手滑动的操作,如拖拽显示桌面上的图标。一般的,相比于点击操作,用户对不离手滑动操作的跟手性要求比较高,因此,本申请实施例中,可以使不离手滑动操作场景下对应的绘制与合成的总配置时长小于点击操作场景下的绘制与合成的总配置时长。这样,在点击操作场景下,基较长配置时长,执行绘制渲染、合成及送显操作,既不影响用户的应用体验,又可以减小电子设备的负载。在不离手滑动操作场景下,基于较短配置时长,执行绘制渲染、合成及送显操作,可以减小触控时延,提高跟手性,提高用户体验。
下面结合图9对本申请实施例一提供的方法中涉及的模块之间的交互进行说明。涉及的模块包括:Input模块、应用、合成模块和显示模块。
步骤S201、当电子设备接收到用户输入的触控操作时,Input模块可以确定输入事件类型。
输入事件类型包括三种,分别是Down事件、Move事件和Up事件。其中,Down事件表示当前在按压屏幕,Move事件表示当前在屏幕上滑动,Up事件表示当前离开了屏幕。
图10为本申请实施例提供的一种用户在显示屏上滑动操作的场景图,图10中通过位置1、位置2、位置3、位置4和位置5示例性的展示了用户在显示屏上滑动的路径,其中,位置1、位置2、位置3、位置4和位置5表示在显示屏上对应的坐标位置。
用户从位置1开始按下显示屏,然后沿直线向下滑动,直到在位置5抬手离开显示屏。需要说明的是,在沿直线向下滑动过程中经过多个位置,图10中仅示例性展示位置2、位置3和位置4。
在用户执行滑动操作的过程,Input模块可以确定每个触点对应的输入事件类型。例如,图10中位置1对应的输入事件类型为Down,位置5对应的输入事件类型为Up,位置1和位置5之间的输入事件类型均为Move,如位置2、位置3和位置4对应的输入事件类型点均为Move。应理解,在位置5之前,用户执行的操作均为不离手滑动操作,在位置5,用户手指离开屏幕。
需要说明的是,Input模块不仅可以用于确定输入事件类型,还能用于获取与触控操作对应的坐标信息,并将坐标信息发送给应用进行绘制渲染操作。
步骤S202、当输入事件类型为Down或Up时,Input模块将对应的输入事件类型信息发送至合成模块。
例如,Input模块确定当前的输入事件类型为Down事件,则Input模块可以向合成模块发送第一指示信息,该第一指示信息用于指示当前接收到的输入事件为Down事件。又例如,Input模块确定当前的输入事件类型为Up事件,则将Input模块可以向合成模块发送第二指示信息,该第二指示信息用于指示当前接收到的输入事件为Up事件。
其中,Input模块确定当前的输入事件类型为Move事件时,可以不向合成模块发送任何指示信息。
步骤S203、响应于Vsync-SF信号,合成模块根据当前接收到的输入事件类型,确定当前触控场景。
需要说明的是,每次合成模块在确定当前触控场景时,合成模块可能只接收到一个Down事件,合成模块也可能只接收到一个Up事件,合成模块还可能接收到了两个事件,分别为一个Down事件和一个Up事件。还有一种情况是,合成模块没有接收到任何事件。
对应的,响应于Vsync-SF信号,如果合成模块当前只接收到了Down事件,则合成模块确定当前触控场景为不离手操作场景,例如,不离手滑动操作场景或不离手按压操作场景;如果合成模块当前接收到两个事件(一个Down事件和一个Up事件),则合成模块确定当前触控场景为离手操作场景,例如,点击操作场景;如果合成模块当前只接收到了Up事件,则合成模块确定当前触控场景为离手操作场景。
步骤S204、合成模块调用与当前触控场景对应的配置信息。
配置信息可以包括为绘制渲染配置的绘制时长、为合成配置的合成时长、Vsync-APP信号偏移量和Vsync-SF信号偏移量。
示例性的,离手操作场景对应第一配置信息,第一配置信息可以包括第一配置时长和第二配置时长,第一配置信息还可以包括第一偏移量和第二偏移量。其中,第一偏移量为离手操作场景对应的Vsync-APP信号偏移量,第二偏移量为离手操作场景对应的Vsync-SF信号偏移量。
示例性的,不离手操作场景对应第二配置信息,第二配置信息可以包括第三配置时长和第四配置时长,第二配置信息还可以包括第三偏移量和第四偏移量。其中,第三偏移量为不离手操作场景对应的Vsync-APP信号偏移量,第四偏移量为不离手操作场景对应的Vsync-SF信号偏移量。
其中,第三配置时长可以小于第一配置时长并且第四配置时长与第二配置时长相同,或者,第四配置时长可以小于第二配置时长并且第三配置时长与第一配置时长相同,或者,第三配置时长可以小于第一配置时长并且第四配置时长可以小于第二配置时长。只要满足不离手滑动操作场景下绘制渲染、合成的总配置时长小于离手滑动操作场景下绘制渲染、合成的总配置时长即可。
对应的,第三偏移量可以与第一偏移量不同,或者,第四偏移量可以与第二偏移量不同,或者,第三偏移量可以与第一偏移量不同并且第四偏移量可以与第二偏移量不同。
步骤S205、合成模块基于配置信息中的Vsync-APP信号偏移量和Vsync-SF信号偏移量,调整Vsync-APP信号和Vsync-SF信号。
步骤S206、合成模块向应用发送调整偏移量后的Vsync-APP信号。
步骤S207、应用响应于调整偏移量后的Vsync-APP信号,执行绘制渲染操作。
步骤S208、应用将绘制渲染后的图像发送至合成模块的缓冲队列。
步骤S209、合成模块,响应于与调整后的Vsync-APP信号间隔为绘制时长的Vsync-SF信号,执行合成操作。
步骤S2010、合成模块将合成后的图像发送至显示模块的缓冲队列。
步骤S2011、显示模块响应于与调整后的Vsync-SF信号间隔为合成时长的Vsync-HW信号,执行送显操作。
示例性的,在步骤S203中确定当前触控场景为不离手滑动场景,不离手滑动场景对应的配置信息中Vsync-APP信号的偏移量为-2ms,Vsync-SF信号的偏移量为-2ms。这样,如图11所示,合成模块在上述步骤S205中基于不离手滑动场景对应的Vsync-APP信号偏移量和Vsync-SF信号偏移量,调整Vsync-APP信号和Vsync-SF信号,调整后的Vsync-APP信号、Vsync-SF信号和Vsync-HW信号的发送节奏如图11所示。
接着,步骤S206至步骤S2011基于调整后的Vsync-APP信号和Vsync-SF信号发送节奏,以及不离手滑动场景对应的绘制时长和合成时长,执行绘制渲染、合成及送显操作,直至合成模块接收到的当前输入事件类型为Up。当合成模块接收到的当前输入事件类型为Up时,则合成模块再调用与离手操作场景对应的配置信息,并且后续以离手滑动操作场景对应的Vsync-APP信号和Vsync-SF信号发送节奏,以及离手滑动场景对应的配置时长执行绘制渲染、合成及送显操作。
图12为与图11对应的显示过程示意图。结合图11和12所示,在不离手滑动操作场景下,配置信息中绘制时长为11.1ms,配置信息中合成时长为13.1ms,Vsync-APP信号偏移量为-2ms,Vsync-SF信号偏移量为-2ms。这样,可以将一帧图像的绘制渲染、合成及送显的时长缩减到22.1ms。也就是说,本申请在不离手滑动操作场景下,一帧图像经过两个Vsync周期,便能输出给显示屏进行显示。这样,相比于图4可以提前一个Vsync周期,将图像刷新到显示屏,从而提高了不离手滑动操作场景下的跟手性。
示例性的,如图13所示,在对帧1的显示过程中,合成模块采用的是与离手操作场景对应的配置信息,其中,为绘制渲染配置操作的绘制时长为19.2ms,为合成操作配置的合成时长为13.1ms。这样,响应于Vsync-APP信号11,绘制渲染帧1;响应于Vsync-SF信号22,对帧1执行合成操作;响应于Vsync-HW信号33,对合成后的帧1执行送显操作。其中,Vsync-APP信号11与Vsync-SF信号22之间的间隔满足离手操作场景对应的绘制时长19.2ms,Vsync-SF信号22与Vsync-HW信号33之间的间隔满足离手操作场景对应合成时长13.1ms。
其中,Vsync-APP信号的偏移和/或Vsync-SF信号的偏移,会导致对应的配置时长的改变,从而实现对绘制时长和合成时长的修改。
假设在Vsync-APP信号12与Vsync-APP信号13之间的M点接收到Input模块发送的Down事件,则在接收到Vsync-SF信号23时,合成模块基于不离手滑动操作场景对应的配置信息,调整后续Vsync周期中Vsync-APP信号与Vsync-SF信号的发送节奏,也就是说,合成模块基于不离手滑动操作场景对应的配置信息,调整后续 Vsync-APP信号与Vsync-SF信号的起始时刻,并以重新确定的起始时刻,周期性发送Vsync-APP信号与Vsync-SF信号。如图13所示,在Vsync-SF信号23之后的Vsync-APP信号14的偏移量为-2ms,Vsync-SF信号24的偏移量为-2ms。由于调整前后,Vsync-APP信号的偏移量有变化,因此,调整偏移量后的首个Vsync-APP信号(Vsync-APP信号14)与上一个的Vsync-APP信号(Vsync-APP信号13)之间的间隔不再是一个Vsync周期(11.1ms)。图13中,Vsync-APP信号13与Vsync-APP信号14之间的间隔(即第一时长)等于Vsync-SF信号23与Vsync-SF信号24之间的间隔以及Vsync-APP信号13与Vsync-SF信号23之间的间隔之和,即Vsync-APP信号13与Vsync-APP信号14之间的间隔等于19.2ms。也就是说,Vsync-APP信号14与Vsync-APP信号13之间间隔的第一时长(19.2ms)与Vsync-APP信号14与Vsync-APP信号15之间间隔的第二时长(11.1ms)不同。对应的,由于调整前后,Vsync-SF信号的偏移量没有变化,因此,调整偏移量后的Vsync-SF信号24与Vsync-SF信号23之间间隔的第三时长(11.1ms)与Vsync-SF信号24与Vsync-SF信号25之间间隔的第四时长(11.1ms)相同。
接着,应用基于不离手滑动操作场景对应的绘制时长执行绘制渲染操作,合成模块基于不离手滑动操作场景对应的合成时长执行合成、送显操作。例如,响应于Vsync-APP信号14,绘制渲染帧4;响应于Vsync-SF信号25,对帧4执行合成操作;响应于Vsync-HW信号36,对合成后的帧4执行送显操作。其中,通过对Vsync-APP信号的偏移,使Vsync-APP信号14与Vsync-SF信号25之间的间隔满足不离手操作场景对应绘制时长11.1ms,Vsync-SF信号25与Vsync-HW信号36之间的间隔满足不离手操作场景对应合成时长13.1ms。
结合图13可以看出,在接收用户的不离手滑动操作之前,需要经过大约3个Vsync周期,才能将帧1输出给显示模块进行显示。在接收用户的不离手滑动操作之后,经过大约2个Vsync周期,便能够将帧4输出给显示模块进行显示,这样可以提前一个Vsync周期,将图像刷新到显示屏,从而提高了不离手滑动操作场景下的跟手性。
需要说明的是,上述实施例仅以不离手滑动操作场景下调整Vsync-APP信号偏移量为例进行示例性说明,并不表示对不同操作场景下,调整偏移量方式的限定。例如,不同操作场景下,Vsync-APP信号偏移量与Vsync-SF信号偏移量均不同。又例如,不同操作场景下,Vsync-APP信号偏移量相同,Vsync-SF信号偏移量不同。
本申请实施例对不离手操作场景下,为绘制渲染操作配置的绘制时长,以及为合成操作配置的合成时长的方法不进行限定。
在一种可实现方式中,获取执行所述绘制渲染操作的历史绘制时长,以及执行所述合成操作的历史合成时长;然后,根据所述历史绘制时长和所述历史合成时长,确定为绘制渲染操作配置的绘制时长,以及为合成操作配置的合成时长;其中,为绘制渲染操作配置的绘制时长大于或等于所述历史绘制时长中的最大绘制时长,为合成操作配置的合成时长大于或等于所述历史合成时长中的最大合成时长。
首先需要说明的是,历史绘制时长是指每次执行绘制渲染操作实际消耗的时长,历史合成时长是指每次执行合成操作实际消耗的时长。
其中,统计的所有历史绘制时长中包括历史绘制时长上限(即最大绘制时长)和 历史绘制时长下限(即最小绘制时长),类似的,统计的所有历史合成时长中包括历史合成时长上限(即最大合成时长)和历史合成时长下限(即最小合成时长)。但是,在历史绘制时长上限和在历史合成时长上限中,可能包括异常点,因此,在统计历史绘制时长和历史合成时长后,可以先利用异常点剔除算法剔除异常点,然后在剩余的正常点中确定历史绘制时长上限和历史合成时长上限。
示例性的,图14展示了对帧1至帧40执行绘制渲染操作的历史绘制时长以及对帧1至帧40执行合成操作的历史合成时长。如图14所示,所统计的历史绘制时长中时长上限为13.0ms(图13中C点),所统计的历史绘制时长中时长下限为8.0ms(图13中A2点)。所统计的历史合成时长中时长上限为8.5ms(图13中B1点),所统计的历史合成时长中时长下限为8.0ms(图13中B2点)。
但是,从图14可以看出,历史绘制时长基本在8.0ms上下波动,而C点明显是一个异常点。因此,可以先剔除C点,然后,在剩余的正常点中确定历史绘制时长的上限为8.2ms(图13中A1点)。
基于上述统计结果可以确定为绘制渲染操作配置的绘制时长要大于8.2ms,为合成操作配置的合成时长要大于8.5ms。例如,不离手滑动操作场景对应配置的绘制时长可以为11.1ms,不离手滑动操作场景对应配置的合成时长可以为13.1ms,这样,不离手滑动操作场景下的总配置时长为24.2ms。
其中,可以通过设置Vsync-APP信号和Vsync-SF信号的偏移量的方式,使得为绘制渲染操作配置的绘制时长为11.1ms以及使得为合成操作配置的合成时长为13.1ms。
示例性的,以Vsync周期为11.1ms为例,设置Vsync-APP信号的偏移量为-2ms,Vsync-SF信号的偏移量为-2ms。
这样,可以根据上述第一关系式,计算得到Tapp=11.1+(-2)-(-2)=11.1ms。根据上述第二关系式,计算得到Tsf=11.1-(-2)=13.1ms。
需要说明的是,本申请实施例中Tapp可以小于11.1ms。也就是说,本申请实施例中,在计算得到Tapp小于11.1ms的情况下,不需要在计算得到的Tapp基础之上再加一个Tte。以达到缩短不离手滑动操作场下的配置时长的目的。
需要说明的是,本申请实施例对配置信息的形式不进行限定。例如,配置信息可以包括为绘制渲染操作配置的绘制时长和为合成操作配置的合成时长(如,配置信息为Tapp=11.1ms,Tsf=13.1ms)。又例如,配置信息也可以包括Vsync-APP信号的偏移量和Vsync-SF信号的偏离量(如,配置信息为appOffset=-2ms,sfOffset=-2ms)。再例如,配置信息也可以同时包括为绘制渲染操作配置的绘制时长、为合成操作配置的合成时长、Vsync-APP信号的偏移量和Vsync-SF信号的偏移量。
还需要说明的是,对于不同的触控操作场景的配置信息中,为绘制渲染操作配置的绘制时长和为合成操作配置的合成时长的数值至少一个不同。同样的,对于不同的触控操作场景的配置信息中,Vsync-APP信号的偏移量和Vsync-SF信号的偏移量的数值至少一个不同。
另外,由于为绘制渲染操作配置的绘制时长以及为合成操作配置的合成时长是基于历史统计数据确定的,而电子设备的图像处理情况是实时变化的,因此,如果一直 基于同一配置时长,执行绘制渲染、合成及送显操作,可能会发生无法在配置的绘制时长内完成图像绘制渲染,或者,可能会发生无法在配置的合成时长内完成图像合成的情况。为避免这种情况发生,本申请实施例可以定时检测基于当前配置时长,执行绘制渲染、合成及送显操作的实际情况。
示例性的,可以每隔预设时间间隔,确定在当前为绘制渲染操作配置的绘制时长下,不能在当前配置的绘制时长内完成绘制渲染操作的次数,以及在当前为合成操作配置的合成时长下,不能在配置的绘制时长内完成合成操作的次数;在不能在对应的配置时长内完成对应的操作的次数达到预设次数阈值的情况下,重新确定为绘制渲染操作配置的绘制时长以及为合成操作配置的合成时长的数值。然后,基于重新配置的绘制时长和合成时长,执行绘制渲染、合成及送显操作。
为进一步提高用户体验,本申请实施例还可以对不离手滑动操作场景进一步细分,使不同的不离手滑动操作场景对应不同的配置时长。
在一种可实现方式中,可以对不同的不离手滑动操作进行跟手性等级划分。这样,在接收用户的不离手滑动操作之后,可以先确定不离手滑动操作对应的跟手性等级,然后基于跟手性等级确定配置的绘制时长和合成时长,其中,不同的跟手性等级对应不同的配置时长。
示例性的,不离手滑动操作可以具体分为手指不离手操作场景和手写笔不离手操作场景。手指不离手操作场景是指手指在显示屏上执行不离手滑动操作的场景,手写笔不离手操作场景是指手写笔在显示屏上执行不离手滑动操作的场景。其中,手写笔在显示屏上执行不离手滑动操作的跟手性要求高于手指在显示屏上执行不离手滑动操作的跟手性要求。这样,本申请实施例可以对不离手滑动操作的具体场景进行跟手性要求等级划分。例如,手写笔在显示屏上的不离手滑动操作的跟手性要求等级为一级,手指在显示屏上的不离手滑动操作的跟手性要求等级为二级,其中,一级的跟手性要求等级高于二级的跟手性要求等级。
进一步的,不同的跟手性要求等级对应不同的配置时长,例如,手写笔不离手操作场景对应第三配置时长小于手指不离手操作场景对应的第三配置时长,和/或,手写笔不离手操作场景对应第四配置时长小于手指不离手操作场景对应的第四配置时长。例如,跟手性要求等级为一级的不离手滑动操作场景对应的第三配置时长和第四配置时长的总配置时长为11.1ms。跟手性要求等级为二级的不离手滑动操作场景对应的第三配置时长和第四配置时长的总配置时长为24.2ms。这样,在确定不离手滑动操作为手指在显示屏上的不离手滑动操作的情况下,可以在24.2ms内,完成图像的绘制渲染、合成及送显操作。对应的,在确定不离手滑动操作为手写笔在显示屏上的不离手滑动操作的情况下,可以在11.1ms内,完成图像的绘制渲染、合成及送显操作。这样,相比于手指不离手操作场景,手写笔不离手操作场景下可以进一步提前一个Vsync周期,将图像刷新到显示屏,这样可以更好的适配不同的不离手滑动操作场景下的跟手性需求,提高用户体验。
本申请对确定不离手滑动操作为手指触发的还是手写笔触发的方法不进行限定。例如,可以通过检测不离手滑动操作时滑动轨迹对应的触屏温度。当触屏温度高于温度阈值时,确定当前的不离手滑动操作为手指触发滑动操作;当触屏温度低于或等于 温度阈值时,确定当前的不离手滑动操作为手写笔触发滑动操作。
需要说明的是,本申请实施例中仅以触发不离手滑动操作的对象为手指或手写笔,划分跟手性要求等级进行示例性说明,并不表示对跟手性要求等级的划分进行限定。例如,还可以根据不离手滑动操作的界面属性,划分跟手性要求等级。例如,界面为游戏应用界面的跟手性要求为一级,界面为视频应用界面的跟手性要求为二级。
综上,本申请实施例一提供的显示方法,在离手操作场景的情况下,基于离手操作场景对应的配置时长,执行绘制渲染、合成及送显操作;在不离手操作场景的情况下,基于不离手操作场景对应的配置时长,执行绘制渲染、合成及送显操作。这样,对不同的触控操作场景,配置不同的时长,可以更好的适配不同应用场景下的不同需求。具体的,在不离手滑动操作的场景下,基于比较短的配置时长,执行绘制渲染、合成及送显操作,可以减小触控时延,提高不离手滑动操作场景下的跟手性,提高用户体验。
需要说明的是,在电子设备执行切换帧率操作的情况下或者在使用GPU执行合成操作的情况下,电子设备的负载较大。如果在这种情况下,基于不离手滑动操作场景对应的配置时长,执行绘制渲染、合成及送显操作,应用或合成模块可能无法按时完成各自的工作。因此,本申请在基于不离手滑动操作场景对应的配置时长,执行绘制渲染、合成及送显操作之前,可以先确定当前时刻是否正在执行切换帧率操作;在当前时刻没有执行切换帧率操作的情况下,确定当前时刻是否正在使用GPU执行所述合成操作;在当前时刻没有使用GPU执行所述合成操作的情况下,响应于不离手滑动操作,基于不离手滑动操作场景对应的配置时长,执行绘制渲染、合成及送显操作。
实施例二
本申请实施例二提供的显示方法,通过优化缓存队列中堆积的缓存帧的数量,来减小第三部分时延T3,从而提高跟手性能。
图15为本申请实施例二提供的一种显示控制方法的流程图,如图15所示,本申请实施例一提供的显示方法可以包括以下步骤:
步骤S301,接收用户输入的第二触控操作;
步骤S302,若第二触控操作的触控场景为不离手操作场景,且用于缓存绘制渲染后图像帧的缓存队列中缓存帧的数量为多个,则确定缓存队列中缓存帧是否满足丢帧条件。
本申请实施例中,缓存队列是指合成模块的缓存队列,即用于缓存绘制渲染后的图像帧的缓存队列,例如,缓存队列中包括第一缓存帧、第二缓存帧和第三缓存帧,其中,第一缓存帧为位于缓存队列首位的图像帧。
如图5所示,在第一个Vsync周期,缓存队列中包括两个缓存帧,分别为绘制渲染后的帧2和帧3,其中,帧2排在缓存队列首位,帧3排在帧2之后。因此,第一个Vsync周期,缓存队列中帧2为第一缓存帧,帧3为第二缓存帧。
本申请实施例中丢帧是指在缓存队列中堆积有缓存帧buffer的情况下,可以在适当的时机,丢弃第一缓存帧、采用第二缓存帧参与合成操作,这样可以达到尽快在显示屏上显示图像的目的。
在一种可实现方式中,本申请实施例可以先判断第一缓存帧是否满足丢帧条件; 如果第一缓存帧满足丢帧条件,再确定采用第一缓存帧还是第二缓存帧参与合成操作。如果确定采用第二缓存帧参与合成操作,则丢弃第一缓存帧。本申请实施例对丢帧的方式不进行限定,例如,可以将确定不显示的帧删除,或者,将确定不显示的帧覆盖。
其中,丢帧条件可以包括第一缓存帧的时间戳属性为自动时间戳、当前刷新率大于60Hz、与上一次丢弃缓存队列中图像帧的时间间隔大于预设时间间隔阈值,其中,第一时间戳属性用于表征第一缓存帧的第一预设送显时间。
缓存帧的时间戳属性可以分为自动时间戳和手动时间戳。手动时间戳是指指定缓存帧的显示时间,也就是说缓存帧的显示时间不能更改,例如,一般的,视频内容对应的缓存帧的时间戳属性为手动时间戳,也就是说,不能随意更改视频中每帧的显示时间。例如,指定第一缓存帧在第1s显示,指定第二缓存帧在第5s显示。自动时间戳是指没有特殊指定、按照排队顺序自动生成的时间戳。
根据人因分析用户能够感受到卡顿的丢帧时长在25-58ms,这意味着:刷新率为60Hz的情况下丢一帧,帧间距增加到33.2ms,会让用户感觉到卡顿;刷新率为90Hz的情况下丢一帧,帧间距增加到22.2ms,不会让用户感觉到卡顿;刷新率为120Hz的情况下丢一帧,帧间距增加到16.6ms,不会让用户感觉到卡顿。因此,为了避免出现卡顿的现象,本申请实施例将刷新率大于60Hz设定为丢帧条件之一。例如,可以在刷新率为90Hz或120Hz的情况下,执行丢帧方案。
结合上述分析可知,在比较短时间内,连续丢弃两帧图像帧,会出现明显卡顿的现象。因此,本申请实施例将距离上一次丢弃缓存队列中图像帧的时间间隔大于预设时间间隔阈值设定为丢帧条件之一。例如,距离上一次丢弃缓存队列中图像帧的时间间隔要大于100ms,也就是说,在100ms内,不能连续丢弃两帧图像帧。
丢帧条件还可以包括第一缓存帧属于白名单应用的图像帧。例如,白名单应用包括视频应用和游戏应用。这样,如果第一缓存帧属于视频应用或游戏应用中的图像帧,则确定第一缓存帧属于白名单应用的图像帧。
需要说明的是,本申请实施例判断第一缓存帧的时间戳属性、当前刷新率是否大于60Hz、距离上一次丢弃缓存队列中图像帧的时间间隔是否大于预设时间间隔阈值等丢帧条件的顺序不进行限定。
示例性的,可以先确定第一缓存帧的时间戳属性是否为自动时间戳,如果第一缓存帧的时间戳属性为自动时间戳,则进一步确定当前刷新率是否大于60Hz。如果当前刷新率大于60Hz,则可以进一步确定距离上一次丢弃缓存队列中图像帧的时间间隔是否大于预设时间间隔阈值。如果距离上一次丢弃缓存队列中图像帧的时间间隔是否大于预设时间间隔阈值,则可以进一步确定第一缓存帧是否属于白名单应用的图像帧。如果第一缓存帧属于白名单应用的图像帧,则可以执行后续步骤S303。
步骤S303,在缓存队列中第一缓存帧满足丢帧条件的情况下,确定第一缓存帧的缓存状态。
本申请实施例将缓存帧的缓存状态分为三种,分别为early、current和late。
在一种可实现方式中,确定第一缓存帧的缓存状态,可以采用以下方式:确定第一缓存帧对应第一期望显示时间(也可称为第一预设送显时间)和第二期望显示时间(也可称为第二预设送显时间)。第一预设送显时间为预设的对第一缓存帧执行送显 操作的时间,第二预设送显时间为预设的与Vsync-SF信号对应的送显时间。也可以理解为,第一预设送显时间为为用于指示对第一缓存帧执行绘制渲染操作的Vsync-APP信号对应的期望显示时间,第二预设送显时间为与当前Vsync-SF信号对应的期望显示时间。如果第一预设送显时间早于第二预设送显时间,则确定第一缓存帧的缓存状态为late。如果第一预设送显时间晚于第二预设送显时间,则确定第一缓存帧的缓存状态为early。如果第一预设送显时间与第二预设送显时间相同,则确定第一缓存帧的缓存状态为current。
首先对第一预设送显时间和第二预设送显时间进行如下说明。
如图16所示,每个Vsync-APP信号对应一个第一预设送显时间,每个Vsync-SF信号也对应一个第二预设送显时间。例如,图16中Vsync-APP信号11对应的第一预设送显时间为T2,Vsync-APP信号12对应的第一预设送显时间为T3,Vsync-APP信号13对应的第一预设送显时间为T4。同样的,图16中Vsync-SF信号23对应的第二预设送显时间为T3,Vsync-SF信号24对应的第二预设送显时间为T4,Vsync-SF信号25对应的第二预设送显时间为T5。
也就是说,Vsync-APP信号对应第一预设送显时间,是指预设的在该Vsync-APP信号的指引下绘制渲染的图像帧的送显时间。Vsync-SF信号对应的第二预设送显时间,是指预设的在该Vsync-SF信号的指引下合成的图像帧的送显时间。
本申请实施例中,将预设的对第一缓存帧执行送显操作的时间称为第一预设送显时间,将预设的对第二缓存帧执行送显操作的时间称为第三预设送显时间,将预设的对第三缓存帧执行送显操作的时间称为第四预设送显时间。
在一种可实现方式中,响应于Vsync-APP信号绘制渲染后的图像帧,可以携带一个时间戳,该时间戳用于指示该图像帧对应的第一预设送显时间。例如,如图16所示,响应于Vsync-APP信号11绘制渲染后的帧0的时间戳为T2,响应于Vsync-APP信号12绘制渲染后的帧1的时间戳为T3,响应于Vsync-APP信号13绘制渲染后的帧2的时间戳为T4。
如图16所示,以当前Vsync-SF信号为Vsync-SF信号23为例,对确定缓存队列中缓存帧的缓存状态进行说明。
在接收到Vsync-SF信号22时,应用尚未完成对帧0的绘制渲染,因此,响应于Vsync-SF信号22,合成模块无法获取到绘制渲染后的帧0,缓存队列为空。而在Vsync-SF信号23到来时,应用完成了对帧0、帧1和帧2的绘制渲染。这样,在接收到Vsync-SF信号23时,缓存队列中包括三个缓存帧,帧0、帧1和帧2。其中,帧0为第一缓存帧,帧1为第二缓存帧,帧2为第三缓存帧。其中,帧0、帧1和帧2的第二预设送显时间均为T3,帧0对应的第一预设送显时间为T2,帧1对应的第三预设送显时间为T3,帧2对应的第四预设送显时间为T4。这样,帧0对应的第一预设送显时间T2早于第二预设送显时间T3,因此,帧0的缓存状态为late;帧1对应的第三预设送显时间T3与第二预设送显时间T3相同,因此,帧1的缓存状态为current;帧2对应的第四预设送显时间T4晚于第二预设送显时间T3,因此,帧2的缓存状态为early。
其中,第一缓存帧的缓存状态可以包括如下几种情况:
情况一:第一缓存帧的缓存状态为late。
在第一缓存帧的缓存状态为late的情况下,可以执行以下步骤S304至步骤S306。
步骤S304,确定第二缓存帧的缓存状态。
其中,确定第二缓存帧的缓存状态的方法,可以参见上述关于步骤S303的描述,此处不再赘述。
步骤S305,在第二缓存帧的缓存状态为late或current的情况下,确定丢弃第一缓存帧,并在当前Vsync周期,对第二缓存帧执行合成操作。
示例性的,如图16所示,在第3个Vsync周期,响应于Vsync-SF信号23,可以将late状态的帧0丢弃,采用帧1参与这次的合成操作。这样,能够将帧1提前一个Vsync周期显示于显示屏上。
步骤S306,在第二缓存帧的缓存状态为early的情况下,确定在当前Vsync周期,对第一缓存帧执行合成操作。
early状态的缓存帧表示提前一个Vsync周期完成绘制渲染的帧,因此可以等到下一个Vsync周期参与合成。
需要说明的是,电子设备在实际运行时,可能会出现Vsync-APP信号或第二Vyscn信号发生错乱的情况,例如,在切换帧率的情况下,电子设备需要重新校准Vsync周期。这样,可以会发生提前接收到Vsync-APP信号或Vyscn-SF信号的情况。如果在提前接收到Vsync-APP信号或Vyscn-SF信号的情况下,依然按照上述方法确定缓存帧的缓存状态,可能会造成后面的缓存帧堆积。例如,有可能将原本应该是current状态的缓存帧错误判断为early状态。也就是说,本该在当前Vsync周期取出消费进行合成处理的缓存帧会被错误判断为要在下一个Vsync周期取出消费进行合成处理的,这样就会造成后面的缓存帧堆积。
示例性的,如图17所示,第1个Vsync周期对应的帧率为90Hz,在该帧率下,Vsync周期为11.1ms,Vsync-APP信号11与Vsync-APP信号12之间的间隔时长为11.1ms,Vsync-SF信号21与Vsync-SF信号22之间的间隔时长为11.1ms。第2个Vsync周期,由于帧率由90Hz切换为了120Hz,提前接收到的Vsync-SF信号23,这样,Vsync-SF信号22与Vsync-SF信号23之间的间隔时长小于11.1ms。
假如在Vsync-SF信号23之前,完成了对帧0的绘制渲染,这样,帧0的第一预设送显时间还是90Hz帧率下对应的T2,而帧0的第二预设送显时间变为120Hz帧率下对应的TA,TA在T1与T2之间。这样,由于帧0第一预设送显时间T2晚于帧0第二预设送显时间TA,就会判断帧0的缓存状态为early。而实际上,帧0的缓存状态应该是current。
基于上述分析,本申请实施例在第二缓存帧的缓存状态为early的情况下,还可以采用如下方案:合成模块先确定是否提前接收到Vsync-APP信号或者Vsync-SF信号;在当前Vsync周期,提前接收到所述Vsync-APP信号或者Vsync-SF信号的情况下,丢弃第一缓存帧,并确定在当前Vsync周期,采用第二缓存帧合成图像帧。这样,可以避免由于缓存状态的误判,导致缓存帧堆积。
情况二:第一缓存帧的缓存状态为current。
在第一缓存帧的缓存状态为current的情况下,可以执行以下步骤S307。
步骤S307,确定在当前Vsync周期,对第一缓存帧执行合成操作。
如果第一缓存帧的缓存状态为current,那么第一缓存帧后面的缓存帧的缓存状态应该为early,因此,在确定第一缓存帧的缓存状态为current的情况下,可以直接确定采用第一缓存帧合成图像帧,无需继续判断后面的缓存帧的缓存状态。
情况三:第一缓存帧的缓存状态为early。
在第一缓存帧的缓存状态为early的情况下,可以执行以下步骤S308。
步骤S308,确定在下一个Vsync周期,对第一缓存帧执行合成操作。
如果第一缓存帧的缓存状态为early,那么第一缓存帧后面的缓存帧的缓存状态应该为early,因此,在确定第一缓存帧的缓存状态为early的情况下,可以直接确定在下一个Vsync周期,采用第一缓存帧合成图像帧,并且无需继续判断后面的缓存帧的缓存状态。也就是说,在确定第一缓存帧的缓存状态为early的情况下,这一个Vsync周期的Vsync-SF信号可以空转,不对任何缓存帧进行合成操作。
类似的,为避免由于将原本应该是current状态的缓存帧错误判断为early状态,导致缓存帧堆积的问题。在第一缓存帧的缓存状态为early的情况下,还可以采用如下方案:先确定当前Vsync周期,是否提前接收到Vsync-APP信号或者Vsync-SF信号;在当前Vsync周期,提前接收到Vsync-APP信号或者Vsync-SF信号的情况下,确定在当前Vsync周期,采用第一缓存帧合成图像帧。这样,可以避免由于缓存状态的误判,导致缓存帧堆积的问题。
需要说明的是,本申请实施例可以采用上述方法,确定缓存队列中的每个缓存帧是否满足丢帧条件以及缓存帧的缓存状态。例如,可以由缓存队列中排在首位的缓存帧至末尾缓存的顺序,遍历每个缓存帧执行确定缓存队列中的每个缓存帧是否满足丢帧条件以及缓存帧的缓存状态的步骤。
综上,本申请实施例二提供的显示方法,在不离手操作场景下,基于丢帧条件与缓存帧的缓存状态,确定可以丢帧的时机,以尽快的将图像输出显示,提高跟手性。
本文中描述的各个方法实施例可以为独立的方案,也可以根据内在逻辑进行组合,这些方案都落入本申请的保护范围中。
以上,详细说明了本申请实施例提供的方法。以下,结合图18和图19详细说明本申请实施例提供的装置。应理解,装置实施例的描述与方法实施例的描述相互对应,因此,未详细描述的内容可以参见上文方法实施例,为了简洁,这里不再赘述。
上述实施例对本申请提供的显示方法进行了介绍。可以理解的是,显示装置为了实现上述功能,其包含了执行每一个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,本申请能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本申请实施例可以根据上述方法示例对显示装置进行功能模块的划分,例如,可以对应每一个功能划分每一个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块 的形式实现。需要说明的是,本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
图18是本申请实施例提供的一种显示装置的结构示意图。在一个实施例中,电子设备可以通过图18所示的软件装置实现相应的功能。如图18所示,该显示装置可以包括:
第一接收模块401,用于接收用户输入的第一触控操作;
第一绘制渲染模块402,用于在所述第一触控操作的触控场景为离手操作场景时,响应于接收到的第一应用垂直同步信号,在所述离手操作场景下的第一配置时长内,对第一图像帧执行绘制渲染操作;
第一合成模块403,用于响应于接收到的第一合成垂直同步信号,在所述离手操作场景下的第二配置时长内,对绘制渲染后的所述第一图像帧执行合成操作;其中,所述第一合成垂直同步信号与第一应用垂直同步信号间隔所述第一配置时长;
第一显示模块404,用于响应于接收到的第一硬件垂直同步信号,对合成后的第一图像帧执行送显操作;其中,所述第一硬件垂直同步信号与所述第一合成垂直同步信号间隔所述第二配置时长;
第二接收模块405,用于接收用户输入的第二触控操作;
第二绘制渲染模块406,用于在所述第二触控操作的触控场景为不离手操作场景时,响应于接收到的第二应用垂直同步信号,在所述不离手操作场景下的第三配置时长内,对第二图像帧执行绘制渲染操作;
第二合成模块407,用于响应于接收到的第二合成垂直同步信号,在所述不离手操作场景下的第四配置时长内,对绘制渲染后的所述第二图像帧执行合成操作;其中,所述第二合成垂直同步信号与所述第二应用垂直同步信号间隔所述第三配置时长;
第二显示模块408,用于响应于接收到的第二硬件垂直同步信号,对合成后的第二图像帧执行送显操作;所述第二硬件垂直同步信号与所述第二合成垂直同步信号间隔所述第四配置时长;其中,所述第三配置时长小于所述第一配置时长,和/或,所述第四配置时长小于所述第二配置时长。
一种可能的实现方式中,所述不离手操作场景包括不离手滑动操作场景和不离手按压操作场景。
一种可能的实现方式中,还包括:
第一确定模块,用于在所述第一触控操作的触控场景为离手操作场景时,确定所述离手操作场景对应的第一配置信息,所述第一配置信息包括所述第一配置时长和所述第二配置时长;
第二确定模块,用于在所述第二触控操作的触控场景为不离手操作场景时,确定所述不离手操作场景对应的第二配置信息,所述第二配置信息包括所述第三配置时长和所述第四配置时长。
一种可能的实现方式中,所述第二应用垂直同步信号与第三应用垂直同步信号之间间隔第一时长,所述第二应用垂直同步信号与第四应用垂直同步信号之间间隔第二时长,所述第三应用垂直同步信号为所述第二应用垂直同步信号的上一个应用垂直同步信号,所述第四应用垂直同步信号为所述第二应用垂直同步信号的下一个应用垂直 同步信号;
所述第二合成垂直同步信号与第三合成垂直同步信号之间间隔第三时长,所述第二合成垂直同步信号与第四合成垂直同步信号之间间隔第四时长,所述第三合成垂直同步信号为所述第二合成垂直同步信号的上一个合成垂直同步信号,所述第四合成垂直同步信号为所述第二合成垂直同步信号的下一个合成垂直同步信号;
其中,所述第一时长与所述第二时长不同,和/或,所述第三时长与所述第四时长不同。
一种可能的实现方式中,还包括:
第一生成模块,用于基于所述第二硬件垂直同步信号以及所述不离手操作场景下的第一信号偏移量,生成所述第二应用垂直同步信号;
第二生成模块,用于基于所述第二硬件垂直同步信号以及所述不离手操作场景下的第二信号偏移量,生成所述第二合成垂直同步信号。
一种可能的实现方式中,还包括:
获取模块,用于获取执行所述绘制渲染操作的历史绘制时长,以及执行所述合成操作的历史合成时长;
第三确定模块,用于根据所述历史绘制时长和所述历史合成时长,确定所述第三配置时长和所述第四配置时长;所述第三配置时长大于或等于所述历史绘制时长中的最大绘制时长,所述第四配置时长大于或等于所述历史合成时长中的最大合成时长。
一种可能的实现方式中,还包括:
第四确定模块,用于确定所述不离手操作场景对应的跟手性等级;
第五确定模块,用于基于所述跟手性等级确定所述第三配置时长和所述第四配置时长,其中,不同的跟手性等级对应不同的配置时长。
一种可能的实现方式中,所述不离手操作场景包括手指不离手操作场景和手写笔不离手操作场景,所述手写笔不离手操作场景对应的跟手性等级高于所述手指不离手操作场景对应的跟手性等级;
其中,所述手写笔不离手操作场景对应所述第三配置时长小于所述手指不离手操作场景对应的所述第三配置时长,和/或,所述手写笔不离手操作场景对应所述第四配置时长小于所述手指不离手操作场景对应的所述第四配置时长。
一种可能的实现方式中,还包括:
第六确定模块,用于在用于缓存绘制渲染后图像帧的缓存队列中缓存帧的数量为多个,且所述缓存队列中位于首位的第一缓存帧满足丢帧条件的情况下,确定所述第一缓存帧对应的第一预设送显时间和第二预设送显时间;所述第一预设送显时间为预设的对所述第一缓存帧执行送显操作的时间,所述第二预设送显时间为预设的与第二合成垂直同步信号对应的送显时间;
第七确定模块,用于在所述第一预设送显时间早于所述第二预设送显时间的情况下,确定第二缓存帧对应第三预设送显时间;所述第三预设送显时间为预设的对所述第二缓存帧执行送显操作的时间,所述第二缓存帧为所述缓存队列中位于所述第一缓存帧之后的缓存帧;
第二合成模块,用于在所述第三预设送显时间与所述第二预设送显时间相同,或 者,所述第三预设送显时间早于所述第二预设送显时间的情况下,丢弃所述第一缓存帧,并对所述第二缓存帧执行合成操作。
一种可能的实现方式中,第二合成模块,还用于在所述第三预设送显时间晚于所述第二预设送显时间,且确定当前接收到的第二合成垂直同步信号与上一个第二合成垂直同步信号间隔时长小于一个Vsync周期,或者,用于触发对所述第二缓存帧执行绘制渲染操作的第二应用垂直同步信号与上一个第二应用垂直同步信号之间间隔时长小于一个Vsync周期的情况下,丢弃所述第一缓存帧,并对所述第二缓存帧执行合成操作。
一种可能的实现方式中,第二合成模块,还用于在所述第一预设送显时间与所述第二预设送显时间相同,或者,所述第三预设送显时间晚于所述第二预设送显时间的情况下,对所述第一缓存帧执行合成操作。
一种可能的实现方式中,所述丢帧条件包括:所述第一缓存帧的第一预设送显时间对应的时间戳属性为自动时间戳、当前刷新率大于60Hz、与上一次丢弃所述缓存队列中图像帧的时间间隔大于预设时间间隔阈值。
图19为本申请实施例提供的一种显示装置的结构示意图。在一个实施例中,电子设备可以通过图19所示的硬件装置实现相应的功能。如图19所示,该装置1000可以包括收发器1001、处理器1002和存储器1003。其中,收发器1001可以是用于接收用户的触控操作。处理器1002可以包括一个或多个处理单元,例如:处理器1002可以包括应用处理器,调制解调处理器,图形处理器,图像信号处理器,控制器,视频编解码器,数字信号处理器,基带处理器,和/或神经网络处理器等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。存储器1003与处理器1002耦合,用于存储各种软件程序和/或多组指令,存储器1003可包括易失性存储器和/或非易失性存储器。
该装置1000可以执行上述方法实施例中执行的操作。
例如,在本申请一种可选的实施例中,收发器1001用于:接收用户输入的第一触控操作,以及接收用户输入的第二触控操作。处理器1002用于:若所述第一触控操作的触控场景为离手操作场景,则响应于接收到的第一应用垂直同步信号,在所述离手操作场景下的第一配置时长内,对第一图像帧执行绘制渲染操作;响应于接收到的第一合成垂直同步信号,在所述离手操作场景下的第二配置时长内,对绘制渲染后的所述第一图像帧执行合成操作;其中,所述第一合成垂直同步信号与第一应用垂直同步信号间隔所述第一配置时长;响应于接收到的第一硬件垂直同步信号,对合成后的第一图像帧执行送显操作;其中,所述第一硬件垂直同步信号与所述第一合成垂直同步信号间隔所述第二配置时长;若所述第二触控操作的触控场景为不离手操作场景,则响应于接收到的第二应用垂直同步信号,在所述不离手操作场景下的第三配置时长内,对第二图像帧执行绘制渲染操作;响应于接收到的第二合成垂直同步信号,在所述不离手操作场景下的第四配置时长内,对绘制渲染后的所述第二图像帧执行合成操作;其中,所述第二合成垂直同步信号与所述第二应用垂直同步信号间隔所述第三配置时长;响应于接收到的第二硬件垂直同步信号,对合成后的第二图像帧执行送显操作;所述第二硬件垂直同步信号与所述第二合成垂直同步信号间隔所述第四配置时长;其 中,所述第三配置时长小于所述第一配置时长,和/或,所述第四配置时长小于所述第二配置时长。
一种可能的实现方式中,所述不离手操作场景包括不离手滑动操作场景和不离手按压操作场景。
一种可能的实现方式中,处理器1002还用于:若所述第一触控操作的触控场景为离手操作场景,则确定所述离手操作场景对应的第一配置信息,所述第一配置信息包括所述第一配置时长和所述第二配置时长;若所述第二触控操作的触控场景为不离手操作场景,则确定所述不离手操作场景对应的第二配置信息,所述第二配置信息包括所述第三配置时长和所述第四配置时长。
一种可能的实现方式中,所述第二应用垂直同步信号与第三应用垂直同步信号之间间隔第一时长,所述第二应用垂直同步信号与第四应用垂直同步信号之间间隔第二时长,所述第三应用垂直同步信号为所述第二应用垂直同步信号的上一个应用垂直同步信号,所述第四应用垂直同步信号为所述第二应用垂直同步信号的下一个应用垂直同步信号;所述第二合成垂直同步信号与第三合成垂直同步信号之间间隔第三时长,所述第二合成垂直同步信号与第四合成垂直同步信号之间间隔第四时长,所述第三合成垂直同步信号为所述第二合成垂直同步信号的上一个合成垂直同步信号,所述第四合成垂直同步信号为所述第二合成垂直同步信号的下一个合成垂直同步信号;其中,所述第一时长与所述第二时长不同,和/或,所述第三时长与所述第四时长不同。
一种可能的实现方式中,处理器1002还用于:基于所述第二硬件垂直同步信号以及所述不离手操作场景下的第一信号偏移量,生成所述第二应用垂直同步信号;基于所述第二硬件垂直同步信号以及所述不离手操作场景下的第二信号偏移量,生成所述第二合成垂直同步信号。
一种可能的实现方式中,处理器1002还用于:获取执行所述绘制渲染操作的历史绘制时长,以及执行所述合成操作的历史合成时长;根据所述历史绘制时长和所述历史合成时长,确定所述第三配置时长和所述第四配置时长;所述第三配置时长大于或等于所述历史绘制时长中的最大绘制时长,所述第四配置时长大于或等于所述历史合成时长中的最大合成时长。
一种可能的实现方式中,处理器1002还用于:确定所述不离手操作场景对应的跟手性等级;基于所述跟手性等级确定所述第三配置时长和所述第四配置时长,其中,不同的跟手性等级对应不同的配置时长。
一种可能的实现方式中,所述不离手操作场景包括手指不离手操作场景和手写笔不离手操作场景,所述手写笔不离手操作场景对应的跟手性等级高于所述手指不离手操作场景对应的跟手性等级;其中,所述手写笔不离手操作场景对应所述第三配置时长小于所述手指不离手操作场景对应的所述第三配置时长,和/或,所述手写笔不离手操作场景对应所述第四配置时长小于所述手指不离手操作场景对应的所述第四配置时长。
一种可能的实现方式中,处理器1002还用于:在用于缓存绘制渲染后图像帧的缓存队列中缓存帧的数量为多个,且所述缓存队列中位于首位的第一缓存帧满足丢帧条件的情况下,确定所述第一缓存帧对应的第一预设送显时间和第二预设送显时间;所 述第一预设送显时间为预设的对所述第一缓存帧执行送显操作的时间,所述第二预设送显时间为预设的与第二合成垂直同步信号对应的送显时间;在所述第一预设送显时间早于所述第二预设送显时间的情况下,确定第二缓存帧对应第三预设送显时间;所述第三预设送显时间为预设的对所述第二缓存帧执行送显操作的时间,所述第二缓存帧为所述缓存队列中位于所述第一缓存帧之后的缓存帧;在所述第三预设送显时间与所述第二预设送显时间相同,或者,所述第三预设送显时间早于所述第二预设送显时间的情况下,丢弃所述第一缓存帧,并对所述第二缓存帧执行合成操作。
一种可能的实现方式中,处理器1002还用于:在所述第三预设送显时间晚于所述第二预设送显时间,且确定当前接收到的第二合成垂直同步信号与上一个第二合成垂直同步信号间隔时长小于一个Vsync周期,或者,用于触发对所述第二缓存帧执行绘制渲染操作的第二应用垂直同步信号与上一个第二应用垂直同步信号之间间隔时长小于一个Vsync周期的情况下,丢弃所述第一缓存帧,并对所述第二缓存帧执行合成操作。
一种可能的实现方式中,处理器1002还用于:在所述第一预设送显时间与所述第二预设送显时间相同,或者,所述第三预设送显时间晚于所述第二预设送显时间的情况下,对所述第一缓存帧执行合成操作。
一种可能的实现方式中,所述丢帧条件包括:所述第一缓存帧的第一预设送显时间对应的时间戳属性为自动时间戳、当前刷新率大于60Hz、与上一次丢弃所述缓存队列中图像帧的时间间隔大于预设时间间隔阈值。
在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。结合本申请实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。为避免重复,这里不再详细描述。
应注意,本申请实施例中的处理器可以是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法实施例的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
可以理解,本申请实施例中的存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read-only memory,ROM)、可编程只读存储器(programmable ROM,PROM)、 可擦除可编程只读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(random access memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(static RAM,SRAM)、动态随机存取存储器(dynamic RAM,DRAM)、同步动态随机存取存储器(synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(double data rate SDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(direct rambus RAM,DR RAM)。应注意,本文描述的装置和方法的存储器旨在包括但不限于这些和任意其它适合类型的存储器。
根据本申请实施例提供的方法,本申请实施例还提供一种计算机程序产品,该计算机程序产品包括:计算机程序或指令,当该计算机程序或指令在计算机上运行时,使得该计算机执行方法实施例中任意一个实施例的方法。
根据本申请实施例提供的方法,本申请实施例还提供一种计算机存储介质,该计算机存储介质存储有计算机程序或指令,当该计算机程序或指令在计算机上运行时,使得该计算机执行方法实施例中任意一个实施例的方法。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各种说明性逻辑块(illustrative logical block)和步骤(step),能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置和模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设 备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
上述本申请实施例提供的装置、计算机存储介质、计算机程序产品均用于执行上文所提供的方法,因此,其所能达到的有益效果可参考上文所提供的方法对应的有益效果,在此不再赘述。
应理解,在本申请的各个实施例中,各步骤的执行顺序应以其功能和内在逻辑确定,各步骤序号的大小并不意味着执行顺序的先后,不对实施例的实施过程构成限定。
本说明书的各个部分均采用递进的方式进行描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点介绍的都是与其他实施例不同之处。尤其,对于装置、计算机存储介质、计算机程序产品的实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例中的说明即可。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
以上所述的本申请实施方式并不构成对本申请保护范围的限定。

Claims (16)

  1. 一种显示方法,其特征在于,应用于电子设备,所述方法包括:
    在用于缓存绘制渲染后图像帧的缓存队列中缓存帧的数量为多个,且所述缓存队列中位于首位的第一缓存帧满足丢帧条件的情况下,确定所述第一缓存帧对应的第一预设送显时间和第二预设送显时间;所述第一预设送显时间为预设的对所述第一缓存帧执行送显操作的时间,所述第二预设送显时间为预设的与第二合成垂直同步Vsync-SF信号对应的送显时间;
    在所述第一预设送显时间早于所述第二预设送显时间的情况下,确定第二缓存帧对应第三预设送显时间;所述第三预设送显时间为预设的对所述第二缓存帧执行送显操作的时间,所述第二缓存帧为所述缓存队列中位于所述第一缓存帧之后的缓存帧;
    在所述第三预设送显时间与所述第二预设送显时间相同,或者,所述第三预设送显时间早于所述第二预设送显时间的情况下,丢弃所述第一缓存帧,并对所述第二缓存帧执行合成操作。
  2. 根据权利要求1所述的方法,其特征在于,所述方法还包括:
    在所述第三预设送显时间晚于所述第二预设送显时间,且确定当前接收到的第二合成垂直同步信号与上一个第二合成垂直同步信号间隔时长小于一个Vsync周期,或者,用于触发对所述第二缓存帧执行绘制渲染操作的第二应用垂直同步Vsync-APP信号与上一个第二应用垂直同步信号之间间隔时长小于一个Vsync周期的情况下,丢弃所述第一缓存帧,并对所述第二缓存帧执行合成操作。
  3. 根据权利要求1所述的方法,其特征在于,所述方法还包括:
    在所述第一预设送显时间与所述第二预设送显时间相同,或者,所述第三预设送显时间晚于所述第二预设送显时间的情况下,对所述第一缓存帧执行合成操作。
  4. 根据权利要求1所述的方法,其特征在于,所述丢帧条件包括:所述第一缓存帧的第一预设送显时间对应的时间戳属性为自动时间戳、当前刷新率大于60Hz、与上一次丢弃所述缓存队列中图像帧的时间间隔大于预设时间间隔阈值。
  5. 根据权利要求1所述的方法,其特征在于,所述在用于缓存绘制渲染后图像帧的缓存队列中缓存帧的数量为多个,且所述缓存队列中位于首位的第一缓存帧满足丢帧条件的情况下,确定所述第一缓存帧对应的第一预设送显时间和第二预设送显时间,包括:
    接收用户输入的第二触控操作;
    若所述第二触控操作的触控场景为不离手操作场景,在用于缓存绘制渲染后图像帧的缓存队列中缓存帧的数量为多个,且所述缓存队列中位于首位的第一缓存帧满足丢帧条件的情况下,确定所述第一缓存帧对应的第一预设送显时间和第二预设送显时间。
  6. 根据权利要求5所述的方法,其特征在于,所述接收用户输入的第二触控操作之前,还包括:
    接收用户输入的第一触控操作;
    若所述第一触控操作的触控场景为离手操作场景,则响应于接收到的第一应用垂直同步Vsync-APP信号,在所述离手操作场景下的第一配置时长内,对第一图像帧执 行绘制渲染操作;
    响应于接收到的第一合成垂直同步Vsync-SF信号,在所述离手操作场景下的第二配置时长内,对绘制渲染后的所述第一图像帧执行合成操作;其中,所述第一合成垂直同步信号与第一应用垂直同步信号间隔所述第一配置时长;
    响应于接收到的第一硬件垂直同步Vsync-HW信号,对合成后的所述第一图像帧执行送显操作;其中,所述第一硬件垂直同步信号与所述第一合成垂直同步信号间隔所述第二配置时长。
  7. 根据权利要求6所述的方法,其特征在于,所述接收用户输入的第二触控操作之后,还包括:
    若所述第二触控操作的触控场景为不离手操作场景,则响应于接收到的所述第二应用垂直同步信号,在所述不离手操作场景下的第三配置时长内,对所述第二图像帧执行绘制渲染操作;
    响应于接收到的所述第二合成垂直同步信号,在所述不离手操作场景下的第四配置时长内,对绘制渲染后的所述第二图像帧执行合成操作;其中,所述第二合成垂直同步信号与所述第二应用垂直同步信号间隔所述第三配置时长;
    响应于接收到的第二硬件垂直同步Vsync-HW信号,对合成后的所述第二图像帧执行送显操作;所述第二硬件垂直同步信号与所述第二合成垂直同步信号间隔所述第四配置时长;
    其中,所述第三配置时长小于所述第一配置时长,和/或,所述第四配置时长小于所述第二配置时长。
  8. 根据权利要求5-7任一项所述的方法,其特征在于,所述不离手操作场景包括不离手滑动操作场景和不离手按压操作场景。
  9. 根据权利要求7所述的方法,其特征在于,所述方法还包括:
    若所述第一触控操作的触控场景为离手操作场景,则确定所述离手操作场景对应的第一配置信息,所述第一配置信息包括所述第一配置时长和所述第二配置时长;
    若所述第二触控操作的触控场景为不离手操作场景,则确定所述不离手操作场景对应的第二配置信息,所述第二配置信息包括所述第三配置时长和所述第四配置时长。
  10. 根据权利要求7所述的方法,其特征在于,所述第二应用垂直同步信号与第三应用垂直同步信号之间间隔第一时长,所述第二应用垂直同步信号与第四应用垂直同步信号之间间隔第二时长,所述第三应用垂直同步信号为所述第二应用垂直同步信号的上一个应用垂直同步信号,所述第四应用垂直同步信号为所述第二应用垂直同步信号的下一个应用垂直同步信号;
    所述第二合成垂直同步信号与第三合成垂直同步信号之间间隔第三时长,所述第二合成垂直同步信号与第四合成垂直同步信号之间间隔第四时长,所述第三合成垂直同步信号为所述第二合成垂直同步信号的上一个合成垂直同步信号,所述第四合成垂直同步信号为所述第二合成垂直同步信号的下一个合成垂直同步信号;
    其中,所述第一时长与所述第二时长不同,和/或,所述第三时长与所述第四时长不同。
  11. 根据权利要求7所述的方法,其特征在于,若所述第二触控操作的触控场景 为不离手操作场景,所述方法还包括:
    基于所述第二硬件垂直同步信号以及所述不离手操作场景下的第一信号偏移量,生成所述第二应用垂直同步信号;
    基于所述第二硬件垂直同步信号以及所述不离手操作场景下的第二信号偏移量,生成所述第二合成垂直同步信号。
  12. 根据权利要求7所述的方法,其特征在于,所述方法还包括:
    获取执行所述绘制渲染操作的历史绘制时长,以及执行所述合成操作的历史合成时长;
    根据所述历史绘制时长和所述历史合成时长,确定所述第三配置时长和所述第四配置时长;所述第三配置时长大于或等于所述历史绘制时长中的最大绘制时长,所述第四配置时长大于或等于所述历史合成时长中的最大合成时长。
  13. 根据权利要求7所述的方法,其特征在于,所述方法还包括:
    确定所述不离手操作场景对应的跟手性等级;
    基于所述跟手性等级确定所述第三配置时长和所述第四配置时长,其中,不同的跟手性等级对应不同的配置时长。
  14. 根据权利要求13所述的方法,其特征在于,所述不离手操作场景包括手指不离手操作场景和手写笔不离手操作场景,所述手写笔不离手操作场景对应的跟手性等级高于所述手指不离手操作场景对应的跟手性等级;
    其中,所述手写笔不离手操作场景对应所述第三配置时长小于所述手指不离手操作场景对应的所述第三配置时长,和/或,所述手写笔不离手操作场景对应所述第四配置时长小于所述手指不离手操作场景对应的所述第四配置时长。
  15. 一种电子设备,其特征在于,包括存储器和处理器;所述存储器和所述处理器耦合;所述存储器用于存储计算机程序代码,所述计算机程序代码包括计算机指令,当所述处理器执行所述计算机指令时,使所述电子设备执行如权利要求1-14中任一项所述的方法。
  16. 一种计算机存储介质,其特征在于,所述计算机存储介质中存储有计算机程序或指令,当所述计算机程序或指令被执行时,如权利要求1-14中任一项所述的方法被执行。
PCT/CN2023/127903 2023-01-28 2023-10-30 一种显示方法及电子设备 Ceased WO2024156206A1 (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
EP23875909.6A EP4432056A4 (en) 2023-01-28 2023-10-30 Display method and electronic device

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202310041624.7A CN116069187B (zh) 2023-01-28 2023-01-28 一种显示方法及电子设备
CN202310041624.7 2023-01-28

Publications (2)

Publication Number Publication Date
WO2024156206A1 true WO2024156206A1 (zh) 2024-08-02
WO2024156206A9 WO2024156206A9 (zh) 2024-09-19

Family

ID=86174470

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2023/127903 Ceased WO2024156206A1 (zh) 2023-01-28 2023-10-30 一种显示方法及电子设备

Country Status (3)

Country Link
EP (1) EP4432056A4 (zh)
CN (2) CN117215426B (zh)
WO (1) WO2024156206A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN121050607A (zh) * 2025-11-06 2025-12-02 上海易景信息科技有限公司 笔迹渲染方法、装置、设备、介质及程序产品

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117215426B (zh) * 2023-01-28 2025-03-07 荣耀终端股份有限公司 一种显示方法及电子设备
CN119311340A (zh) * 2023-07-12 2025-01-14 荣耀终端有限公司 图像处理方法及电子设备
CN119473192A (zh) * 2023-08-09 2025-02-18 荣耀终端有限公司 一种显示方法及电子设备
CN120166288B (zh) * 2025-03-17 2026-03-24 深圳精位智能科技有限公司 一种图像处理方法及相关设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130271487A1 (en) * 2012-04-11 2013-10-17 Research In Motion Limited Position lag reduction for computer drawing
CN111124230A (zh) * 2019-12-24 2020-05-08 腾讯科技(深圳)有限公司 输入响应方法、装置、电子设备及计算机可读存储介质
CN115097994A (zh) * 2021-10-30 2022-09-23 荣耀终端有限公司 数据处理方法和相关装置
CN115412766A (zh) * 2021-05-28 2022-11-29 华为技术有限公司 显示控制的方法和电子设备
CN116069187A (zh) * 2023-01-28 2023-05-05 荣耀终端有限公司 一种显示方法及电子设备

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009075888A (ja) * 2007-09-20 2009-04-09 Canon Inc 描画処理装置及びその方法、プログラム、記録媒体
US8890923B2 (en) * 2012-09-04 2014-11-18 Cisco Technology, Inc. Generating and rendering synthesized views with multiple video streams in telepresence video conference sessions
US10705631B2 (en) * 2012-11-06 2020-07-07 Hewlett-Packard Development Company, L.P. Interactive display
US9483171B1 (en) * 2013-06-11 2016-11-01 Amazon Technologies, Inc. Low latency touch input rendering
KR102206047B1 (ko) * 2014-09-15 2021-01-21 삼성디스플레이 주식회사 단말 및 디스플레이 지연 감소 방법 및 장치
KR102374160B1 (ko) * 2014-11-14 2022-03-14 삼성디스플레이 주식회사 스케일링을 사용하여 디스플레이 지연을 감소시키는 방법 및 장치
US9804709B2 (en) * 2015-04-28 2017-10-31 Samsung Display Co., Ltd. Vector fill segment method and apparatus to reduce display latency of touch events
KR20170022333A (ko) * 2015-08-20 2017-03-02 엘지전자 주식회사 디지털 디바이스 및 상기 디지털 디바이스에서 데이터 처리 방법
CN108604142B (zh) * 2016-12-01 2021-05-18 华为技术有限公司 一种触屏设备操作方法及触屏设备
KR102342051B1 (ko) * 2017-08-08 2021-12-22 삼성전자주식회사 영상 처리 장치, 영상 처리 방법 및 영상 디스플레이 시스템
CN110045908B (zh) * 2019-03-18 2021-02-09 华为技术有限公司 一种控制方法和电子设备
CN110503708A (zh) * 2019-07-03 2019-11-26 华为技术有限公司 一种基于垂直同步信号的图像处理方法及电子设备
CN115631258B (zh) * 2020-07-31 2023-10-20 荣耀终端有限公司 一种图像处理方法及电子设备
CN114501158B (zh) * 2020-10-27 2023-03-24 海信视像科技股份有限公司 显示设备、外接音响设备及外接音响设备音频输出的方法
CN112422873B (zh) * 2020-11-30 2022-09-16 Oppo(重庆)智能科技有限公司 插帧方法、装置、电子设备及存储介质
CN113254120B (zh) * 2021-04-02 2022-11-01 荣耀终端有限公司 数据处理方法和相关装置
CN114089933B (zh) * 2021-06-09 2022-09-02 荣耀终端有限公司 显示参数的调整方法、电子设备、芯片及可读存储介质
CN113726950B (zh) * 2021-06-10 2022-08-02 荣耀终端有限公司 一种图像处理方法和电子设备
CN113473229B (zh) * 2021-06-25 2022-04-12 荣耀终端有限公司 一种动态调节丢帧阈值的方法及相关设备
CN113721785B (zh) * 2021-07-07 2022-08-12 荣耀终端有限公司 一种触摸屏采样率的调整方法及电子设备
CN115048012B (zh) * 2021-09-30 2023-04-25 荣耀终端有限公司 数据处理方法和相关装置
CN114172605B (zh) * 2021-11-18 2024-03-08 湖南康通电子股份有限公司 一种同步播放方法、系统及存储介质
CN114205662B (zh) * 2021-12-13 2024-02-20 北京蔚领时代科技有限公司 iOS端的低延迟视频渲染方法及装置
CN114217730B (zh) * 2021-12-27 2024-12-17 科大讯飞股份有限公司 一种书写显示方法、装置、设备、系统及存储介质
CN115550709B (zh) * 2022-01-07 2023-09-26 荣耀终端有限公司 数据处理方法及电子设备
CN116991354A (zh) * 2022-01-30 2023-11-03 荣耀终端有限公司 数据处理方法和相关装置
CN114675775B (zh) * 2022-04-24 2022-11-18 广州文石信息科技有限公司 电子墨水屏的书写显示方法、装置、终端设备和存储介质

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130271487A1 (en) * 2012-04-11 2013-10-17 Research In Motion Limited Position lag reduction for computer drawing
CN111124230A (zh) * 2019-12-24 2020-05-08 腾讯科技(深圳)有限公司 输入响应方法、装置、电子设备及计算机可读存储介质
CN115412766A (zh) * 2021-05-28 2022-11-29 华为技术有限公司 显示控制的方法和电子设备
CN115097994A (zh) * 2021-10-30 2022-09-23 荣耀终端有限公司 数据处理方法和相关装置
CN116069187A (zh) * 2023-01-28 2023-05-05 荣耀终端有限公司 一种显示方法及电子设备

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP4432056A4

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN121050607A (zh) * 2025-11-06 2025-12-02 上海易景信息科技有限公司 笔迹渲染方法、装置、设备、介质及程序产品

Also Published As

Publication number Publication date
WO2024156206A9 (zh) 2024-09-19
CN117215426A (zh) 2023-12-12
CN116069187A (zh) 2023-05-05
EP4432056A4 (en) 2025-02-26
CN117215426B (zh) 2025-03-07
EP4432056A1 (en) 2024-09-18
CN116069187B (zh) 2023-09-01

Similar Documents

Publication Publication Date Title
CN114579075B (zh) 数据处理方法和相关装置
CN113630572B (zh) 帧率切换方法和相关装置
CN114579076B (zh) 数据处理方法和相关装置
CN115048012B (zh) 数据处理方法和相关装置
CN114089933B (zh) 显示参数的调整方法、电子设备、芯片及可读存储介质
CN112789651B (zh) 一种应用于终端的频率调整方法、装置及电子设备
CN111416794B (zh) 一种数据传输方法及电子设备
WO2024156206A1 (zh) 一种显示方法及电子设备
CN113473229B (zh) 一种动态调节丢帧阈值的方法及相关设备
WO2021000803A1 (zh) 一种控制屏幕小窗口的方法及相关设备
CN113254120A (zh) 数据处理方法和相关装置
CN115904184B (zh) 数据处理方法和相关装置
CN115904185B (zh) 数据处理方法和相关装置
WO2024066834A9 (zh) Vsync信号的控制方法、电子设备、存储介质及芯片
WO2023124227A9 (zh) 帧率切换方法及装置
WO2023179123A1 (zh) 蓝牙音频播放方法、电子设备及存储介质
CN116414337A (zh) 帧率切换方法及装置
CN116414336A (zh) 帧率切换方法及装置
CN114740986A (zh) 手写输入显示方法及相关设备
WO2024159950A1 (zh) 一种显示方法、装置、电子设备及存储介质
WO2023124225A1 (zh) 帧率切换方法及装置
CN115529379B (zh) 防止蓝牙音频Track音轨抖动的方法、电子设备及存储介质
WO2025067408A1 (zh) 一种音频播放系统、方法及电子设备
WO2024217409A1 (zh) 数据传输方法以及相关设备
CN119544885A (zh) 一种基于垂直同步信号的控制方法以及电子设备

Legal Events

Date Code Title Description
ENP Entry into the national phase

Ref document number: 2023875909

Country of ref document: EP

Effective date: 20240417

WWE Wipo information: entry into national phase

Ref document number: 18709758

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE