Display processing method, mobile terminal and storage medium
By monitoring the operating status of the target program running unit and dynamically adjusting the processor's computing power resources, the problem of excessive power consumption due to increasing the processor's operating frequency is solved, and the display performance is optimized and the user experience is improved.
Patent Information
- Application Number
- CN202110876261.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-07-30
- Publication Date
- 2025-04-22
- Estimated Expiration
- 2041-07-30
AI Technical Summary
A solution that improves the operating frequency of the processor to optimize display performance will lead to excessive power consumption of the mobile terminal and affect the user experience.
By monitoring the target program running unit used to display the current frame screen, if its operating state meets the preset conditions, the processor's computing power resources will be increased, and the previous computing power resources will be restored after the current frame screen processing is completed.
Optimized display performance, avoiding excessive power consumption of mobile terminals and improving user experience.
Smart Images

Figure CN113515386B_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of terminal technology, and in particular to a display processing method, a mobile terminal and a storage medium. Background Art
[0002] When displaying images on mobile terminals, frame drops and freezes may occur, affecting the user experience. In order to optimize display performance, the current main solution is to increase the operating frequency of the processor to provide higher processing power and complete the processing of image data earlier, thereby improving display smoothness and stability.
[0003] In the process of conceiving and implementing the present application, the inventors discovered that there are at least the following problems: the solution of increasing the operating frequency of the processor will lead to excessive frequency increase, resulting in excessive power consumption of the mobile terminal, which in turn affects the user experience.
[0004] The preceding description is intended to provide general background information and does not necessarily constitute prior art. Summary of the invention
[0005] In response to the above technical problems, the present application provides a display processing method, a mobile terminal and a storage medium, which optimize the display performance and avoid excessive power consumption of the mobile terminal.
[0006] In order to solve the above technical problems, the present application provides a display processing method, which is applied to a mobile terminal, comprising:
[0007] Monitor the target program running unit for displaying the current frame;
[0008] If the running state of the target program running unit meets the preset conditions, the computing power resources of the processor are increased, and after the current frame image processing is completed, the computing power resources of the processor are restored to the computing power resources before the increase.
[0009] Optionally, if the running state of the target program running unit meets a preset condition, increasing the computing power resources of the processor includes:
[0010] Matching the running state of the target program running unit with a preset condition library, wherein the condition library includes the running state of the program running unit that triggers the increase of the computing power resources of the processor;
[0011] If the condition library contains an operating state of a program running unit that matches the operating state of the target program running unit, the computing power resources of the processor are increased.
[0012] Optionally, matching the running state of the target program running unit with a preset condition library includes:
[0013] Determining whether the running state of each program running unit in the target program running unit changes;
[0014] When the running state of at least one program running unit in the target program running unit changes, matching the running state of the changed program running unit with the condition library;
[0015] If the condition library contains a running state of a program running unit that matches the running state of the target program running unit, increasing the computing power resources of the processor includes:
[0016] If the condition library contains an operating state of a program running unit that matches the changed operating state of the program running unit, the computing power resources of the processor are increased.
[0017] Optionally, the determining whether the running state of each program running unit in the target program running unit changes includes:
[0018] Determining the processor computing power consumed by each program execution unit in the target program execution unit;
[0019] If the processor computing power consumed by each program running unit is greater than the computing power threshold corresponding to each program running unit, it is determined that the running state of each program running unit has changed.
[0020] Optionally, increasing the computing power resources of the processor includes:
[0021] Determining a target computing power resource of the processor according to the processor computing power consumed by the program running unit whose running state has changed;
[0022] The computing power resources of the processor are increased to the target computing power resources.
[0023] Optionally, the processor computing power consumed by the program running unit whose running state has changed is positively correlated with the target computing power resource.
[0024] Optionally, the method further comprises:
[0025] Determining at least one program execution unit for displaying a picture;
[0026] Determining the probability of frame drops when the at least one program running unit is in different running states;
[0027] If the probability of frame drop corresponding to the target running state is greater than or equal to the probability threshold, the target running state is added to the condition library. Optionally, the target running state is any running state of the at least one program running unit.
[0028] Optionally, determining the probability of frame drops in different running states of the at least one program running unit includes:
[0029] Different running states of the at least one program running unit are respectively input into a pre-trained prediction model to obtain the probability of frame drops in different running states of the at least one program running unit. Optionally, the prediction model is obtained by training an initial prediction model through the running state corresponding to at least one sample screen.
[0030] The present application also provides a display processing device, comprising:
[0031] A monitoring module, used for monitoring a target program running unit for displaying a current frame;
[0032] The computing power module is used to increase the computing power resources of the processor when the running state of the target program running unit meets the preset conditions, and restore the computing power resources of the processor to the computing power resources before the increase after the current frame image processing is completed.
[0033] Optionally, the computing power module is used to:
[0034] Matching the running state of the target program running unit with a preset condition library, wherein the condition library includes the running state of the program running unit that triggers the increase of the computing power resources of the processor;
[0035] If the condition library contains an operating state of a program running unit that matches the operating state of the target program running unit, the computing power resources of the processor are increased.
[0036] Optionally, the computing power module is used to:
[0037] Determining whether the running state of each program running unit in the target program running unit changes;
[0038] When the running state of at least one program running unit in the target program running unit changes, matching the running state of the changed program running unit with the condition library;
[0039] If the condition library contains an operating state of a program running unit that matches the changed operating state of the program running unit, the computing power resources of the processor are increased.
[0040] Optionally, the computing power module is used to:
[0041] Determining the processor computing power consumed by each program execution unit in the target program execution unit;
[0042] If the processor computing power consumed by each program running unit is greater than the computing power threshold corresponding to each program running unit, it is determined that the running state of each program running unit has changed.
[0043] Optionally, the computing power module is used to:
[0044] Determining a target computing power resource of the processor according to the processor computing power consumed by the program running unit whose running state has changed;
[0045] The computing power resources of the processor are increased to the target computing power resources.
[0046] Optionally, the processor computing power consumed by the program running unit whose running state has changed is positively correlated with the target computing power resource.
[0047] Optionally, the device further comprises: a condition library construction module;
[0048] The conditional library building module is used to:
[0049] Determining at least one program execution unit for displaying a picture;
[0050] Determining the probability of frame drops when the at least one program running unit is in different running states;
[0051] If the probability of frame drop corresponding to the target running state is greater than or equal to the probability threshold, the target running state is added to the condition library. Optionally, the target running state is any running state of the at least one program running unit.
[0052] Optionally, the condition library construction module is used to:
[0053] Different running states of the at least one program running unit are respectively input into a pre-trained prediction model to obtain the probability of frame drops in different running states of the at least one program running unit. Optionally, the prediction model is obtained by training an initial prediction model through the running state corresponding to at least one sample screen.
[0054] The present application also provides a mobile terminal, comprising: a memory and a processor, wherein a processing program is stored in the memory, and when the processing program is executed by the processor, the steps of the above method are implemented.
[0055] The present application also provides a computer storage medium, wherein the computer storage medium stores a computer program, and when the computer program is executed by a processor, the steps of the above method are implemented.
[0056] As described above, the display processing method of the present application is applied to a mobile terminal to monitor the target program running unit used to display the current frame image; if the running state of the target program running unit meets the preset conditions, the computing power resources of the processor are increased, and after the current frame image processing is completed, the computing power resources of the processor are restored to the computing power resources before the increase. In the above manner, the display performance is optimized while avoiding excessive power consumption of the mobile terminal. BRIEF DESCRIPTION OF THE DRAWINGS
[0057] The drawings herein are incorporated into the specification and constitute a part of the specification, illustrate embodiments consistent with the present application, and are used together with the specification to explain the principles of the present application. In order to more clearly illustrate the technical solutions of the embodiments of the present application, the drawings required for use in the description of the embodiments are briefly introduced below. Obviously, for ordinary technicians in this field, other drawings can be obtained based on these drawings without creative labor.
[0058] Figure 1 A schematic diagram of the hardware structure of a mobile terminal for implementing various embodiments of the present application;
[0059] Figure 2 A communication network system architecture diagram provided for an embodiment of the present application;
[0060] Figure 3 is a flow chart of a display processing method provided according to an embodiment of the present application;
[0061] Figure 4 It is a schematic diagram of the structure of a display device provided according to an embodiment of the present application.
[0062] The realization of the purpose, functional features and advantages of this application will be further described in conjunction with the embodiments and with reference to the accompanying drawings. The above-mentioned drawings have shown clear embodiments of this application, which will be described in more detail later. These drawings and textual descriptions are not intended to limit the scope of the concept of this application in any way, but to illustrate the concept of this application to those skilled in the art by referring to specific embodiments. DETAILED DESCRIPTION
[0063] Exemplary embodiments will be described in detail herein, examples of which are shown in the accompanying drawings. When the following description refers to the drawings, the same numbers in different drawings represent the same or similar elements unless otherwise indicated. The implementations described in the following exemplary embodiments do not represent all implementations consistent with the present application. Instead, they are merely examples of devices and methods consistent with some aspects of the present application as detailed in the appended claims.
[0064] It should be noted that, in this article, the terms "include", "comprises" or any other variants thereof are intended to cover non-exclusive inclusion, so that a process, method, article or device including a series of elements includes not only those elements, but also includes other elements not explicitly listed, or also includes elements inherent to such process, method, article or device. In the absence of further restrictions, an element defined by the sentence "includes a ..." does not exclude the existence of other identical elements in the process, method, article or device including the element. Optionally, components, features, and elements with the same name in different embodiments of the present application may have the same meaning or different meanings, and their specific meanings need to be determined by their explanation in the specific embodiment or further combined with the context in the specific embodiment.
[0065] It should be understood that, although the terms first, second, third, etc. may be used to describe various information in this article, these information should not be limited to these terms. These terms are only used to distinguish the same type of information from each other. For example, without departing from the scope of this article, the first information may also be referred to as the second information, and similarly, the second information may also be referred to as the first information. Depending on the context, the word "if" as used herein can be interpreted as "at the time of" or "when" or "in response to determination". Furthermore, as used in this article, the singular forms "one", "one" and "the" are intended to also include plural forms, unless there is an opposite indication in the context. It should be further understood that the terms "comprising" and "including" indicate that there are the described features, steps, operations, elements, components, projects, kinds, and / or groups, but do not exclude the existence, occurrence or addition of one or more other features, steps, operations, elements, components, projects, kinds, and / or groups. The terms "or", "and / or", "including at least one of the following" etc. used in this application can be interpreted as inclusive, or mean any one or any combination. For example, “comprising at least one of the following: A, B, C” means “any of the following: A; B; C; A and B; A and C; B and C; A and B and C”, and for another example, “A, B or C” or “A, B and / or C” means “any of the following: A; B; C; A and B; A and C; B and C; A and B and C”. An exception to this definition will only occur when a combination of elements, functions, steps or operations are inherently mutually exclusive in some manner.
[0066] It should be understood that, although the various steps in the flowchart in the embodiment of the present application are displayed in sequence according to the indication of the arrows, these steps are not necessarily performed in sequence according to the order indicated by the arrows. Unless there is a clear explanation in this article, the execution of these steps does not have a strict order restriction, and it can be performed in other orders. Moreover, at least a portion of the steps in the figure may include a plurality of sub-steps or a plurality of stages, and these sub-steps or stages are not necessarily performed at the same time, but can be performed at different times, and their execution order is not necessarily performed in sequence, but can be performed in turn or alternately with other steps or at least a portion of the sub-steps or stages of other steps.
[0067] As used herein, the words "if" and "if" may be interpreted as "at the time of" or "when" or "in response to determining" or "in response to detecting", depending on the context. Similarly, the phrases "if it is determined" or "if (stated condition or event) is detected" may be interpreted as "when it is determined" or "in response to determining" or "when detecting (stated condition or event)" or "in response to detecting (stated condition or event)", depending on the context.
[0068] It should be noted that in this article, step codes such as S301, S302, etc. are used for the purpose of expressing the corresponding content more clearly and concisely, and do not constitute a substantial limitation on the sequence. When implementing the step, those skilled in the art may execute S302 first and then S301, etc., but these should all be within the scope of protection of this application.
[0069] It should be understood that the specific embodiments described herein are only used to explain the present application and are not used to limit the present application.
[0070] In the subsequent description, the suffixes such as "module", "component" or "unit" used to represent elements are only used to facilitate the description of the present application, and have no specific meanings. Therefore, "module", "component" or "unit" can be used in a mixed manner.
[0071] The mobile terminal may be implemented in various forms. For example, the mobile terminal described in the present application may include mobile terminals such as mobile phones, tablet computers, laptop computers, PDAs, portable media players (PMPs), navigation devices, wearable devices, smart bracelets, pedometers, etc., as well as fixed terminals such as digital TVs and desktop computers.
[0072] The following description will be made by taking a mobile terminal as an example, and those skilled in the art will understand that, in addition to components specifically used for mobile purposes, the construction according to the embodiments of the present application can also be applied to fixed-type terminals.
[0073] See also Figure 1 , which is a schematic diagram of the hardware structure of a mobile terminal for implementing various embodiments of the present application, the mobile terminal 100 may include: RF (Radio Frequency, radio frequency) unit 101, WiFi module 102, audio output unit 103, A / V (audio / video) input unit 104, sensor 105, display unit 106, user input unit 107, interface unit 108, memory 109, processor 110, and power supply 111 and other components. Those skilled in the art can understand that Figure 1 The structure of the mobile terminal shown in the figure does not constitute a limitation on the mobile terminal. The mobile terminal may include more or fewer components than shown in the figure, or combine certain components, or arrange the components differently.
[0074] Combine the following Figure 1 The following is a detailed introduction to the various components of the mobile terminal:
[0075] The radio frequency unit 101 can be used for receiving and sending signals during information transmission or calls. Specifically, after receiving the downlink information of the base station, it is sent to the processor 110 for processing; in addition, the uplink data is sent to the base station. Generally, the radio frequency unit 101 includes but is not limited to an antenna, at least one amplifier, a transceiver, a coupler, a low noise amplifier, a duplexer, etc. Optionally, the radio frequency unit 101 can also communicate with the network and other devices through wireless communication. The above-mentioned wireless communication can use any communication standard or protocol, including but not limited to GSM (Global System of Mobile communication), GPRS (General Packet Radio Service), CDMA2000 (Code Division Multiple Access 2000), WCDMA (Wideband Code Division Multiple Access), TD-SCDMA (Time Division-Synchronous Code Division Multiple Access), FDD-LTE (Frequency Division Duplexing-Long Term Evolution) and TDD-LTE (Time Division Duplexing-Long Term Evolution), etc.
[0076] WiFi is a short-range wireless transmission technology. Mobile terminals can help users send and receive emails, browse web pages, and access streaming media through WiFi module 102. It provides users with wireless broadband Internet access. Figure 1 The WiFi module 102 is shown, but it is understandable that it is not an essential component of the mobile terminal and can be omitted as required without changing the essence of the invention.
[0077] The audio output unit 103 can convert the audio data received by the RF unit 101 or the WiFi module 102 or stored in the memory 109 into an audio signal and output it as sound when the mobile terminal 100 is in a call signal reception mode, a talk mode, a recording mode, a voice recognition mode, a broadcast reception mode, etc. Moreover, the audio output unit 103 can also provide audio output related to a specific function performed by the mobile terminal 100 (for example, a call signal reception sound, a message reception sound, etc.). The audio output unit 103 may include a speaker, a buzzer, etc.
[0078] The A / V input unit 104 is used to receive audio or video signals. The A / V input unit 104 may include a graphics processor (GPU) 1041 and a microphone 1042, and the graphics processor 1041 processes the image data of a static picture or video obtained by an image capture device (such as a camera) in a video capture mode or an image capture mode. The processed image frame can be displayed on the display unit 106. The image frame processed by the graphics processor 1041 can be stored in the memory 109 (or other storage medium) or sent via the radio frequency unit 101 or the WiFi module 102. The microphone 1042 can receive sound (audio data) via the microphone 1042 in a telephone call mode, a recording mode, a voice recognition mode, and other operating modes, and can process such sound into audio data. The processed audio (voice) data can be converted into a format output that can be sent to a mobile communication base station via the radio frequency unit 101 in the case of a telephone call mode. The microphone 1042 can implement various types of noise elimination (or suppression) algorithms to eliminate (or suppress) noise or interference generated in the process of receiving and sending audio signals.
[0079] The mobile terminal 100 also includes at least one sensor 105, such as a light sensor, a motion sensor, and other sensors. Optionally, the light sensor includes an ambient light sensor and a proximity sensor. Optionally, the ambient light sensor can adjust the brightness of the display panel 1061 according to the brightness of the ambient light, and the proximity sensor can turn off the display panel 1061 and / or the backlight when the mobile terminal 100 is moved to the ear. As a type of motion sensor, the accelerometer sensor can detect the magnitude of acceleration in all directions (generally three axes), and can detect the magnitude and direction of gravity when stationary. It can be used for applications that identify the posture of the mobile phone (such as horizontal and vertical screen switching, related games, magnetometer posture calibration), vibration recognition related functions (such as pedometer, tapping), etc.; as for other sensors that can be configured on the mobile phone, such as fingerprint sensors, pressure sensors, iris sensors, molecular sensors, gyroscopes, barometers, hygrometers, thermometers, infrared sensors, etc., they will not be repeated here.
[0080] The display unit 106 is used to display information input by the user or information provided to the user. The display unit 106 may include a display panel 1061, which may be configured in the form of a liquid crystal display (LCD), an organic light-emitting diode (OLED), or the like.
[0081] The user input unit 107 can be used to receive input digital or character information, and to generate key signal input related to the user settings and function control of the mobile terminal. Optionally, the user input unit 107 may include a touch panel 1071 and other input devices 1072. The touch panel 1071, also known as a touch screen, can collect the user's touch operation on or near it (such as the user's operation on the touch panel 1071 or near the touch panel 1071 using any suitable object or accessory such as a finger, stylus, etc.), and drive the corresponding connection device according to a pre-set program. The touch panel 1071 may include two parts: a touch detection device and a touch controller. Optionally, the touch detection device detects the user's touch orientation, detects the signal brought by the touch operation, and transmits the signal to the touch controller; the touch controller receives the touch information from the touch detection device, converts it into the touch point coordinates, and then sends it to the processor 110, and can receive and execute the command sent by the processor 110. Optionally, the touch panel 1071 can be implemented in various types such as resistive, capacitive, infrared, and surface acoustic wave. In addition to the touch panel 1071, the user input unit 107 may further include other input devices 1072. Optionally, the other input devices 1072 may include, but are not limited to, one or more of a physical keyboard, a function key (such as a volume control key, a switch key, etc.), a trackball, a mouse, a joystick, etc., which are not specifically limited here.
[0082] Optionally, the touch panel 1071 may cover the display panel 1061. When the touch panel 1071 detects a touch operation on or near it, it transmits the information to the processor 110 to determine the type of touch event. Then, the processor 110 provides corresponding visual output on the display panel 1061 according to the type of touch event. Figure 1 In the figure, the touch panel 1071 and the display panel 1061 are used as two independent components to implement the input and output functions of the mobile terminal. However, in some embodiments, the touch panel 1071 and the display panel 1061 can be integrated to implement the input and output functions of the mobile terminal, which is not limited here.
[0083] The interface unit 108 serves as an interface through which at least one external device can be connected to the mobile terminal 100. For example, the external device may include a wired or wireless headset port, an external power supply (or battery charger) port, a wired or wireless data port, a memory card port, a port for connecting a device with an identification module, an audio input / output (I / O) port, a video I / O port, a headphone port, etc. The interface unit 108 may be used to receive input (e.g., data information, power, etc.) from an external device and transmit the received input to one or more elements within the mobile terminal 100 or may be used to transmit data between the mobile terminal 100 and an external device.
[0084] The memory 109 can be used to store software programs and various data. The memory 109 can mainly include a program storage area and a data storage area. Optionally, the program storage area can 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 can store data created according to the use of the mobile phone (such as audio data, a phone book, etc.), etc. Optionally, the memory 109 can include a high-speed random access memory, and can also include a non-volatile memory, such as at least one disk storage device, a flash memory device, or other volatile solid-state storage devices.
[0085] The processor 110 is the control center of the mobile terminal. It uses various interfaces and lines to connect various parts of the entire mobile terminal. It executes various functions of the mobile terminal and processes data by running or executing software programs and / or modules stored in the memory 109, and calling data stored in the memory 109, so as to monitor the mobile terminal as a whole. The processor 110 may include one or more processing units; preferably, the processor 110 may integrate an application processor and a modem processor. Optionally, the application processor mainly processes the operating system, user interface, and application programs, and the modem processor mainly processes wireless communications. It is understandable that the above-mentioned modem processor may not be integrated into the processor 110.
[0086] The mobile terminal 100 may also include a power supply 111 (such as a battery) for supplying power to various components. Preferably, the power supply 111 may be logically connected to the processor 110 via a power management system, thereby implementing functions such as charging, discharging, and power consumption management through the power management system.
[0087] although Figure 1 Not shown, the mobile terminal 100 may further include a Bluetooth module, etc., which will not be described in detail here.
[0088] In order to facilitate understanding of the embodiments of the present application, the communication network system on which the mobile terminal of the present application is based is described below.
[0089] See also Figure 2 , Figure 2 A communication network system architecture diagram is provided for an embodiment of the present application, wherein the communication network system is an LTE system of universal mobile communication technology, and the LTE system includes a UE (User Equipment) 201, an E-UTRAN (Evolved UMTS Terrestrial Radio Access Network) 202, an EPC (Evolved Packet Core) 203 and an operator's IP service 204, which are connected in sequence for communication.
[0090] Optionally, UE201 may be the above-mentioned terminal 100, which will not be described in detail here.
[0091] E-UTRAN 202 includes eNodeB 2021 and other eNodeBs 2022 , etc. Optionally, eNodeB 2021 may be connected to other eNodeBs 2022 via a backhaul (eg, an X2 interface), and eNodeB 2021 is connected to EPC 203 , and eNodeB 2021 may provide UE 201 with access to EPC 203 .
[0092] EPC203 may include MME (Mobility Management Entity) 2031, HSS (Home Subscriber Server) 2032, other MMEs 2033, SGW (Serving Gate Way) 2034, PGW (PDN Gate Way) 2035 and PCRF (Policy and Charging Rules Function) 2036, etc. Optionally, MME 2031 is a control node that processes signaling between UE 201 and EPC 203, and provides bearer and connection management. HSS 2032 is used to provide some registers to manage functions such as home location register (not shown in the figure), and store some user-specific information such as service features and data rates. All user data can be sent through SGW2034, PGW2035 can provide IP address allocation and other functions for UE 201, PCRF2036 is the policy and charging control policy decision point for service data flow and IP bearer resources, which selects and provides available policy and charging control decisions for the policy and charging execution function unit (not shown in the figure).
[0093] The IP service 204 may include the Internet, an intranet, an IMS (IP Multimedia Subsystem) or other IP services.
[0094] Although the above introduction takes the LTE system as an example, those skilled in the art should know that the present application is not only applicable to the LTE system, but also to other wireless communication systems, such as GSM, CDMA2000, WCDMA, TD-SCDMA and future new network systems, etc., which are not limited here.
[0095] Based on the above-mentioned mobile terminal hardware structure and communication network system, various embodiments of the present application are proposed.
[0096] First, the process of generating and displaying pictures on the mobile terminal is explained. In the mobile terminal, the producer synthesizes each frame of the picture according to the synchronization signal and outputs it to the consumer for display. For example, in an ideal state, when the synchronization signal #1 arrives, the processing of the current frame of the picture in the processor begins; before the synchronization signal #2 arrives, the processing of the current frame of the picture in the processor ends; when the synchronization signal #2 arrives, the consumer synchronization picture is ready to be output to the screen, and when the synchronization signal #3 arrives, the current frame of the picture is output to the screen, thereby ensuring smooth and stable frame-by-frame display.
[0097] However, in actual application, due to various reasons such as application, CPU or GPU overload, processing delay, etc., the actual picture generation process is not completely like the aforementioned ideal scenario, but there are non-ideal conditions such as frame drop scenarios. For example, in a non-ideal state, when the synchronization signal #1 arrives, the processing of the current frame in the processor begins; when the synchronization signal #2 arrives, the processing of the current frame in the processor is not completed; before the synchronization signal #3 arrives, the processing of the current frame in the processor ends; when the synchronization signal #3 arrives, the consumer synchronization picture is ready to be output to the screen, and when the synchronization signal #4 arrives, the current frame is output to the screen, which causes the display picture to drop frames and freeze, seriously affecting the viewing experience.
[0098] In order to optimize the display performance, the main solution at present is to increase the operating frequency of the processor to provide higher processing power and complete the processing of the screen data earlier, thereby improving the display smoothness and stability. Usually, the application can trigger the mobile terminal to increase the operating frequency of the processor in some specific display scenarios. The use of this method depends on the cooperation and customization between the mobile terminal and the specific third-party manufacturer corresponding to the application. For applications without third-party support, this method cannot be used to trigger the mobile terminal to increase the operating frequency of the processor in some specific display scenarios. As for the solution that can increase the operating frequency of the processor for specific display scenarios of the application, the mobile terminal usually increases the operating frequency of the processor in these specific display scenarios and maintains it for a period of time. However, in fact, maintaining a high operating frequency of the processor for a long time in these specific display scenarios will cause power consumption waste of the mobile terminal, resulting in rapid temperature rise of the device, etc.
[0099] For the generation of each frame, the higher the processor frequency, the better the effect. The minimum interval time for displaying each frame is determined by the synchronization signal. For example, if the screen synchronization signal frequency is 60Hz, the screen can only display a maximum of 60 frames per second, so each frame only needs to be filled in 16.6ms (1s / 60Hz) to meet the display requirements. If each frame can be completed within 16.6ms, even if the processor frequency is increased to generate each frame within 10ms, there will be no improvement in the picture display effect. The screen still displays 60 frames per second, but it does consume more processor resources, resulting in resource waste and excessive power consumption of the overall mobile terminal.
[0100] Therefore, for the solution of increasing the processor operating frequency in a specific display scenario, the mobile terminal directly increases the processor operating frequency and maintains it for a period of time. However, during this period of time, the cause of the lag may actually be that the processor computing power requirements of individual frames are large and the processor operating frequency needs to be increased, while most other frames can be completed on time without increasing the processor operating frequency. Therefore, this solution will lead to excessive frequency increase, resulting in a waste of computing power and excessive overall power consumption of the mobile terminal.
[0101] To this end, the embodiment of the present application provides a display processing method, in which the program running unit corresponding to each frame of the picture and the display-related program running unit are monitored, and whether the frame of the picture needs to increase the computing power resources of the processor is determined according to the running status of each program running unit corresponding to each frame of the picture. In this way, each frame of the picture is processed frame by frame, and on the basis of improving the display performance, the unnecessary increase of the computing power resources of the processor for a long time is avoided, which leads to excessive power consumption of the mobile terminal. The following is explained in conjunction with specific embodiments.
[0102] Figure 3 FIG. 1 is a flow chart of a display processing method according to the first embodiment. Figure 3 As shown, the method includes:
[0103] S301, monitoring a target program running unit for displaying a current frame.
[0104] In the embodiment of the present application, the target program running unit for displaying the current frame is monitored, and the number of the target program running unit can be one or more, which is determined according to the actual situation of the current frame. By monitoring the target program running unit, the running status of the target program running unit can be obtained.
[0105] S302: If the running state of the target program running unit meets the preset conditions, the computing power resources of the processor are increased, and after the current frame image processing is completed, the computing power resources of the processor are restored to the computing power resources before the increase.
[0106] On the basis of obtaining the running status of the target program running unit, it can be determined according to the running status of the target program running unit whether the processing of the current frame needs to increase the computing power resources of the processor. Preset conditions can be set in the mobile terminal. When the running status of the target program running unit meets the preset conditions, it is necessary to increase the computing power resources of the processor. The preset conditions can be obtained in advance through learning or training methods. When the running status of the target program running unit meets the preset conditions, it means that the processing of the current frame may not be completed in time. Therefore, it is necessary to increase the computing power resources of the processor to provide higher computing power so that the processing of the current frame can be completed as soon as possible.
[0107] Optionally, the computing power resources include but are not limited to processor frequency, processor running time, number of executable processors, and executable processor types, etc. Methods for increasing the computing power resources of the processor may include but are not limited to increasing the processor frequency, increasing the processor running time and running priority of the target program running unit, changing the processor type running the target program (for example, changing from a small-core processor to a large-core processor), etc.
[0108] After the current frame is processed, it is uncertain whether the processor's computing power resources need to be increased for the next frame, so the processor's computing power resources are restored to the level before the increase after the current frame is processed. When processing the next frame, the steps S301-S302 are also performed to determine whether the processor's computing power resources need to be increased, and the same is true for other subsequent frames.
[0109] The display processing method provided in the embodiment of the present application monitors the program running units related to the display of each frame when processing each frame, and determines whether the frame needs to increase the computing power resources of the processor according to the running status of each program running unit corresponding to each frame. Each increase in the computing power resources of the processor is only for the current frame, thereby achieving accurate improvement of the computing power of the processor. In this way, each frame is processed frame by frame, which improves the display smoothness and stability, ensures the user experience, and avoids the unnecessary increase in the computing power resources of the processor for a long time, which leads to excessive power consumption of the mobile terminal.
[0110] The following further describes how to determine whether the running state of the target program running unit meets the preset condition.
[0111] The preset condition in the above embodiment may be a preset condition library, which includes the running status of the program running unit that triggers the increase of the computing power resources of the processor. The condition library may also be called a program running unit identification condition library, a CPU running scenario library, etc. Accordingly, the running status of the target program running unit is matched with the preset condition library; if there is a running status of the program running unit in the condition library that matches the running status of the target program running unit, the computing power resources of the processor are increased.
[0112] The running state in the embodiment of the present application may include a normal state or an overloaded state, wherein the overloaded state may be a state where the processor computing power consumed by the program running unit exceeds the computing power threshold, and the monitoring setting may be performed according to actual needs. If the processor computing power consumed by the program running unit exceeds the computing power threshold, it is determined that the program running unit cannot process the current frame image data in time. For example, the processor computing power consumed by the program running unit exceeding the computing power threshold may be that the running time of the program running unit exceeds the time threshold.
[0113] For example, it is assumed that the target program execution unit includes program execution units A, B, and C, and the status distribution of program execution units A, B, and C is overloaded, overloaded, and normal. If one of the conditions in the condition library happens to be that program execution unit A is overloaded and program execution unit B is overloaded, it can be determined that the running status of the target program execution unit matches the condition library, and therefore the computing power resources of the processor need to be increased.
[0114] Optionally, when matching the running state of the target program running unit with a preset condition library, it can be determined first whether the running state of each program running unit in the target program running unit has changed; when the running state of at least one program running unit in the target program running unit has changed, the running state of the changed program running unit is matched with the condition library, and if there is a running state of the program running unit in the condition library that matches the running state of the changed program running unit, the computing power resources of the processor are increased, thereby avoiding frequent matching and comparison of the running states of the program running units.
[0115] For example, when the current frame image is just being processed, the monitored target program running units A, B, and C are all in normal status, and at this time, there is no need to compare the running status of the target program running unit with the condition library. Assuming that at a certain time it is monitored that the processor computing power consumed by program running unit A is greater than the computing power threshold corresponding to program running unit A, it can be determined that the running status of program running unit A has changed, and program running unit A has changed from a normal state to an overloaded state. At this time, it is necessary to match the running status of the changed program running unit, that is, the status of program running unit A, with the condition library. For example, if none of the conditions in the condition library is that only program running unit A is overloaded, then there is no need to increase the processor's computing power resources at this time. Assume that at another time, it is monitored that the processor computing power consumed by program running unit B is greater than the computing power threshold corresponding to program running unit B, that is, program running unit B is also in an overloaded state. At this time, it is necessary to match the running states of program running unit A and program running unit B that have changed with the condition library. If one of the conditions in the condition library happens to be that program running unit A is overloaded and program running unit B is overloaded, it can be determined that the running state of the target program running unit matches the condition library, so the processor computing power resources are increased at this time. After completing the processing of the current frame, the processor computing power resources are restored to the level before the increase. If there is a next frame to be processed, the mobile terminal continues to monitor the target program running unit corresponding to the next frame to determine whether the processor computing power resources need to be increased during the processing of the next frame.
[0116] Compared to the aforementioned related technologies in which the operating frequency of the processor is maintained increased under specific display scenarios (for example, the operating frequency of the processor is continuously increased from the first frame until the end of the display of the specific display scenario), the solution of the embodiment of the present application monitors and processes each frame of the picture, thereby reducing the time for increasing the computing resources of the processor and reducing the power consumption of the mobile terminal.
[0117] It should be noted that when determining whether the running state of each program running unit in the target program running unit has changed, since the computing power resources required by each program running unit to process the screen data may be different, a corresponding computing power threshold can be set for each program running unit, and the computing power threshold is set according to the actual situation. Correspondingly, the processor computing power consumed by each program running unit in the target program running unit can be determined in the mobile terminal. If the processor computing power consumed by each program running unit is greater than the computing power threshold corresponding to each program running unit, it is determined that the running state of each program running unit has changed. That is, as mentioned above, if the processor computing power consumed by a program running unit exceeds the computing power threshold, that is, the program running unit may not be able to process the screen data in time, at this time, the state of the program running unit can be updated from normal to overload, and the running state of the program running unit is matched with the condition library, and it is determined whether to increase the computing power resources of the processor based on the matching result.
[0118] Optionally, when increasing the computing power resources of the processor, the target computing power resources of the processor can be determined based on the processor computing power consumed by the program running unit whose running state has changed; and the computing power resources of the processor can be increased to the target computing power resources.
[0119] Optionally, the processor computing power consumed by the program running unit whose running state has changed is positively correlated with the target computing power resources. It is understandable that if the processor computing power consumed by the program running unit whose running state has changed is too large, it means that the program running unit needs a long time to process the current frame of screen data, that is, the current computing power shortage may be more serious. Therefore, the processor's computing power resources are increased to a higher target computing power resource at this time to provide higher computing power, so that the processing of the current frame of screen data can be completed as soon as possible, thereby ensuring the smoothness and stability of the screen.
[0120] On the basis of the foregoing embodiments, how to obtain the condition library in advance is described. The condition library can be obtained by a method of pre-learning or training. For example, at least one program running unit for displaying a screen is determined; the probability of screen frame drops in different running states of at least one program running unit is determined; if the probability of screen frame drops corresponding to the target running state is greater than or equal to the probability threshold, the target running state is added to the condition library, and the target running state is any running state of at least one program running unit. That is, for at least one program running unit that displays a screen, in some running states, the screen may frequently drop frames. In this case, it is necessary to increase the computing power resources of the processor, so these target running states with frequent frame drops are added to the condition library. In other running states, the screen frame drops are less or can be ignored, so these running states can be considered as running states of program running units that can guarantee the screen display performance, and there is no need to add them to the condition library. The probability of frame dropping in different running states of at least one program running unit can be obtained through a pre-trained prediction model. The different running states of at least one program running unit are respectively input into the pre-trained prediction model to obtain the probability of frame dropping in different running states of at least one program running unit. The pre-trained prediction model can be obtained by training an initial prediction model through the running state corresponding to at least one sample screen.
[0121] Through the conditional library, the running status of the display-related target program running unit can be matched, and whether the processor's computing power resources need to be increased frame by frame can be determined. There is no need for the application to trigger through a specific display scene, so there is no need for the cooperation of third-party manufacturers, and there is no need to maintain a long-term increase in the processor's operating frequency. The stability of the display frame rate is improved, and the phenomenon of jamming and frame drops is reduced. At the same time, it also avoids excessive power consumption of mobile terminals and waste of processor computing power. At the same time, increasing the processor's computing power resources in a short period of time also prevents the processor from heating up too quickly.
[0122] Figure 4 is a schematic diagram of the structure of a display processing device provided according to an embodiment of the present application. Figure 4 As shown, the display processing device 400 includes:
[0123] A monitoring module 401 is used to monitor a target program running unit for displaying a current frame;
[0124] The computing power module 402 is used to increase the computing power resources of the processor when the running state of the target program running unit meets the preset conditions, and restore the computing power resources of the processor to the computing power resources before the increase after the current frame image processing is completed.
[0125] Optionally, the computing power module 402 is used to:
[0126] Matching the running state of the target program running unit with a preset condition library, wherein the condition library includes the running state of the program running unit that triggers the increase of the computing power resources of the processor;
[0127] If there is an operating state of a program running unit matching the operating state of the target program running unit in the condition library, the computing power resources of the processor are increased.
[0128] Optionally, the computing power module 402 is used to:
[0129] determining whether the running state of each program running unit in the target program running unit has changed;
[0130] When the running state of at least one program running unit in the target program running unit changes, matching the running state of the changed program running unit with the condition library;
[0131] If there is an operating state of the program running unit matching the operating state of the changed program running unit in the condition library, the computing power resources of the processor are increased.
[0132] Optionally, the computing power module 402 is used to:
[0133] Determine the processor computing power consumed by each program execution unit in the target program execution unit;
[0134] If the processor computing power consumed by each program running unit is greater than the computing power threshold corresponding to each program running unit, it is determined that the running state of each program running unit has changed.
[0135] Optionally, the computing power module 402 is used to:
[0136] Determine the target computing power resource of the processor according to the processor computing power consumed by the program running unit whose running state has changed;
[0137] Increase the processor's computing power to the target computing power.
[0138] Optionally, the processor computing power consumed by the program running unit whose running state has changed is positively correlated with the target computing power resource.
[0139] Optionally, the display processing device 400 further includes: a condition library construction module; the condition library construction module is used to:
[0140] Determining at least one program execution unit for displaying a picture;
[0141] Determine the probability of frame drops when at least one program running unit is in different running states;
[0142] If the probability of frame drop corresponding to the target running state is greater than or equal to the probability threshold, the target running state is added to the condition library, and the target running state is any running state of at least one program running unit.
[0143] Optionally, the Conditional Library building block is used to:
[0144] Different running states of at least one program running unit are respectively input into a pre-trained prediction model to obtain the probability of frame drops when the at least one program running unit is in different running states. The prediction model is obtained by training an initial prediction model through the running state corresponding to at least one sample screen.
[0145] The above-mentioned device provided in the implementation of this application can be used to execute the display processing method in any of the aforementioned method embodiments. Its implementation principle and technical effects are similar and will not be repeated here.
[0146] The present application also provides a mobile terminal, which includes a memory and a processor. The memory stores a display processing program, and when the display processing program is executed by the processor, the steps of the display processing method in any of the above embodiments are implemented.
[0147] The present application also provides a computer-readable storage medium, on which a computer program is stored. When the computer program is executed by a processor, the steps of the display processing method in any of the above embodiments are implemented.
[0148] In the embodiments of the mobile terminal and computer-readable storage medium provided in the present application, all technical features of any of the above-mentioned display processing method embodiments may be included, and the expanded and explained contents of the specification are basically the same as those of the embodiments of the above-mentioned methods, and will not be repeated here.
[0149] The embodiment of the present application further provides a computer program product, which includes a computer program code. When the computer program code runs on a computer, the computer executes the methods in the above various possible implementation modes.
[0150] An embodiment of the present application also provides a chip, including a memory and a processor, the memory is used to store a computer program, and the processor is used to call and run the computer program from the memory, so that a device equipped with the chip executes the methods in various possible implementation modes as described above.
[0151] It is understood that the above scenarios are only examples and do not constitute a limitation on the application scenarios of the technical solutions provided in the embodiments of the present application. The technical solutions of the present application can also be applied to other scenarios. For example, it is known to those skilled in the art that with the evolution of the system architecture and the emergence of new business scenarios, the technical solutions provided in the embodiments of the present application are also applicable to similar technical problems.
[0152] The serial numbers of the above-mentioned embodiments of the present application are for description only and do not represent the advantages or disadvantages of the embodiments.
[0153] The steps in the method of the embodiment of the present application can be adjusted in order, combined and deleted according to actual needs.
[0154] The units in the device of the embodiment of the present application can be merged, divided and deleted according to actual needs.
[0155] In the present application, the same or similar terminology concepts, technical solutions and / or application scenario descriptions are generally described in detail only the first time they appear. When they appear again later, they are generally not repeated for the sake of brevity. When understanding the technical solutions and other contents of the present application, for the same or similar terminology concepts, technical solutions and / or application scenario descriptions that are not described in detail later, reference can be made to the previous related detailed descriptions.
[0156] In the present application, the description of each embodiment has its own emphasis. For parts that are not described or recorded in detail in a certain embodiment, reference can be made to the relevant descriptions of other embodiments.
[0157] The various technical features of the technical solution of the present application can be arbitrarily combined. In order to make the description concise, not all possible combinations of the various technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of the present application.
[0158] Through the description of the above implementation methods, those skilled in the art can clearly understand that the above-mentioned embodiment methods can be implemented by means of software plus a necessary general hardware platform, and of course by hardware, but in many cases the former is a better implementation method. Based on such an understanding, the technical solution of the present application, or the part that contributes to the prior art, can be embodied in the form of a software product, which is stored in a storage medium (such as ROM / RAM, magnetic disk, optical disk) as above, and includes a number of instructions for a terminal device (which can be a mobile phone, a computer, a server, a controlled terminal, or a network device, etc.) to execute the method of each embodiment of the present application.
[0159] In the above embodiments, it can be implemented in whole or in part by software, hardware, firmware or any combination thereof. When implemented using software, it can be implemented in whole or in part in the form of a computer program product. The computer program product includes one or more computer instructions. When loading and executing computer program instructions on a computer, the process or function according to the embodiment of the present application is generated in whole or in part. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable devices. The computer instructions can be stored in a computer-readable storage medium, or transmitted from one computer-readable storage medium to another computer-readable storage medium. For example, the computer instructions can be transmitted from a website site, a computer, a server or a data center by wired (e.g., coaxial cable, optical fiber, digital subscriber line) or wireless (e.g., infrared, wireless, microwave, etc.) mode to another website site, computer, server or data center. The computer-readable storage medium can be any available medium that a computer can access or a data storage device such as a server, a data center, etc. that contains one or more available media integrated. The available medium can be a magnetic medium, (e.g., a floppy disk, a storage disk, a tape), an optical medium (e.g., a DVD), or a semiconductor medium (e.g., a solid-state storage disk Solid State Disk (SSD)), etc.
[0160] The above are only preferred embodiments of the present application, and are not intended to limit the patent scope of the present application. Any equivalent structure or equivalent process transformation made using the contents of the present application specification and drawings, or directly or indirectly applied in other related technical fields, are also included in the patent protection scope of the present application.
Claims
1. A display processing method, characterized in that: include: Monitor the target program running unit for displaying the current frame; Determining whether the running state of each program running unit in the target program running unit changes; When the running state of at least one program running unit in the target program running unit changes, the running state of the changed program running unit is matched with a preset condition library, wherein the condition library includes the running state of the program running unit that triggers the increase of the computing power resources of the processor; If there is an operating state of the program running unit matching the operating state of the changed program running unit in the condition library, the computing power resources of the processor are increased, and after the current frame image processing is completed, the computing power resources of the processor are restored to the computing power resources before the increase; The determining whether the running state of each program running unit in the target program running unit has changed includes: determining the processor computing power consumed by each program running unit in the target program running unit; If the processor computing power consumed by each program running unit is greater than the computing power threshold corresponding to each program running unit, it is determined that the running state of each program running unit has changed.
2. The method according to claim 1, characterized in that The increasing the computing power resources of the processor includes: Determining a target computing power resource of the processor according to the processor computing power consumed by the program running unit whose running state has changed; The computing power resources of the processor are increased to the target computing power resources.
3. The method according to claim 2, characterized in that The processor computing power consumed by the program running unit whose running state has changed is positively correlated with the target computing power resource.
4. The method according to any one of claims 1 to 3, characterized in that The method further comprises: Determining at least one program execution unit for displaying a picture; Determining the probability of frame drops when the at least one program running unit is in different running states; If the probability of frame drop corresponding to the target operating state is greater than or equal to the probability threshold, the target operating state is added to the condition library.
5. The method according to claim 4, characterized in that The determining of the probability of frame drops when the at least one program running unit is in different running states includes: Different running states of the at least one program running unit are respectively input into a pre-trained prediction model to obtain the probability of frame drops when the at least one program running unit is in different running states.
6. A mobile terminal, characterized in that: The mobile terminal comprises: a memory and a processor, wherein a display processing program is stored in the memory, and when the display processing program is executed by the processor, the steps of the display processing method according to any one of claims 1 to 5 are implemented.
7. A readable storage medium, characterized in that: The readable storage medium stores a computer program, and when the computer program is executed by a processor, the steps of the display processing method according to any one of claims 1 to 5 are implemented.
Citation Information
Patent Citations
Resource configuration method and device, terminal and storage medium
CN109582463A
Resource scheduling method and device, equipment and storage medium
CN111666140A