A screen display method, electronic device and medium
Patent Information
- Application Number
- CN202211104794.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-09-09
- Publication Date
- 2026-09-08
- Estimated Expiration
- 2042-09-09
AI Technical Summary
[0004]现有技术中,一些方案,采用灰阶处理算法通过2灰阶模式来模拟16灰阶模式,以提升页面切换显示速度,但如图1所示,采用2灰阶模式来模拟16灰阶模式的方式会使得页面显示会出现部分残影,即使得页面显示质量大幅度降低
Smart Images

Figure CN117690382B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of display technology, and in particular to a screen display method, electronic device and medium. Background Technology
[0002] E-ink displays are a new type of display based on electronic paper display technology. Specifically, they display images using electronic ink. Due to their advantages such as low power consumption and comfortable reading experience, e-ink displays are widely used in electronic devices such as e-book readers.
[0003] Compared to regular LCD screens, e-ink screens generally have a lower refresh rate. For example, in a 16-grayscale display mode, an e-ink screen's refresh rate is approximately 2-10 frames per second (fps), while an LCD screen can achieve a refresh rate of approximately 60-120 fps. In other words, the lower the refresh rate, the slower the page switching speed; that is, e-ink screens are slower than traditional LCD screens in responding to user input and switching between pages.
[0004] In existing technologies, some solutions use grayscale processing algorithms to simulate a 16-grayscale mode through a 2-grayscale mode in order to improve page switching speed, but... Figure 1 As shown, using a 2-level grayscale mode to simulate a 16-level grayscale mode will cause some ghosting in the page display, significantly reducing the page display quality. Other solutions involve specific adaptations for each application, such as designing application versions specifically for e-ink screens. These specially designed application versions can simplify some display operations to improve page switching speed. However, these specially designed application versions cannot be used on ordinary displays, and the adaptation cost is high. Summary of the Invention
[0005] To address the aforementioned issues, embodiments of this application provide a screen display method, an electronic device, and a medium.
[0006] In a first aspect, embodiments of this application provide a screen display method for an electronic device, comprising: detecting a switching operation that switches the display interface of the electronic device from a first display interface to a second display interface; acquiring display data of the second display interface, wherein the display data of the second display interface includes key data frames and non-key data frames; displaying the current data frame to be displayed if it is a key data frame; and discarding the current data frame to be displayed if it is a non-key data frame.
[0007] Based on the above scheme, when sending each data frame to be displayed, non-critical frames can be omitted, which can effectively shorten the time required to complete the display interface switching.
[0008] It is understood that, in the non-application embodiment, the first display interface may refer to the current display interface or the current page, and the second display page may be the page to be displayed.
[0009] In one possible implementation, determining that the currently displayed data frame in the displayed data is a key data frame includes:
[0010] When the type of the switching operation is the first type, the page parameters of the current data frame to be displayed and the page parameters of the second display page are obtained, wherein the first type is a switching operation triggered in response to a user operation;
[0011] If the page parameters of the current data frame to be displayed match the page parameters of the second display page, the current data frame to be displayed is determined to be a key data frame.
[0012] It is understood that the key data frames in the embodiments of this application may also be referred to as key frames.
[0013] In one possible implementation, the switching operation triggered in response to a user action includes:
[0014] When the first display interface is the desktop, the operation is to switch to the second display interface corresponding to the second application, switch from the first display interface to the second display interface of the second application, or switch from the first display interface of the first application to the second display interface of the first application.
[0015] In one possible implementation, the page parameters include one or more combinations of layer application name, page name, launch method, and window type.
[0016] In one possible implementation, when the type of the switching operation is a first type, obtaining the page parameters of the currently displayed data frame and the page parameters of the second displayed page includes:
[0017] When the switching operation is that the first display interface is the desktop, the operation of switching the second display interface corresponding to the second application is launched from the first display desktop, or the operation of switching from the first display interface of the first application to the second display interface of the second application is performed, the layer application name and launch method of the data frame to be displayed and the layer application name and launch method of the second display page are obtained.
[0018] In one possible implementation, when the type of the switching operation is a first type, obtaining the page parameters of the currently displayed data frame and the page parameters of the second displayed page includes:
[0019] When the switching operation is a switching operation from the first display interface of the first application to the second display interface of the first application, the page name and window type of the currently displayed data frame and the page name and window type of the second display page are obtained.
[0020] In one possible implementation, determining that the currently displayed data frame in the displayed data is a key data frame includes:
[0021] When the switching operation type is the second type, the total number of data frames that are not currently being displayed is obtained; the second type includes switching operations triggered in response to application frame skipping settings;
[0022] If the total number of currently undisplayed data frames is greater than or equal to a preset number of skipped frames, the currently displayed data frame is determined to be a critical data frame.
[0023] It is understood that, in the embodiments of this application, the switching operation triggered in response to the application frame skipping setting refers to the application-triggered operation mentioned in the embodiments of this application.
[0024] In one possible implementation, the method of determining that the current data frame to be displayed in the data to be displayed is a key data frame includes:
[0025] When the switching operation type is the third type, the difference area between the current data frame to be displayed and the first display interface is obtained; the third type includes a switching operation triggered in response to the user clicking a control in the first display interface;
[0026] If the distinguishing region includes areas other than the area where the clicked control is located in the first display interface, the current data frame to be displayed is determined to be a key data frame.
[0027] It is understood that, in the case of a switching operation of type three, the method for determining the currently displayed data frame as the key data frame in the displayed data may also include:
[0028] Obtain the page parameters of the current data frame to be displayed and the page parameters of the second display page. If the page parameters of the current data frame to be displayed match the page parameters of the second display page, determine that the current data frame to be displayed is a key data frame.
[0029] Secondly, this application provides an electronic device, comprising: a memory for storing instructions executed by one or more processors of the electronic device; and the processor, which is one of the one or more processors of the electronic device, for executing the screen display method mentioned in this application.
[0030] Thirdly, this application provides a readable storage medium, characterized in that the readable medium stores instructions that, when executed on an electronic device, cause the electronic device to perform the screen display method mentioned in this application. Attached Figure Description
[0031] Figure 1 According to some embodiments of this application, a schematic diagram of a display page is shown;
[0032] Figure 2 According to some embodiments of this application, a schematic diagram of an electronic device switching page displays is shown;
[0033] Figure 3a According to some embodiments of this application, a schematic diagram of data synthesis is shown in a scenario where an electronic device switches between in-application pages;
[0034] Figure 3b According to some embodiments of this application, a schematic diagram of data synthesis is shown in a scenario where an electronic device launches an application;
[0035] Figure 4 According to some embodiments of this application, a schematic diagram of the software architecture of an electronic device is shown;
[0036] Figure 5 According to some embodiments of this application, a flowchart of a display method is shown;
[0037] Figure 6 According to some embodiments of this application, a comparative schematic diagram of a display method in an embodiment of this application and a display method in the prior art is shown;
[0038] Figure 7 According to some embodiments of this application, a flowchart of a display method is shown;
[0039] Figure 8 According to some embodiments of this application, a flowchart of a display method is shown;
[0040] Figure 9 According to some embodiments of this application, a schematic diagram of the structure of an electronic device is shown. Detailed Implementation
[0041] The illustrative embodiments of this application include, but are not limited to, an e-ink display method, an electronic device, and a medium.
[0042] To better understand the solution of this application, the process of switching the display interface of the electronic device will be explained first below.
[0043] For example, when a user clicks a control in an application, the electronic device needs to display the next page corresponding to the user's action. In this case, such as... Figure 2 As shown, the Graphics Processing Unit (GPU) of an electronic device first processes the display data required to display the next page, obtaining the data for each frame. It then sends each frame to the Central Processing Unit (CPU), which in turn sends it to the display system. The display system first controls the screen to display the first frame of data, F1. After the first frame of data, F1, is displayed, it controls the display of the second frame of data, F2. It can be understood that when displaying the next frame of data, it is necessary to wait for the previous frame to finish displaying. For example, when displaying the second frame of data, F2, it is necessary to wait for the first frame of data, F1, to finish displaying; similarly, when displaying the third frame of data, F3, it is necessary to wait for the second frame of data, F2, to finish displaying; and when displaying the fourth frame of data, F4, it is necessary to wait for the third frame of data, F3, to finish displaying.
[0044] The following section describes the time required to display one frame of data on different screens in different scenarios. It can be understood that during the display interface switching process described above, the time required to display each frame of data is generally the sum of the data synthesis time, the waiting time for the previous frame, and the data display time.
[0045] Figure 3a This diagram illustrates the data composition process when an electronic device switches between pages within an application. In-application display switching refers to switching between pages within the same application. Figure 3a As shown, for scenarios involving page switching within an application, the time required to synthesize each frame of data is approximately 146.6ms for both LCD and e-ink displays.
[0046] When the screen is an LCD display and the screen refresh mode is normal (i.e., refresh rate 60fps), the time required for each frame of data to be displayed is 16.7ms, and the time to wait for the previous frame of data is also 16.7ms. Therefore, in the scenario where the LCD display switches between pages within the application, the time to display one frame of data is 180.1ms.
[0047] When the screen is an e-ink display with a normal refresh rate of 2fps, each frame of data takes 450ms to display, and the waiting time for the previous frame is also 450ms. Therefore, the time required for an e-ink display to display one frame of data in a scenario where the app is switching pages is 1046.6ms. Even with a high refresh rate of 10fps, each frame of data still takes 120ms to display, and the waiting time for the previous frame is still 450ms. The total time required for an e-ink display to display one frame of data in a scenario where the app is switching pages is still 386.7ms.
[0048] Figure 3b This diagram illustrates the data composition process when an electronic device launches an application. Launching an application can refer to launching any application while the desktop is displayed (i.e., no other application is running), or switching from one application to another. For example... Figure 3b As shown, in the scenario where a user clicks on any application to launch it, the time required to synthesize each frame of data is 157.9ms for both LCD and e-ink displays. When the screen is an LCD and the screen refresh mode is normal (60fps), the time required to display each frame of data is 16.7ms, and the time to wait for the previous frame is also 16.7ms. Therefore, the time for an LCD to display one frame of data in the scenario where an electronic device launches an application is 191.1ms.
[0049] When the screen is an e-ink display with a normal refresh rate of 2fps, each frame of data takes 450ms to display, and the waiting time for the previous frame is also 450ms. Therefore, the time required for an e-ink display to show one frame of data when launching an application on an electronic device is 1057.7ms. Even when the e-ink display is in high refresh rate mode (10fps), each frame of data still takes 120ms to display, and the waiting time for the previous frame is still 450ms. The total time required for an e-ink display to show one frame of data when launching an application on an electronic device is still 397.9ms.
[0050] In summary, e-ink displays are significantly slower than LCD displays in switching between display interfaces. Some solutions employ grayscale processing algorithms, using a 2-level grayscale mode to simulate a 16-level grayscale mode, to improve the speed of interface switching, but this significantly reduces the page display quality. Other solutions involve specific adaptations for each application, such as designing application versions specifically for e-ink displays. These specially designed application versions can simplify some display operations, but they cannot be used on ordinary displays, and the adaptation costs are high.
[0051] To address the aforementioned issues, this application provides an e-ink screen display method applicable to electronic devices with e-ink screens. The method includes: detecting a display interface switching operation, such as detecting a user clicking a control within an application to switch the display interface, launching any application while the desktop is displayed, or switching from one application to another; acquiring the data to be displayed corresponding to the display interface switching operation; and then determining frame by frame whether each data frame to be displayed is a keyframe corresponding to the final display page. If the current data frame to be displayed is a keyframe corresponding to the final display page, the display screen is controlled to display the current data frame; otherwise, the current data frame to be displayed is discarded. In this way, when sending the data frames to be displayed, non-keyframes are not displayed, effectively shortening the time required to complete the display interface switching.
[0052] It is understood that in the embodiments of this application, the electronic device may also be an electronic device that includes other screens, such as an LCD screen.
[0053] It is understandable that the data to be displayed for each operation can include multiple frames of data. These multiple frames of data to be displayed for each operation can include the data frames corresponding to the final displayed page (i.e., keyframes), as well as the intermediate transition frames without key information during the interface switching process (i.e., non-keyframes). For example, if the user's operation is a page-turning operation in a reading application, the data to be displayed for this page-turning operation can include the multiple frames of data corresponding to the final page after page turning (i.e., multiple keyframe data) and the multiple intermediate transition data during the page-turning process (i.e., multiple non-keyframe data).
[0054] Based on the solution provided in the embodiments of this application, when the data frame is a non-critical frame (i.e., the frame data does not contain critical information), the non-critical frame can be omitted from display; however, when the data frame is a critical frame, it can be displayed. This effectively ensures the final page display quality while significantly improving the response time to user operations, i.e., the speed at which the page switches, thus enhancing the user experience.
[0055] The methods for determining whether the current data frame to be displayed is a keyframe may include:
[0056] First, the type of display interface switching operation is determined. In some embodiments, when the display interface switching operation is launching any application while displaying the desktop, switching from the first application to the second application, or switching the display interface within an application, it is determined whether the current data frame to be displayed is a keyframe by judging whether the page parameters of the current data frame to be displayed match (i.e., are completely identical) with the page parameters of the page to be displayed. The page parameters may include one or more combinations of parameters such as layer application name, page name, and launch method. If the page parameters of the current data frame to be displayed match the page parameters of the page to be displayed, then the current data frame to be displayed is determined to be a keyframe; if the page parameters of the current data frame to be displayed do not match the page parameters of the page to be displayed, then the current data frame to be displayed is determined to be a non-keyframe.
[0057] It is understood that in some embodiments, when the display interface switching operation is performed by the user clicking a control within the application to switch the display interface, in addition to determining whether the current data frame to be displayed is a keyframe by judging whether the page parameters of the current data frame to be displayed match the page parameters of the page to be displayed, it can also be determined whether the current data frame to be displayed is a keyframe by judging whether the distinguishing area between the current data frame to be displayed and the currently displayed data frame is only the area where the clicked control is located. If the distinguishing area is only the area where the clicked control is located, it means that the current data frame to be displayed is not the data frame corresponding to the page to be displayed, and the current data frame to be displayed is determined to be a non-keyframe. If the distinguishing area includes the area outside the area where the clicked control is located, it means that the current data frame to be displayed has new key information, and the current data frame to be displayed is determined to be a keyframe.
[0058] It is understood that in some embodiments, when the display interface switching operation is an application-triggered operation, for example, when a WIFI application automatically connects to WIFI, the application needs to automatically trigger a page refresh. In this case, the way to determine whether the current data frame to be displayed is a key frame is that after the display interface switching operation is triggered, when the electronic device detects the current data frame to be displayed, it can determine whether the number of frames sent to the display system and discarded has been greater than or equal to the preset number of skipped frames. If so, the current data frame to be displayed is determined to be a key frame; otherwise, it is determined to be a non-key frame.
[0059] Before detailing the display method of this application, the software architecture of the electronic device mentioned in this application will first be introduced, such as... Figure 4 As shown, an electronic device may include an application layer, a framework layer, and a kernel layer.
[0060] The application layer can include a range of applications. These applications may include camera, gallery, calendar, calling, map, navigation, WLAN, Bluetooth, music, video, SMS, and other applications.
[0061] Applications at the application layer can respond to user actions and then send these actions to the process window management module at the framework layer by calling system API interfaces.
[0062] The application can also draw the corresponding data to be displayed and send the drawn data to the drawing and compositing system.
[0063] The framework layer provides application programming interfaces (APIs) and programming frameworks for applications in the application layer. The application framework layer includes some predefined functions.
[0064] The framework layer can include an event management system, a process window management system, and a rendering and composition system.
[0065] An event management system can be used for event distribution.
[0066] The process window management system can identify and retrieve the type of user operation. Then, based on the operation type, it generates strategies and retrieves parameters; that is, it determines the method for determining keyframes and obtains the necessary parameters, such as page parameters and control areas, based on the operation type. This information can then be used to send the keyframe determination method and the retrieved parameters to the rendering and compositing system.
[0067] In some embodiments, the application can automatically trigger a display interface switching operation. The application can then automatically call an API interface to send the method for determining keyframes and the acquired system parameters to the rendering and compositing system. The system parameters sent by the application via the API interface can be a preset number of skipped frames; the method for determining keyframes can be that after triggering the automatic frame skipping operation, the electronic device can record the number of frames sent to the display system. If the number of frames sent to the display system and discarded is greater than or equal to the preset number of skipped frames, then the current data frame to be displayed is displayed; if the number of frames sent to the display system is less than the preset number of skipped frames, then the current data frame to be displayed continues to be discarded.
[0068] The rendering compositing system can be used to determine whether the current data frame to be displayed is a keyframe based on the keyframe identification method and the acquired parameters. If the current data frame to be displayed is determined to be a keyframe, the display screen is controlled to display it; if the current data frame to be displayed is not a keyframe, it is discarded.
[0069] In some embodiments, the application framework layer may also include a window manager, a content provider, a view system, a phone manager, a resource manager, a notification manager, etc.
[0070] The window manager is used to manage windowed applications. It can retrieve screen size, determine the presence of a status bar, lock the screen, and capture screenshots, among other things.
[0071] Content providers store and retrieve data, making that data accessible to applications. This data may include videos, images, audio, made and received phone calls, browsing history and bookmarks, phone books, etc.
[0072] A view system includes visual controls, such as controls for displaying text and controls for displaying images. View systems can be used to build applications. A display interface can consist of one or more views. For example, a display interface including a text notification icon could include views for displaying text and views for displaying images.
[0073] A phone manager is used to provide communication functions for electronic devices. For example, it manages call status (including connection and disconnection).
[0074] The file explorer provides applications with various resources, such as localized strings, icons, images, layout files, video files, and more.
[0075] The notification manager allows applications to display notifications in the status bar. These notifications can be used to deliver informational messages and can disappear automatically after a short pause, requiring no user interaction. For example, the notification manager can be used to notify users of completed downloads or message alerts. The notification manager can also display notifications as icons or scrolling text in the top status bar, such as notifications from background applications, or as dialog boxes on the screen. Examples include displaying text messages in the status bar, emitting sounds, vibrating electronic devices, and flashing indicator lights.
[0076] The kernel driver layer is the layer between hardware and software. It includes device drivers and display drivers. Device drivers can include camera drivers, audio drivers, sensor drivers, etc. Display drivers are used to drive the display screen to show keyframes.
[0077] The display method provided in the embodiments of this application will now be described based on the aforementioned electronic device. Figure 5 This illustration shows a flowchart of a display method according to an embodiment of this application. The method can be executed by the aforementioned electronic device, such as... Figure 5 As shown, the display method may include:
[0078] 501: Display interface switching operation detected.
[0079] It is understood that in some embodiments, the display interface switching operation can be an operation in which the user clicks a control within the application or other means to switch the display interface, or launch any application while the desktop is displayed, or switch from the first application to the second application, etc.
[0080] For example, if a user clicks on a reading application on the desktop page, the electronic device can detect the user's operation of launching the reading application. Correspondingly, the desktop display interface is switched to the reading application page, and the electronic device can execute the display method in the embodiments of this application to display the reading application page.
[0081] For example, if a user clicks on a webpage link in a messaging application, the electronic device can detect the user's click and execute the display method in this application embodiment to display the browser application's page.
[0082] For example, if a user clicks the WIFI control on the main page of the settings application, the electronic device can detect the user's click on the WIFI control and execute the display method in this application embodiment to display the WIFI page.
[0083] 502: Get the data to be displayed corresponding to the display interface switching operation.
[0084] It is understood that, in the embodiments of this application, the data to be displayed corresponding to the display interface switching operation may include all display data in the process of implementing the display interface switching.
[0085] It is understandable that the data to be displayed for each display interface switching operation can include multiple frames of data. These multiple frames of data to be displayed can include several keyframes corresponding to the final display page of the operation and intermediate transition frames without key information during the display interface switching process, or non-keyframes.
[0086] 503: Determine if the current data frame to be displayed is a keyframe. If yes, proceed to 504 and control the display screen to show the current data frame; otherwise, proceed to 505 and discard the current data frame.
[0087] The methods for determining whether the current data frame to be displayed is a keyframe may include:
[0088] First, the type of display interface switching operation is determined. In some embodiments, when the display interface switching operation is an operation where the user launches any application while the desktop is displayed, or switches from the first application to the second application, or is an operation where the display interface is switched within an application, it is determined whether the current data frame to be displayed is a keyframe by judging whether the page parameters of the current data frame to be displayed match the page parameters of the page to be displayed. The page parameters may include one or more combinations of parameters such as layer application name, page name (activity name), and launch method. If the page parameters of the current data frame to be displayed match the page parameters of the page to be displayed, then the current data frame to be displayed is determined to be a keyframe; if the page parameters of the current data frame to be displayed do not match the page parameters of the page to be displayed, then the current data frame to be displayed is determined to be a non-keyframe.
[0089] For example, when the display interface switching operation involves launching any application while the desktop is displayed, or switching from one application to another, the system determines whether the data frame to be displayed is a keyframe by comparing its layer application name and launch method with those of the page to be displayed. If they match, the data frame is determined to be a keyframe; otherwise, it is determined to be a non-keyframe. The launch method can include warm start, cold start, etc.
[0090] For example, when the display interface switching operation is performed within the application, it can be determined whether the current data frame to be displayed is a keyframe by checking whether the layer application name, launch method, etc. of the data frame to be displayed are consistent with the page name and window type of the page to be displayed. If they are consistent, the current data frame to be displayed is determined to be a keyframe; if they are inconsistent, the current data frame to be displayed is determined to be a non-keyframe.
[0091] It is understood that in some embodiments, when the display interface switching operation is performed by the user clicking a control within the application to switch the display interface, in addition to determining whether the current data frame to be displayed is a keyframe by judging whether the page parameters of the current data frame to be displayed match the page parameters of the page to be displayed, it can also be determined whether the current data frame to be displayed is a keyframe by judging whether the distinguishing region between the current data frame to be displayed and the currently displayed data frame is only the area where the clicked control is located. If the distinguishing region is only the area where the clicked control is located, it means that the current data frame to be displayed is not the data frame corresponding to the page to be displayed, and the current data frame to be displayed is determined to be a non-keyframe. If the distinguishing region includes the area outside the area where the clicked control is located, it means that the current data frame to be displayed has new key information, and the current data frame to be displayed is determined to be a keyframe.
[0092] It is understood that in some embodiments, when the display interface switching operation is an application-triggered operation, for example, when a WIFI application automatically connects to WIFI, the application needs to automatically trigger a page refresh. In this case, the way to determine whether the current data frame to be displayed is a key frame is that after the display interface switching operation is triggered, when the electronic device detects the current data frame to be displayed, it can determine whether the number of frames sent to the display system and discarded has been greater than or equal to the preset number of skipped frames. If so, the current data frame to be displayed is determined to be a key frame; otherwise, it is determined to be a non-key frame.
[0093] 504: Controls the display screen to show the currently displayed data frame.
[0094] 505: Discard the current data frame to be displayed.
[0095] 506: Determine if all data frames in the data to be displayed have been detected. If yes, end. If no, go to 503 and determine if the next data frame to be displayed is a keyframe.
[0096] Based on the solution provided in this application embodiment, when the data frame is a non-critical frame (i.e., without critical information), the non-critical frame can be omitted from display; however, when the data frame is a critical frame, it can be displayed. This effectively ensures the final page display quality while significantly improving the response time to user operations, i.e., the speed at which the page switches, thus enhancing the user experience.
[0097] For example, such as Figure 6 As shown, when the first frame data F1 is not a keyframe, the rendering and compositing system can skip sending the first frame data F1 for display. When the second frame data F2 is a keyframe, the display screen can be directly controlled to display the second frame data F2, without waiting for the first frame data F1 to finish displaying. Compared to the existing technology, which requires waiting for the first frame data F1 to finish displaying before displaying the second frame data F2, this effectively shortens the total time required for the corresponding data to be displayed.
[0098] Specifically, in the existing technology, when the first frame of data F1 is displayed, the channel is occupied, meaning that the second frame of data F2 needs to wait for one cycle (e.g., 450ms) before it can be displayed. In this case, the degraded display time, i.e., the extra time consumed, is the 450ms waiting time minus the keyframe response time. However, based on the solution of this application, the keyframe, i.e., the second frame of data F2, is only sent to the display screen after it has been identified. This allows for direct control of the display screen to display the second frame of data F2, thus optimizing the aforementioned extra time consumed, i.e., the 450ms waiting time minus the keyframe response time.
[0099] It's understandable that warm-starting other applications yields significant benefits, as the keyframe response time is approximately 100ms, thus reducing the display time by about 350ms. When performing page operations within the application, filtering out the icon display effect after clicking controls or icons and directly displaying the completed key interface can also reduce the display time by approximately 350ms.
[0100] The following example, using the example of an electronic device generating different keyframe judgment strategies based on different types of display interface switching operations, illustrates the display method in this application embodiment. For instance... Figure 7 As shown, the display method includes:
[0101] 701: The application responds to a user-triggered screen switching operation.
[0102] It is understood that, in some embodiments, a user-triggered display interface switching operation may refer to the user clicking a control or other means within the application to switch the display interface, or launching any application while the desktop is displayed, or switching from a first application to a second application, etc.
[0103] 702: The application calls the API interface to send the operation to the process window management system.
[0104] 703: The process window management system identifies the operation and determines the operation type.
[0105] 7031: The process window management system has determined the operation type to be "launch other applications".
[0106] It is understood that in this embodiment of the application, when the process window management system determines that the operation type is to launch other applications, it will switch to 704. The process window management system will obtain the page parameters of the page to be displayed, including the application name and launch type of the page to be displayed.
[0107] 7032: The process window management system has determined the operation type to be in-application display interface switching.
[0108] It is understood that in this embodiment of the application, when the process window management system determines that the operation type is in-application display interface switching, it switches to 705 to obtain the page parameters of the page to be displayed. The page parameters include the page name and window type of the page to be displayed.
[0109] 7033: The process window management system determines the operation type as clicking a control within the application.
[0110] Get the page parameters of the page to be displayed. The page parameters include the page name and window type of the page to be displayed. When the operation type is "Clicking a control within the application", go to 706 and get the area information of the clicked control.
[0111] 704: The process window management system obtains the page parameters of the page to be displayed. The page parameters include the application name and startup type of the page to be displayed.
[0112] It is understood that, in the embodiments of this application, the page parameters include, but are not limited to, the page name and window type of the page to be displayed.
[0113] 705: The process window management system obtains the page parameters of the page to be displayed. The page parameters include the page name and window type of the page to be displayed.
[0114] It is understood that, in the embodiments of this application, the page parameters include, but are not limited to, the page name and window type of the page to be displayed.
[0115] 706: The process window management system obtains the area information of the clicked control.
[0116] 707: The process window management system calls the API interface to set policies.
[0117] It is understood that, in the embodiments of this application, the process window management system calling the API interface to set strategies can refer to the process window management system determining the corresponding keyframe judgment method according to different operation types, and sending the different keyframe judgment methods and the corresponding obtained page parameters or area information of the clicked control to the rendering and compositing system.
[0118] For example, when the display interface switching operation is to launch any application while displaying the desktop, or to switch from the first application to the second application, the corresponding method for determining the keyframe can be: to determine whether the current data frame to be displayed is a keyframe by judging whether the layer application name, launch method, etc. of the data frame to be displayed are consistent with the layer application name and launch method of the page to be displayed. If they are consistent, the current data frame to be displayed is determined to be a keyframe; if they are inconsistent, the current data frame to be displayed is determined to be a non-keyframe.
[0119] When the display interface switching operation is performed within the application, the corresponding method for determining the keyframe can be as follows: determine whether the current data frame to be displayed is a keyframe by checking whether the layer application name, launch method, etc. of the data frame to be displayed are consistent with the page name and window type of the page to be displayed. If they are consistent, the current data frame to be displayed is determined to be a keyframe; if they are inconsistent, the current data frame to be displayed is determined to be a non-keyframe.
[0120] In some embodiments, when the display interface switching operation is performed by the user clicking a control within the application to switch the display interface, in addition to determining whether the current data frame to be displayed is a keyframe by judging whether the page parameters of the current data frame to be displayed match the page parameters of the page to be displayed, it can also be determined whether the current data frame to be displayed is a keyframe by judging whether the distinguishing region between the current data frame to be displayed and the currently displayed data frame is only the area where the clicked control is located. If the distinguishing region is only the area where the clicked control is located, it means that the current data frame to be displayed is not the data frame corresponding to the page to be displayed, and the current data frame to be displayed is determined to be a non-keyframe. If the distinguishing region includes the area outside the area where the clicked control is located, it means that the current data frame to be displayed has new key information, and the current data frame to be displayed is determined to be a keyframe.
[0121] 708: The rendering and compositing system pauses the display of the currently displayed data frame and determines whether to display the currently displayed data frame based on a strategy.
[0122] It is understood that in some embodiments, the display interface switching operation includes not only the user-triggered display interface switching operation mentioned above, but also the application-triggered display interface switching operation. When the application automatically triggers the display interface switching operation, such as... Figure 7 As shown, the display method may include:
[0123] 709: The application triggers a screen switching operation.
[0124] It is understandable that in some embodiments, when the display interface switching operation is an automatically triggered operation set by the application, for example, when a WIFI application automatically connects to WIFI, the WIFI application needs to automatically trigger a page refresh. In this case, the application can automatically call the API interface to send the method for determining whether the current data frame to be displayed is a keyframe and the system-preset number of skipped frames to the rendering and compositing system.
[0125] 710: The application obtains the system's preset number of skipped frames.
[0126] 707: The process window management system calls the API interface to set policies.
[0127] It is understood that in the embodiments of this application, when the application system is set to automatically trigger the application to call the API interface, the process window management system may set the strategy, which may include: the process window management system determining the corresponding way to determine whether the current data frame to be displayed is a key frame, and sending the way to determine whether the current data frame to be displayed is a key frame and the number of skipped frames obtained by the system to the rendering and compositing system.
[0128] In this embodiment of the application, when the operation type is an application-triggered display interface switching operation, the method to determine whether the current data frame to be displayed is a key frame is that after the display interface switching operation is triggered, when the electronic device detects the current data frame to be displayed, it can determine whether the number of frames sent to the display system and discarded has been greater than or equal to the preset skipped frame number. If so, the current data frame to be displayed is determined to be a key frame; otherwise, the current data frame to be displayed is determined to be a non-key frame.
[0129] 708: The rendering and compositing system pauses the display of the currently displayed data frame and determines whether to display the currently displayed data frame based on a strategy.
[0130] The following example, based on the aforementioned electronic device and using keyframe judgment for switching operations of different types of display interfaces, illustrates the display method in this application embodiment. Figure 8 As shown, the display method includes:
[0131] 801: Get the current data frame to be displayed.
[0132] 802: Determine the operation type.
[0133] 8031: The operation type is determined to be launching other applications.
[0134] 8032: The operation type is determined to be in-application page switching.
[0135] 8033: The operation type is determined to be clicking a control within the application.
[0136] 8034: The operation type is determined to be an application-triggered operation.
[0137] 804: Determine if the page parameters of the current data frame to be displayed match the page parameters of the page to be displayed, where the page parameters include package name and startup type. If yes, the current data frame to be displayed is determined to be a keyframe, and the process proceeds to 808 to display the current data frame to be displayed; if no, the current data frame to be displayed is determined not to be a keyframe, and the process proceeds to 809 to discard the current data frame to be displayed.
[0138] 805: Determine if the page parameters of the currently displayed data frame match the page parameters of the page to be displayed, where the page parameters include the page name and window type. If yes, the currently displayed data frame is determined to be a keyframe, and proceeds to 808 to display the currently displayed data frame; otherwise, the currently displayed data frame is determined not to be a keyframe, and proceeds to 809 to discard the currently displayed data frame.
[0139] 806: Determine if the only difference between the current data frame to be displayed and the currently displayed data frame is the area where the clicked control is located; if yes, then determine that the currently displayed data frame is a keyframe, and proceed to 808 to display the current data frame to be displayed; if no, then determine that the currently displayed data frame is not a keyframe, and proceed to 809 to discard the current data frame to be displayed.
[0140] 807: Determine whether the number of frames sent to the display system and discarded is greater than or equal to the preset number of skipped frames; if yes, determine that the currently displayed data frame is a key frame, then proceed to 808 and display the currently displayed data frame; if no, determine that the currently displayed data frame is not a key frame, then proceed to 809 and discard the currently displayed data frame.
[0141] 808: Displays the currently pending data frame.
[0142] 809: Discard the current data frame to be displayed.
[0143] Based on the solution provided in this application embodiment, when the data frame is a non-critical frame (i.e., without critical information), the non-critical frame can be omitted from display; however, when the data frame is a critical frame, it can be displayed. This effectively ensures the final page display quality while significantly improving the response time to user operations, i.e., the speed at which the page switches, thus enhancing the user experience.
[0144] The hardware structure of the electronic device mentioned in the embodiments of this application will be described below using mobile phone 1 as an example.
[0145] like Figure 9 As shown, the mobile phone 10 may include a processor 110, a power module 140, a memory 180, a mobile communication module 130, a wireless communication module 120, a sensor module 190, an audio module 150, a camera 170, an interface module 160, buttons 101, and a display screen 102, etc.
[0146] It is understood that the structures illustrated in the embodiments of the present invention do not constitute a specific limitation on the mobile phone 10. In other embodiments of this application, the mobile phone 10 may include more or fewer components than illustrated, or combine some components, or split some components, or have different component arrangements. The illustrated components may be implemented in hardware, software, or a combination of software and hardware.
[0147] Processor 110 may include one or more processing units, such as processing modules or circuits of a Central Processing Unit (CPU), Graphics Processing Unit (GPU), Digital Signal Processor (DSP), Micro-programmed Control Unit (MCU), Artificial Intelligence (AI) processor, or Field Programmable Gate Array (FPGA). Different processing units may be independent devices or integrated into one or more processors. Processor 110 may include storage units for storing instructions and data. In some embodiments, the storage unit in processor 110 is a cache memory 180.
[0148] In some embodiments, the processor may be used to execute the display methods mentioned in the embodiments of this application.
[0149] The power module 140 may include a power supply, a power management component, etc. The power supply may be a battery. The power management component manages the charging of the power supply and the power supply to other modules. In some embodiments, the power management component includes a charging management module and a power management module. The charging management module receives charging input from a charger; the power management module connects to the power supply and the processor 110. The power management module receives input from the power supply and / or the charging management module to supply power to the processor 110, the display 102, the camera 170, and the wireless communication module 120, etc.
[0150] The mobile communication module 130 may include, but is not limited to, an antenna, a power amplifier, a filter, and an LNA (Low Noise Amplifier). The mobile communication module 130 can provide wireless communication solutions, including 2G / 3G / 4G / 5G, for use on the mobile phone 10. The mobile communication module 130 can receive electromagnetic waves via the antenna, filter and amplify the received electromagnetic waves, and then transmit them to a modem processor for demodulation. The mobile communication module 130 can also amplify the signal modulated by the modem processor and convert it into electromagnetic waves for radiation via the antenna. In some embodiments, at least some functional modules of the mobile communication module 130 may be housed in the processor 110. In some embodiments, at least some functional modules of the mobile communication module 130 and at least some modules of the processor 110 may be housed in the same device. Wireless communication technologies can 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), Bluetooth (BT), Global Navigation Satellite System (GNSS), Wireless Local Area Networks (WLAN), Near Field Communication (NFC), Frequency Modulation (FM) and / or Field Communication (NFC), Infrared (IR) technology, etc.The GNSS may include the Global Positioning System (GPS), the Global Navigation Satellite System (GLONASS), the BeiDou Navigation Satellite System (BDS), the Quasi-Zenith Satellite System (QZSS), and / or satellite-based augmentation systems (SBAS).
[0151] The wireless communication module 120 may include an antenna, which enables the transmission and reception of electromagnetic waves. The wireless communication module 120 can provide solutions for wireless communication applications on the mobile phone 10, including wireless local area networks (WLAN) (such as wireless fidelity (Wi-Fi) networks), Bluetooth (BT), global navigation satellite system (GNSS), frequency modulation (FM), near field communication (NFC), and infrared (IR) technologies. The mobile phone 10 can communicate with networks and other devices through wireless communication technologies.
[0152] In some embodiments, the mobile communication module 130 and the wireless communication module 120 of the mobile phone 10 may also be located in the same module.
[0153] Display screen 102 is an e-ink screen.
[0154] The sensor module 190 may include proximity sensors, pressure sensors, gyroscope sensors, barometric pressure sensors, magnetic sensors, accelerometers, distance sensors, fingerprint sensors, temperature sensors, touch sensors, ambient light sensors, bone conduction sensors, etc.
[0155] The audio module 150 is used to convert digital audio information into analog audio signals for output, or to convert analog audio input into digital audio signals. The audio module 150 can also be used for encoding and decoding audio signals. In some embodiments, the audio module 150 may be located in the processor 110, or some functional modules of the audio module 150 may be located in the processor 110. In some embodiments, the audio module 150 may include a speaker, a handset, a microphone, and a headphone jack.
[0156] Camera 170 is used to capture still images or videos. An object passes through the lens to generate an optical image that is projected onto a photosensitive element. The photosensitive element converts the light signal into an electrical signal, which is then passed to the ISP (Image Signal Processing) to be converted into a digital image signal. Mobile phone 10 can achieve its shooting function through the ISP, camera 170, video codec, GPU (Graphics Processing Unit), display 102, and application processor.
[0157] Interface module 160 includes an external memory interface, a universal serial bus (USB) interface, and a subscriber identification module (SIM) card interface. The external memory interface can be used to connect an external memory card, such as a Micro SD card, to expand the storage capacity of the mobile phone 10. The external memory card communicates with the processor 110 through the external memory interface to perform data storage. The USB interface is used for communication between the mobile phone 10 and other electronic devices. The SIM card interface is used to communicate with the SIM card installed in the mobile phone 10, for example, to read or write phone numbers stored in the SIM card.
[0158] In some embodiments, the mobile phone 10 further includes buttons 101, a motor, and indicators. The buttons 101 may include volume buttons, a power button, etc. The motor is used to generate a vibration effect in the mobile phone 10, for example, vibrating when the user's mobile phone 10 is called to prompt the user to answer the call. The indicators may include laser indicators, radio frequency indicators, LED indicators, etc.
[0159] The embodiments disclosed in this application can be implemented in hardware, software, firmware, or a combination of these implementation methods. Embodiments of this application can be implemented as computer programs or program code executable on a programmable system, the programmable system including at least one processor, a storage system (including volatile and non-volatile memory and / or storage elements), at least one input device, and at least one output device.
[0160] Program code can be applied to input instructions to execute the functions described in this application and generate output information. The output information can be applied to one or more output devices in a known manner. For the purposes of this application, the processing system includes any system having a processor such as, for example, a digital signal processor (DSP), a microcontroller, an application-specific integrated circuit (ASIC), or a microprocessor.
[0161] The program code can be implemented using a high-level procedural language or an object-oriented programming language to communicate with the processing system. Assembly language or machine language can also be used when needed. In fact, the mechanisms described in this application are not limited to any particular programming language. In either case, the language can be a compiled language or an interpreted language.
[0162] In some cases, the disclosed embodiments may be implemented in hardware, firmware, software, or any combination thereof. The disclosed embodiments may also be implemented as instructions carried or stored thereon on one or more temporary or non-temporary machine-readable (e.g., computer-readable) storage media, which may be read and executed by one or more processors. For example, the instructions may be distributed via a network or through other computer-readable media. Therefore, machine-readable media may include any mechanism for storing or transmitting information in a machine-readable (e.g., computer-readable) form, including but not limited to floppy disks, optical disks, CD-ROMs, magneto-optical disks, read-only memory (ROM), random access memory (RAM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), magnetic cards or optical cards, flash memory, or tangible machine-readable storage for transmitting information (e.g., carrier waves, infrared signals, digital signals, etc.) using the Internet in the form of electrical, optical, acoustic, or other propagation signals. Therefore, machine-readable media include any type of machine-readable medium suitable for storing or transmitting electronic instructions or information in a machine-readable (e.g., computer-readable) form.
[0163] In the accompanying drawings, some structural or methodological features may be shown in a specific arrangement and / or order. However, it should be understood that such a specific arrangement and / or order may not be necessary. Rather, in some embodiments, these features may be arranged in a manner and / or order different from that shown in the illustrative drawings. Furthermore, the inclusion of structural or methodological features in a particular figure does not imply that such features are required in all embodiments, and in some embodiments, these features may be omitted or may be combined with other features.
[0164] It should be noted that all units / modules mentioned in the device embodiments of this application are logical units / modules. Physically, a logical unit / module can be a physical unit / module, a part of a physical unit / module, or a combination of multiple physical units / modules. The physical implementation of these logical units / modules themselves is not the most important factor; the combination of functions implemented by these logical units / modules is the key to solving the technical problems proposed in this application. Furthermore, to highlight the innovative aspects of this application, the above-described device embodiments of this application have not introduced units / modules that are not closely related to solving the technical problems proposed in this application. This does not mean that the above-described device embodiments do not contain other units / modules.
[0165] It should be noted that in the examples and description of this patent, relational terms such as "first" and "second" are used merely to distinguish one entity or operation from another, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Furthermore, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Without further limitations, an element defined by the phrase "comprising one" does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes said element.
[0166] Although this application has been illustrated and described with reference to certain preferred embodiments thereof, those skilled in the art will understand that various changes in form and detail may be made thereto without departing from the scope of this application.
Claims
1. A screen display method for an electronic device, characterized in that, include: A switching operation was detected that changed the display interface of the electronic device from a first display interface to a second display interface; Obtain the display data of the second display interface, wherein the display data of the second display interface includes key data frames and non-key data frames; The key data frame is the current data frame to be displayed in the displayed data. The current data frame to be displayed is then displayed. The current data frame to be displayed in the displayed data is the non-critical data frame, so the current data frame to be displayed is discarded; The methods for determining that the currently displayed data frame in the displayed data is the key data frame include: When the type of the switching operation is the second type, the total number of data frames that are not currently being displayed is obtained. The second type includes switching operations triggered in response to application frame skipping settings. If the total number of currently undisplayed data frames is greater than or equal to a preset number of skipped frames, the currently displayed data frame is determined to be the key data frame.
2. The method according to claim 1, characterized in that, The methods for determining that the currently displayed data frame in the displayed data is the key data frame include: When the type of the switching operation is the first type, the page parameters of the current data frame to be displayed and the page parameters of the second display interface are obtained, wherein the first type is a switching operation triggered in response to user operation; If the page parameters of the current data frame to be displayed match the page parameters of the second display interface, the current data frame to be displayed is determined to be the key data frame.
3. The method according to claim 2, characterized in that, The switching operation triggered in response to a user action includes: When the first display interface is the desktop, the operation involves switching to the second display interface corresponding to the second application launched from the first display interface, switching from the first display interface of the first application to the second display interface of the second application, or switching from the first display interface of the first application to the second display interface of the first application.
4. The method according to claim 2 or 3, characterized in that, The page parameters include one or more combinations of layer application name, page name, launch method, and window type.
5. The method according to claim 4, characterized in that, When the type corresponding to the switching operation is the first type, the page parameters of the current data frame to be displayed and the page parameters of the second display interface are obtained; including: When the switching operation is that the first display interface is the desktop, the operation of switching the second display interface corresponding to the second application is launched from the first display desktop, or the operation of switching from the first display interface of the first application to the second display interface of the second application is performed, the layer application name and launch method of the data frame to be displayed and the layer application name and launch method of the second display page are obtained.
6. The method according to claim 4, characterized in that, When the type corresponding to the switching operation is the first type, the page parameters of the current data frame to be displayed and the page parameters of the second display interface are obtained; including: When the switching operation is a switching operation from the first display interface of the first application to the second display interface of the first application, the page name and window type of the currently displayed data frame and the page name and window type of the second display page are obtained.
7. The method according to claim 1, characterized in that, Also includes: The method for determining that the current data frame to be displayed in the data to be displayed is the key data frame includes: When the type of the switching operation is the third type, obtain the difference area between the current data frame to be displayed and the first display interface; The third type includes a switching operation triggered in response to a user clicking a control within the first display interface; If the distinguishing region includes areas other than the area where the clicked control is located in the first display interface, the current data frame to be displayed is determined to be the key data frame.
8. An electronic device, characterized in that, include: A memory for storing instructions executed by one or more processors of the electronic device; The processor is one of one or more processors of the electronic device, configured to perform the screen display method according to any one of claims 1-7.
9. A readable storage medium, characterized in that, The readable storage medium stores instructions that, when executed on an electronic device, cause the electronic device to perform the screen display method according to any one of claims 1-7.
Citation Information
Patent Citations
Method and electronic device for displaying frame data
CN114928769A