Mobile phone application power consumption control method based on GPU rendering optimization and related equipment
By obtaining light and motion state information, combining deep learning models to determine the mobile phone usage scenarios, and dynamically adjusting the GPU rendering parameters, solving the problem of excessive power consumption in the existing technology, extending the mobile phone battery life and improving the user experience.
Patent Information
- Application Number
- CN202510724307.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-06-03
- Publication Date
- 2025-07-04
- Estimated Expiration
- Not applicable · inactive patent
AI Technical Summary
The existing power consumption control methods for mobile phone applications cannot accurately adapt to different usage scenarios, resulting in excessive power consumption of GPU rendering, affecting battery life and user experience.
By obtaining light intensity, mobile phone motion status and position information, the mobile phone usage scenario model trained by deep learning determines the preliminary usage scenario, and combines the location information to determine the comprehensive usage scenario, and dynamically adjusts the GPU rendering optimization parameters, including frame rate, resolution, brightness and color saturation, etc. to meet the needs of different scenarios.
It realizes dynamic adjustment of GPU rendering strategy based on actual usage scenarios, reduce unnecessary power consumption, extend battery life, improve user experience, and protect mobile phone hardware in high-temperature environments to avoid lag and heating problems.
Smart Images

Figure CN120264400A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the technical field of electronic digital data processing, and in particular, to a method and related device for controlling the power consumption of mobile applications based on GPU rendering optimization. Background Art
[0002] In the era of mobile Internet, the functions of mobile applications are becoming increasingly complex, and the requirements for graphics processing capabilities are constantly increasing. The GPU (Graphics Processing Unit) plays a key role in the operation of mobile applications. However, the high-intensity operation of the GPU will cause a significant increase in the power consumption of the mobile phone, affecting the battery life, causing heat problems, and reducing the user experience.
[0003] Existing methods for controlling the power consumption of mobile applications mainly adopt a fixed strategy method, and manage GPU rendering through preset power consumption control parameters. For example, some mobile phone systems provide a "power saving mode", which realizes power consumption control by uniformly reducing the rendering frame rate of the GPU, reducing the resolution, or reducing special effects; there are also some systems that will automatically start strategies for reducing the frequency or restricting the operation of background applications when detecting an increase in the temperature of the mobile phone. These methods have alleviated the problem of excessive power consumption of mobile phones to a certain extent.
[0004] However, the existing fixed-strategy power consumption control methods cannot accurately adapt to different usage scenarios, and it is difficult to balance the relationship between power consumption and user experience. For example, when the user uses the mobile phone in an indoor rest state, the system may still maintain high-frame-rate rendering, resulting in unnecessary power consumption. Therefore, the traditional method has the problem of a single application scenario and is difficult to dynamically adjust according to different situations in real time. Summary of the Invention
[0005] This application provides a method and related device for controlling the power consumption of mobile applications based on GPU rendering optimization, which is used to flexibly adjust the GPU rendering strategy according to the dynamic changes of the actual usage scenario of the mobile phone.
[0006] In a first aspect, this application provides a method for controlling the power consumption of mobile applications based on GPU rendering optimization, which is applied to a server. The method includes: obtaining light intensity data, mobile phone motion state information, and mobile phone location information; combining the light intensity data and the mobile phone motion state information, and determining the current preliminary usage scenario of the mobile phone through a mobile phone usage scenario model. The preliminary usage scenario includes a rest scenario and an outdoor scenario. The mobile phone usage scenario model is obtained through deep learning training in advance according to multiple sets of light intensity data and mobile phone motion state information annotated with usage scenario information; combining the mobile phone location information and the preliminary usage scenario to determine the comprehensive usage scenario; determining GPU rendering optimization parameters according to the comprehensive usage scenario; obtaining the current GPU rendering parameters, and adjusting the current GPU rendering parameters to the final GPU rendering parameters through the GPU rendering optimization parameters to adjust the power of the mobile phone.
[0007] By adopting the above technical solution, after obtaining the light intensity, the motion state and the location information of the mobile phone, the preliminary usage scenario is determined by using a pre-trained mobile phone usage scenario model, and then the comprehensive usage scenario is determined in combination with the location information. The GPU performance requirements are different in different scenarios. For example, the rendering requirement is low in the rest scenario and high in the outdoor scenario. Based on the comprehensive scenario, the rendering optimization parameters are determined and the current rendering parameters are adjusted, so that the GPU performance can adapt to the scenario requirements. It avoids over-rendering or under-rendering of the GPU, reduces unnecessary power consumption, and thus effectively adjusts the power of the mobile phone and prolongs the battery life of the mobile phone.
[0008] In combination with some embodiments of the first aspect, in some embodiments, it further includes: obtaining user operation habit data, where the user operation habit data at least includes the application type, the operation time interval and the operation frequency of the user on the application; in combination with the user operation habit data, the application that the user is going to use during a set period is determined through a user behavior prediction model, and the user behavior prediction model is pre-trained through deep learning based on the time data of the user using the application; within a set time before the set period, the GPU is controlled to perform pre-rendering on the application.
[0009] By adopting the above technical solution, the user operation habit data is obtained, and with the help of a pre-trained user behavior prediction model, the application that the user is going to use during a set period can be predicted. The GPU is controlled to perform pre-rendering on the application before the set period. In this way, when the user opens the application, since it has been pre-rendered, the application can respond quickly and run smoothly, reducing the user waiting time and improving the user experience. At the same time, pre-rendering can reasonably allocate GPU resources, avoid a large amount of rendering work being carried out temporarily when the user opens the application, and reduce the instantaneous power consumption.
[0010] In combination with some embodiments of the first aspect, in some embodiments, in the step of determining the comprehensive usage scenario by combining the location information of the mobile phone and the preliminary usage scenario, it specifically includes: if the preliminary usage scenario information is the rest scenario and the location information of the mobile phone shows that it is within the range of the user's residential address, then the comprehensive usage scenario is determined to be the rest scenario; if the preliminary usage scenario information is the outdoor scenario and the location information of the mobile phone shows that it is in a public outdoor place, then the comprehensive usage scenario is determined to be the outdoor scenario; if the preliminary usage scenario and the location information of the mobile phone do not match, a usage scenario selection reminder is sent to the mobile phone screen, and in response to the usage scenario selection data, the comprehensive usage scenario is determined according to the usage scenario selection data.
[0011] By adopting the above technical solutions, when determining the comprehensive usage scenario, a matching judgment is made based on the preliminary usage scenario and the mobile phone location information. When the two match, the scenario can be accurately determined; when they do not match, a selection reminder is sent to the mobile phone screen. Accurate scenario determination can provide a precise basis for subsequent GPU rendering optimization. Since the optimization directions of the GPU are different in different scenarios, if the scenario is misjudged, the optimization parameters may not be applicable, resulting in increased power consumption of the mobile phone or poor display effects. In this way, it can be ensured that the determined comprehensive usage scenario conforms to the actual situation, laying a foundation for subsequent optimization.
[0012] Combined with some embodiments of the first aspect, in some embodiments, the step of determining the GPU rendering optimization parameters according to the comprehensive usage scenario specifically includes: if the comprehensive usage scenario is a rest scenario, it is determined that the GPU rendering optimization parameters include a GPU rendering frame rate optimization parameter and a screen resolution optimization parameter. The GPU rendering frame rate optimization parameter is used to reduce the rendering frame rate of the GPU to a preset frame rate range, and the screen resolution optimization parameter is used to reduce the screen resolution to a preset resolution; if the comprehensive usage scenario is an outdoor scenario, it is determined that the GPU rendering optimization parameters include a brightness value optimization parameter, a contrast optimization parameter, and a color saturation optimization parameter. The brightness value optimization parameter is used to increase the brightness of the mobile phone screen image to a preset brightness value, the contrast optimization parameter is used to increase the contrast of the mobile phone screen image to a preset contrast, and the color saturation optimization parameter is used to increase the color saturation of the mobile phone screen image to a preset color saturation.
[0013] By adopting the above technical solutions, the GPU rendering optimization parameters are determined according to the comprehensive usage scenario. In the rest scenario, reducing the rendering frame rate and screen resolution reduces the computing amount and data processing amount of the GPU, reducing the power consumption of the GPU. At the same time, in the rest scenario, the user's requirement for the picture quality is relatively low, and such adjustments will not have too much impact on the user experience. In the outdoor scenario, increasing the brightness, contrast, and color saturation can make the mobile phone screen clearer and more visible in the outdoor environment, enhancing the user's visual experience. Moreover, targeted optimization for different scenarios can make reasonable use of GPU resources and reduce unnecessary power consumption.
[0014] Combined with some embodiments of the first aspect, in some embodiments, if the comprehensive usage scenario is an outdoor scenario, the method further includes: obtaining the outdoor environmental temperature value and the current mobile phone temperature value; combining the outdoor environmental temperature value and the current mobile phone temperature value, and adjusting the GPU rendering optimization parameters according to a preset temperature-power consumption adjustment strategy.
[0015] By adopting the above technical solution, the outdoor environmental temperature and the current mobile phone temperature value are obtained, and the GPU rendering optimization parameters are adjusted according to a preset strategy. Temperature can affect the performance and power consumption of a mobile phone. In a high-temperature environment, it is difficult for the mobile phone to dissipate heat. If the GPU operates at a high load, it will further exacerbate the heat generation, resulting in increased power consumption and even affecting the lifespan of the mobile phone. By adjusting the optimization parameters in combination with the temperature value, while ensuring the picture display effect, it is possible to prevent the GPU from overworking due to high temperature, reduce the power consumption of the mobile phone, protect the mobile phone hardware, and extend the service life of the mobile phone.
[0016] In combination with some embodiments of the first aspect, in some embodiments, in the step of combining the outdoor environmental temperature value and the current mobile phone temperature value and adjusting the GPU rendering optimization parameters according to a preset temperature-power consumption adjustment strategy, it specifically includes: if the outdoor environmental temperature value is higher than the outdoor temperature threshold and the current mobile phone temperature value is higher than the mobile phone temperature threshold, the GPU rendering optimization parameters are reduced according to a first set value.
[0017] By adopting the above technical solution, when both the outdoor environmental temperature and the current mobile phone temperature are higher than the threshold, the GPU rendering optimization parameters are reduced. High temperature will cause the performance of the mobile phone to decline and the power consumption to increase. At this time, reducing the GPU rendering parameters reduces the computing volume and heat generation of the GPU, which can relieve the heat dissipation pressure of the mobile phone. It prevents the mobile phone from experiencing a significant decline in performance due to overheating, and even situations such as freezing and crashing. At the same time, reducing the rendering parameters can also reduce the power consumption, enabling the mobile phone to operate more stably in a high-temperature environment and improving the user experience of using the mobile phone in an outdoor high-temperature environment.
[0018] In combination with some embodiments of the first aspect, in some embodiments, after the step of adjusting the current GPU rendering parameters to the final GPU rendering parameters through the GPU rendering optimization parameters, it further includes: continuously monitoring the running status of mobile phone applications, where the running status at least includes operation lag and abnormal application response; if operation lag occurs in the running status, the final GPU rendering parameters are gradually called back according to a second set value until the operation lag phenomenon is alleviated; if abnormal application response occurs in the running status, diagnose the application program currently used by the user to determine the cause of the problem; if the cause of the problem matches the adjustment of the GPU rendering intensity, control the GPU to return to the previous stable GPU rendering parameters, and push a reminder message to the user, where the reminder message is used to suggest that the user temporarily close non-essential background applications to reduce the load on the mobile phone.
[0019] By adopting the above technical solution, continuously monitor the running status of the mobile application after adjusting to the final GPU rendering parameters. When there is an operation lag, call back the parameters to promptly restore the fluency of the application and avoid affecting the user operation experience due to excessive adjustment of the rendering parameters. When there is an abnormal response of the application, conduct a diagnosis. If it is related to the adjustment of the GPU rendering intensity, restore to the stable parameters and remind the user to close the background applications. This can ensure the normal operation of the application, prevent the application from being unable to be used normally due to rendering problems, and at the same time remind the user to reasonably manage the mobile phone resources, further reduce the power consumption of the mobile phone, and improve the overall performance.
[0020] In a second aspect, the present application provides a server, which includes: one or more processors and a memory; the memory is coupled to the one or more processors, and the memory is used to store computer program code, and the computer program code includes computer instructions. The one or more processors call the computer instructions to enable the server to execute the method described in the first aspect and any possible implementation manner in the first aspect.
[0021] In a third aspect, the present application provides a computer-readable storage medium, including instructions that, when running on a server, enable the server to execute the method described in the first aspect and any possible implementation manner in the first aspect.
[0022] In a fourth aspect, the present application provides a computer program product that, when running on a server, enables the server to execute the method described in the first aspect and any possible implementation manner in the first aspect.
[0023] One or more technical solutions provided in the embodiments of the present application have at least the following technical effects or advantages: 1. By adopting the technical means of obtaining the light intensity, the motion state and position information of the mobile phone, determining the preliminary usage scenario using the mobile phone usage scenario model trained by deep learning, then determining the comprehensive usage scenario in combination with the position information, and adjusting the GPU rendering parameters accordingly, the technical problem in the prior art that the mobile phone GPU rendering cannot be adapted to the actual usage scenario and causes excessive power consumption is effectively solved. Furthermore, the technical effect of enabling the GPU performance to adapt to the scenario requirements, reducing unnecessary power consumption, effectively regulating the power of the mobile phone, and extending the battery life of the mobile phone is achieved.
[0024] 2. By adopting the technical means of obtaining user operation habit data, using a user behavior prediction model trained by deep learning to predict the applications to be used by the user during the set time period, and controlling the GPU for rendering in advance, the technical problem in the prior art of slow response and high power consumption caused by temporary rendering when an application is opened is effectively solved. Furthermore, the technical effects of fast response and smooth operation of the application are achieved, the waiting time of the user is reduced, the user experience is improved, and at the same time, the GPU resources are reasonably allocated and the instantaneous power consumption is reduced.
[0025] 3. By adopting the technical means of calling back the GPU rendering intensity, diagnosing problems and reminding the user to close background applications when the mobile phone has operation lags or abnormal application responses, the technical problem in the prior art of poor user experience caused by the adjustment of the GPU rendering intensity is effectively solved. Furthermore, the technical effects of ensuring the stable operation of the mobile phone, improving the user experience, optimizing the GPU power consumption and enhancing the overall use value of the mobile phone are achieved. Brief Description of the Drawings
[0026] Figure 1 is a schematic flowchart of a method for controlling the power consumption of mobile phone applications based on GPU rendering optimization in an embodiment of the present application; Figure 2 is another schematic flowchart of a method for controlling the power consumption of mobile phone applications based on GPU rendering optimization in an embodiment of the present application; Figure 3 is a schematic structural diagram of an entity device of a server in an embodiment of the present application. Detailed Embodiments
[0027] The terms used in the following embodiments of the present application are only for the purpose of describing specific embodiments and are not intended to limit the present application. As used in the specification and appended claims of the present application, the singular forms "a", "an", "the", "above", "said", "this" are also intended to include the plural forms unless the context clearly dictates otherwise. It should also be understood that the term "and / or" used in the present application refers to and includes any or all possible combinations of one or more of the listed items.
[0028] Hereinafter, the terms "first" and "second" are only used for descriptive purposes and cannot be construed as implying or indicating relative importance or implicitly specifying the quantity of the indicated technical features. Thus, features defined with "first" and "second" may explicitly or implicitly include one or more of such features. In the description of the embodiments of the present application, unless otherwise stated, the meaning of "a plurality" is two or more.
[0029] For ease of understanding, the method provided in this embodiment is described in terms of its process below. Please refer to Figure 1, which is a schematic flowchart of a mobile application power consumption control method based on GPU rendering optimization in an embodiment of the present application.
[0030] S101. Obtain light intensity data, mobile phone motion state information, and mobile phone location information; The server obtains light intensity data by means of a light sensor built into the mobile phone. Currently, common light sensors are mostly photodiodes or complementary metal oxide semiconductor (CMOS) image sensors. Taking a photodiode as an example, it can convert a light signal into an electrical signal. The stronger the light, the greater the generated current. The server can obtain the corresponding light intensity value by reading the digital signal output by the connected analog-to-digital converter (ADC). Light sensors, accelerometers, gyroscopes, GPS positioning devices, etc. in the mobile phone continuously collect various data of the surrounding environment and the mobile phone's own state. The light sensor constantly monitors the environmental light intensity, converts the light signal into an electrical signal, and then transmits it to the mobile phone server through a specific data transmission channel, enabling the server to know the environmental light conditions in real time.
[0031] It should be noted that the server in the present application refers to the mobile phone server, which is communicatively connected to multiple sensors of the mobile phone and can obtain various data collected by the sensors in real time.
[0032] In addition, the server can also improve the accuracy by combining the spatial distribution data of the light sensors. For mobile phones with multiple light sensors, the server analyzes the data differences collected by sensors at different positions to judge the incident angle and direction of the light. In an outdoor scenario, if it is detected that the light strongly enters from a specific direction, it can be inferred that the mobile phone may be in a state of direct sunlight.
[0033] The server can also use the accelerometer and gyroscope in the mobile phone to obtain motion state information. The accelerometer is usually based on MEMS (microelectromechanical system) technology and measures acceleration by detecting the force generated by the internal mass block under the action of acceleration. Common accelerometers can measure the acceleration in three axes (x, y, z axes). The server reads these data in real time to understand the acceleration, deceleration, tilt, etc. of the mobile phone. The gyroscope also measures the angular velocity of an object based on MEMS technology. The server can calculate the rotation angle and rotation speed of the mobile phone according to the angular velocity data output by the gyroscope to determine whether the mobile phone is rotating and the direction and speed of rotation.
[0034] In addition, a motion mode recognition function can be added. Specifically, the server uses machine learning algorithms to train a large amount of accelerometer and gyroscope data under different motion modes to build a motion mode recognition model. These motion modes include walking, running, taking a vehicle, taking an elevator, etc. When the server obtains the real-time data of the accelerometer and gyroscope data, it quickly recognizes the current motion mode through this model.
[0035] In some embodiments, the server can also predict the movement trend of the mobile phone based on the data of the accelerometer and gyroscope. By analyzing the recent acceleration and angular velocity data and applying a prediction algorithm, it can anticipate the next movement of the mobile phone in advance. When it detects that the mobile phone has a rapid upward acceleration and is accompanied by a certain rotational angular velocity, it predicts that the mobile phone may be about to be picked up for viewing. The server wakes up the GPU in advance and adjusts it to appropriate rendering parameters, reducing the waiting time when the user views the mobile phone and avoiding maintaining a high-power consumption rendering state when it is unnecessary.
[0036] The server also obtains location information by means of the GPS positioning device built in the mobile phone. The basic principle of GPS positioning is to determine the position of the mobile phone by measuring the distance between the satellite and the mobile phone and using triangulation. The GPS chip in the mobile phone receives signals transmitted by multiple satellites, and the positions of these satellites in space are known. The satellite signals contain precise time information. The mobile phone can calculate the distance between the satellite and the mobile phone by measuring the propagation time of the signal from the satellite to the mobile phone and then multiplying it by the speed of light. Since the mobile phone needs to receive signals from at least 4 satellites to accurately calculate its three-dimensional position (longitude, latitude, altitude), the server processes these distance data and uses a specific algorithm to solve the position coordinates of the mobile phone.
[0037] S102. Combine the light intensity data and the mobile phone movement state information, and determine the preliminary usage scenario information of the current mobile phone through the mobile phone usage scenario model. The preliminary usage scenario information includes a rest scenario and an outdoor scenario. The mobile phone usage scenario model is pre-trained through deep learning based on multiple sets of light intensity data and mobile phone movement state information annotated with usage scenario information. The server takes the obtained light intensity data and mobile phone movement state information as inputs and passes them into the pre-trained mobile phone usage scenario model to determine the preliminary usage scenario information of the current mobile phone. This model is trained based on a deep learning algorithm using a large number of sets of light intensity data and mobile phone movement state information annotated with usage scenario information.
[0038] The specific process of constructing and training the mobile phone usage scenario model is as follows: Relevant personnel can pre-collect data using the sensors built in the mobile phone, including collecting light intensity data using a light sensor (such as a photodiode or a CMOS image sensor), obtaining movement state information using an accelerometer and a gyroscope, and determining location information using a GPS positioning device. In addition, multi-modal information such as sound data (through a microphone) and battery power data can also be collected. The specific types of data collected can be set according to the actual needs of users, but in this application, at least the data types of light intensity data and mobile phone movement state information are included in the collected data.
[0039] The relevant personnel then perform scenario annotation on the collected data by using the usage scenario information during data collection. The annotation work can be completed manually or assisted by some automated annotation tools, associating the light intensity data and the mobile phone motion state information with the corresponding usage scenarios (such as the rest scenario, the outdoor scenario), forming a dataset with usage scenario information annotation, and then sending the annotated dataset to the server. After receiving the dataset, the server arranges the data in the dataset into a multi-dimensional matrix form according to the time series, facilitating subsequent model processing. For example, arrange the light intensity changes, acceleration, and gyroscope data over a period of time into a matrix of a specific dimension in chronological order.
[0040] The server then constructs a mobile phone usage scenario model using a convolutional neural network (CNN). The CNN consists of components such as convolutional layers, pooling layers, and fully connected layers. The convolutional layer is one of the core components of the CNN. It slides a convolutional kernel over the input data to perform a convolution operation on the data, thereby extracting local features in the data. For example, when processing light intensity data, the convolutional kernel can capture the change patterns of the light intensity, such as a sudden increase or decrease in light; for motion state data, the convolutional kernel can extract features such as the amplitude and frequency of the motion. The parameters of the convolutional layer include the size, number, and stride of the convolutional kernel, and the selection of these parameters will affect the extraction effect of the convolutional layer on data features. The pooling layer usually follows the convolutional layer immediately. Its main function is to perform dimensionality reduction on the feature map output by the convolutional layer, reducing the amount of data while retaining key features. Common pooling operations include max pooling and average pooling. Max pooling selects the maximum value in the feature map as the input for the next layer, and average pooling calculates the average value of the region in the feature map as the output. The introduction of the pooling layer can reduce the computational amount of the model, improve the training efficiency of the model, and prevent overfitting to a certain extent. The fully connected layer is located at the end of the CNN. It integrates the feature vectors output by the pooling layer and maps them to different usage scenario categories. The number of neurons in the fully connected layer is determined according to the number of output scenario categories, and the input feature vector is associated with the output scenario through a weight matrix, finally outputting the prediction probabilities of each scenario.
[0041] The server divides the annotated dataset into a training set, a validation set, and a test set, generally in the ratio of 60%-20%-20% or 70%-15%-15%. The training set is used for model training, enabling the model to learn the relationship between data features and usage scenarios; the validation set is used to evaluate the performance of the model during training, adjust the hyperparameters of the model, and prevent the model from overfitting; the test set is used to finally evaluate the generalization ability and accuracy of the model after the model training is completed. When dividing the dataset, it is necessary to ensure that the data distributions of each subset are similar, avoiding the situation where the data of a certain subset is too special or biased towards a specific scenario.
[0042] Before inputting data into the model, it is necessary to preprocess the data. The purpose of preprocessing is to make the data more suitable for model training and improve the training efficiency and accuracy of the model. For numerical data such as light intensity data and mobile phone motion state information, a common preprocessing method is normalization. Normalization maps the data to a specific interval, such as [0, 1] or [-1, 1], so that data with different features have the same scale. This can avoid some features having too much influence on model training due to a large numerical range.
[0043] After determining the training data of the model, determine the training parameters. These parameters include the number of training epochs and the learning rate. These two model training parameters can be set according to the accuracy of the model and are not limited here. After determining the training parameters, input the training set data into the CNN model in the form of a preprocessed multi-dimensional matrix for forward propagation. In the convolutional layer, the convolutional kernel slides on the input data according to the set stride and performs a convolution operation on the data. The convolution operation obtains the output feature map of the convolutional layer by multiplying the weights of the convolutional kernel with the corresponding elements of the input data and summing them, and then adding the bias term. Different convolutional kernels can extract different features. For example, one convolutional kernel may be sensitive to changes in light intensity, and another convolutional kernel may be better at capturing rapid changes in the motion state. Multiple convolutional kernels work in parallel to extract a rich variety of features. The pooling layer performs dimensionality reduction on the feature map output by the convolutional layer. Taking max pooling as an example, it divides the feature map into multiple non-overlapping regions and selects the maximum value in each region as the output of the pooling layer. This can reduce the amount of data and the computational complexity of the model while retaining key features. After alternating processing through multiple convolutional layers and pooling layers, the features of the data are gradually extracted and compressed. Finally, the fully connected layer integrates the feature vectors output by the pooling layer and maps them to different usage scenario categories through a weight matrix. The output of the fully connected layer is the prediction probability of each scenario, and these probability values represent the likelihood that the model believes the input data belongs to each scenario. Finally, an appropriate loss function is used to measure the difference between the model prediction result and the true annotation. The cross-entropy loss function can effectively measure the difference between two probability distributions. The smaller its value, the closer the model prediction result is to the true annotation. If the difference value does not meet the requirements, adjust the training parameters of the model and repeat the above training process until the difference value reaches the preset difference value requirement, which means that the construction of a complete mobile phone usage scenario model is successful.
[0044] During the subsequent use of the model, input data can be collected through the built-in sensors of the mobile phone when the user uses the mobile phone. The input data includes the current light intensity data detected by the sensors in the mobile phone and the current mobile phone motion state information when the user uses the mobile phone. When the input data is input into the trained mobile phone usage scenario model, the mobile phone usage scenario information matching the current light intensity data and the current mobile phone motion state information will be output.
[0045] S103. Determine the comprehensive usage scenario by combining the mobile phone location information and the preliminary usage scenario information; When the preliminary usage scenario information is the rest scenario, the server will compare the mobile phone location information with the pre-stored user residential address information. The server will maintain a user information database, which contains the longitude and latitude coordinates of each user's residential address. The server uses a geographic distance calculation algorithm, such as the Haversine formula, to calculate the distance between the current location of the mobile phone and the residential address. If the distance is less than a preset threshold (for example, 100 meters), it is considered that the mobile phone location is within the user's residential address range. At this time, the server will determine the comprehensive usage scenario as the rest scenario and store this result in the database. In addition, the server can dynamically adjust the threshold for matching the residential address according to the user's historical activity patterns. For example, if the user often moves within a small area near the residential address (such as taking a walk in the community), the server can appropriately increase the threshold; if the user's living environment is more complex and there are similar buildings or places around, the server can reduce the threshold to improve the matching accuracy. In addition to GPS positioning information, the server can also combine Wi-Fi positioning information and base station positioning information for comprehensive judgment. For example, if the mobile phone is connected to the Wi-Fi network at the user's home and the GPS positioning shows that it is near the residential address, then it can be more reliably determined as the rest scenario.
[0046] If the preliminary usage scenario information is the outdoor scenario, the server needs to determine whether the mobile phone location is in an outdoor public place. The server will maintain a database containing the location information of various outdoor public places, such as the longitude and latitude ranges of parks, shopping malls, squares, etc. The server uses a geospatial query algorithm to determine whether the longitude and latitude coordinates of the mobile phone fall within the range of a certain outdoor public place.
[0047] Specifically, the server will start a geospatial query module, which reads the mobile phone location information from the data buffer and compares it with the outdoor public place database. If a matching public place is found, the server will determine the comprehensive usage scenario as the outdoor scenario and store the result in the database. The server can perform real-time data interaction with the relevant Geographic Information System (GIS) platform to update the location information of outdoor public places in a timely manner. For example, when a new shopping mall opens or a park is expanded, the server can obtain the latest location range in a timely manner to improve the accuracy of scenario judgment.
[0048] When the initial usage scenario information does not match the mobile phone location information, the server will send a usage scenario selection reminder to the mobile phone screen. The server sends a data packet containing the reminder information to the mobile phone through the network. After receiving the data packet, the mobile phone displays the reminder information on the screen in the form of a pop-up window. At the same time, the server sets up a retry mechanism. If the first reminder information sending fails, it will retry after a certain time interval until the sending is successful or the maximum retry count is reached. In addition, when sending the usage scenario selection reminder, the server can provide intelligent recommendation options based on the user's historical usage scenario data and the current environmental information. For example, if the user is historically often in the work scenario in the current time period and near the location, the work scenario can be preferentially displayed as a recommended option in the reminder. Above, through a series of technical means, the server combines the mobile phone location information and the initial usage scenario information to accurately determine the comprehensive usage scenario.
[0049] S104. Adjust the GPU rendering optimization parameters according to the comprehensive usage scenario.
[0050] Based on the determined comprehensive usage scenario, the server makes targeted adjustments to the GPU rendering optimization parameters to achieve the purpose of power consumption control and user experience improvement. Specifically, if the comprehensive usage scenario is the rest scenario, the server will reduce the GPU rendering frame rate to the preset low frame rate range and at the same time adjust the screen resolution to the preset low resolution to reduce the GPU workload and power consumption. If the comprehensive usage scenario is the outdoor scenario, the server increases the screen brightness to the preset high brightness value, increases the contrast and color saturation according to the preset values to make the picture clearer, adapts to the outdoor environment, and guarantees the user's visual experience. This step will be described in detail in steps S201 - S202 and will not be elaborated here.
[0051] S105. Obtain the current GPU rendering parameters, and adjust the current GPU rendering parameters to the final GPU rendering parameters through the GPU rendering optimization parameters to adjust the power of the mobile phone.
[0052] With the help of relevant interfaces provided by the mobile phone operating system, the server can obtain the rendering parameters currently being used by the mobile phone GPU. These parameters cover multiple aspects such as rendering frame rate, screen resolution, brightness, contrast, and color saturation, which reflect the current working state of the GPU when rendering the mobile phone application screen. When the comprehensive usage scenario is the rest scenario, to reduce power consumption, the GPU rendering frame rate optimization parameter is set to be reduced to the preset frame rate range, and at the same time, the screen resolution optimization parameter is set to be reduced to the preset resolution. If the comprehensive usage scenario is the outdoor scenario, to ensure that the screen is clearly visible under strong outdoor light, the brightness value optimization parameter is determined to increase the brightness of the mobile phone screen image to the preset brightness value, the contrast optimization parameter is used to increase the contrast to the preset contrast, and the color saturation optimization parameter is used to increase the color saturation to the preset color saturation.
[0053] The server compares and calculates the obtained current GPU rendering parameters with the determined GPU rendering optimization parameters, and sends an adjustment instruction to the GPU through the graphics API provided by the mobile phone operating system. Taking OpenGLES as an example, the server calls relevant functions to modify the parameters in the rendering pipeline to achieve the adjustment of parameters such as rendering frame rate, resolution, brightness, contrast, and color saturation, and gradually adjusts the current GPU rendering parameters to the final GPU rendering parameters. Through the above adjustments, the computing amount and workload of the GPU change. In the rest scenario, reducing the rendering frame rate and resolution reduces the data processing amount and computing times of the GPU, thereby reducing the power consumption of the GPU and further reducing the overall power of the mobile phone. In the outdoor scenario, although the brightness, contrast, and color saturation are increased, by reasonably adjusting other parameters, the workload of the GPU is balanced, avoiding unnecessary power consumption increase, and also achieving effective regulation of the mobile phone power. In this way, by optimizing the GPU rendering parameters according to different scenarios, the purpose of reducing the power consumption of the mobile phone and extending the battery life is finally achieved.
[0054] In the embodiments of this application, multi-source data is obtained through a light sensor, an accelerometer, a gyroscope, and a GPS positioning device, and the usage scenario is determined by combining the mobile phone usage scenario model trained by deep learning. Then, the GPU rendering optimization parameters are adjusted to accurately identify the mobile phone usage scenario and optimize the GPU rendering power consumption for different scenarios. This not only effectively solves the technical problem that the GPU rendering power consumption of mobile phones cannot be accurately controlled in the prior art, reduces the power consumption of mobile phones and extends the battery life, but also accurately determines the comprehensive usage scenario by matching the preliminary usage scenario information and the mobile phone location information, and sends a reminder when there is no match, accurately judges the usage scenario, ensures the accuracy of GPU rendering optimization, and improves the mobile phone power consumption control effect.
[0055] In some embodiments, the server can also obtain user operation habit data, which at least includes operation time intervals, operation frequencies, and operation types. Specifically, the server can obtain user operation habit data in various ways. First, on the mobile phone side, the system records various operation behaviors of the user, including operation types such as clicks, swipes, and long presses, as well as the timestamps of each operation. These data are uploaded to the server in real time or at regular intervals. To accurately obtain the operation time intervals and operation frequencies, the server analyzes and calculates the uploaded timestamp data. For example, for a series of click operations, the server calculates the time difference between adjacent clicks to obtain the operation time interval, and counts the number of clicks within a certain time period to obtain the operation frequency.
[0056] For the recognition of operation types, the mobile phone system encodes different operation behaviors, and the server decodes and classifies the encoded data after receiving it. For example, the click operation is encoded as "01", the swipe operation is encoded as "02", etc., and the server accurately determines the user's operation type based on these encodings.
[0057] In some embodiments, the user's operation habits have a certain regularity. To accurately predict the application that the user may use in a future set time period, a user behavior prediction model can be constructed. The server collects the time data of the user using applications, which covers the detailed records of the user opening various applications at different dates and different time periods. For example, the user may often open news applications to view the day's information between 8 am and 9 am on weekdays, and likes to open video applications to watch programs between 7 pm and 9 pm. The server continuously records these data, and over time, forms a rich data set. The collected time data is trained using deep learning algorithms. The deep learning model has powerful pattern recognition and prediction capabilities and can learn the user's behavior patterns from a large amount of data.
[0058] During the training process, the model analyzes various features in the time data, such as timestamps, application names, usage frequencies, etc. By continuously adjusting the model's parameters, it can accurately capture the time patterns of users' application usage. For example, using a Recurrent Neural Network (RNN) or its variant, the Long Short-Term Memory Network (LSTM), as a deep learning model, these models can process sequential data and are very suitable for analyzing time series user behavior data. During training, the historical time data of users' application usage is used as input, allowing the model to learn the mapping relationship between different times and application usage. After multiple iterative trainings, the model is gradually optimized and can finally predict the applications that the user may use in a set future time period based on the current time information and historical data. When the user behavior prediction model is trained, the server combines real-time user operation habit data and uses this model for prediction. The server inputs relevant information into the trained user behavior prediction model based on the current time and the user's historical usage data. For example, if the current time is 6 pm on a weekday, the model will analyze the applications that the user may use in the next set time period (such as 7 pm to 8 pm) according to the usage habits learned previously. If the user has often opened food delivery applications to order food at this time in the past, then the model will output the food delivery application as the prediction result.
[0059] After determining the applications that the user will use in the set time period, the server will control the GPU to perform early rendering of the application within a set time before the set time period. The set time before the set time period is reasonably set according to the actual situation and test results. For example, if it is predicted that the user will use a video application from 7 pm to 8 pm, the server may start controlling the GPU to perform early rendering of the video application at 6:55 pm. This time setting should ensure that there is enough time to complete the rendering and not be too early to cause the rendering result to become outdated. The server sends an early rendering instruction to the GPU of the mobile phone through the communication interface with the mobile phone. Using the graphics API provided by the mobile phone operating system, the server can precisely control the rendering operation of the GPU. During the early rendering process, the GPU will load data such as the interface resources, textures, models, etc. of the application and perform rendering calculations. For example, for a video application, the GPU will load resources such as the layout of the video playback interface and the video cover image in advance and perform rendering to generate a preview screen.
[0060] Through this method of early rendering, when the user opens the application during the set time period, the application can quickly display the already rendered interface, greatly reducing the user's waiting time and improving the application startup speed and user experience. At the same time, since early rendering can utilize the system idle time and will not affect the user's current operations, it can also optimize the resource utilization efficiency of the GPU to a certain extent.
[0061] After combining the above content, the following is a further and more specific process description of the method provided in this embodiment. Please refer to Figure 2 , which is another process schematic diagram of the mobile application power consumption control method based on GPU rendering optimization in the embodiment of the present application.
[0062] S201. If the comprehensive usage scenario is a rest scenario, determine that the GPU rendering optimization parameters include GPU rendering frame rate optimization parameters and screen resolution optimization parameters; After determining that the comprehensive usage scenario is a rest scenario, the server needs to send an instruction to the mobile phone GPU to adjust it according to the GPU rendering optimization parameters, where the GPU rendering optimization parameters include rendering frame rate optimization parameters and screen resolution optimization parameters. Data interaction between the server and the mobile phone GPU is carried out through a specific communication protocol. The server first obtains the preset low frame rate range and low resolution parameters from the configuration data stored in it. For example, the preset low frame rate range may be 20 - 30 frames per second, and the preset low resolution may be 720×1280 pixels (the specific values will vary according to different mobile phone models and optimization strategies).
[0063] In actual implementation, the server uses the graphics API (such as OpenGL ES, etc.) provided by the mobile phone operating system to send adjustment instructions. Taking OpenGL ES as an example, the server will call relevant functions to set the rendering frame rate according to the rendering frame rate optimization parameters to reduce it to the preset frame rate range. When performing graphics rendering, it is usually necessary to map the rendered image to a specific area of the window, and this specific area can be set through relevant functions, that is, to tell OpenGL which part of the window the rendering result should be drawn to. Among them, OpenGL (Open Graphics Library) is a cross - programming language and cross - platform application programming interface (API), which is mainly used for rendering 2D and 3D vector graphics. At the same time, the screen resolution is adjusted to the preset resolution by calling relevant functions according to the screen resolution optimization parameters. The server encapsulates these instructions into data packets that conform to the mobile phone communication protocol and sends them to the mobile phone through the network. After receiving the data packets, the mobile phone parses the instructions and passes them to the GPU for execution.
[0064] In some embodiments, the server can also dynamically adjust the rendering frame rate and resolution according to the type of application currently running on the mobile phone and the user operation frequency. For example, for static reading applications, the server can further reduce the frame rate to 20 frames per second, and the resolution can also be appropriately optimized according to the content; if the user operates frequently in a rest scenario, the server moderately increases the frame rate, but still keeps it within the preset low frame rate range to balance power consumption and user experience. The server analyzes the resource requirements of the applications commonly used by the user in the rest scenario, and caches some static resources (such as icons, background pictures, etc.) to the local of the mobile phone in advance. In this way, when the application is started or switched, the GPU does not need to re-render these resources, reducing the rendering workload and power consumption.
[0065] S202. If the comprehensive usage scenario is an outdoor scenario, determine that the GPU rendering optimization parameters include brightness value optimization parameters, contrast optimization parameters, and color saturation optimization parameters; When the server determines that the comprehensive usage scenario is an outdoor scenario, in order to enable the mobile phone screen to still clearly display the content in a strong light environment, it is necessary to adjust the brightness, contrast, and color saturation of the screen according to the determined GPU rendering optimization parameters. The server obtains the preset high brightness value, contrast, and color saturation increase parameters from its configuration database. In the implementation process, the server also uses the graphics API of the mobile phone to complete the parameter adjustment. For brightness adjustment, the server calls the function in the graphics API that controls the screen brightness, such as the relevant method in the Android system, to set the screen brightness to the preset brightness value according to the brightness value optimization parameter. Similarly, for contrast and color saturation adjustment, the server uses the image filter or color adjustment function in the graphics API to increase the contrast of the mobile phone screen image to the preset contrast according to the contrast optimization parameter, and increase the color saturation of the mobile phone screen image to the preset color saturation according to the color saturation optimization parameter.
[0066] The server performs scene semantic analysis by combining the location information of the mobile phone and the application usage situation. The mobile phone operating system continuously monitors the applications being used by the user through the system-level application monitoring interface. Once an application start or switch is detected, the mobile phone sends the identification information of the application (such as application name, package name) to the server, and the server renders the display screen of the mobile phone according to the identification information. If the user is outdoors and is using a map navigation application, the server optimizes the rendering parameters for the characteristics of map elements (such as roads, landmarks, etc.) to enhance the three-dimensional sense and recognition of the graphics; if the user is browsing photos outdoors, the server intelligently adjusts the screen parameters according to the color and contrast of the photo content to improve the visual effect.
[0067] Considering that users may switch between different devices (such as switching from a mobile phone to a tablet), the server can achieve the synchronization of screen parameters between multiple devices through Bluetooth transmission. When the user switches from a mobile phone to a tablet in an outdoor scenario, the server synchronizes the adjusted screen parameters on the mobile phone to the tablet that is Bluetooth-connected to the mobile phone, ensuring that the user can obtain a consistent visual experience on different devices, while avoiding complex parameter adjustment operations on different devices and improving efficiency.
[0068] S203. Obtain the outdoor environmental temperature value and the current mobile phone temperature value; The server obtains the outdoor environmental temperature information mainly through two methods: data interaction with an external meteorological data platform and by means of the temperature sensor built in the mobile phone (if it has relevant functions). When interacting with the meteorological data platform, the server first needs to select a reliable meteorological data provider. The server sends requests to these platforms through the network, and the requests contain the geographical location information of the mobile phone (extracting the longitude and latitude coordinates from the previously obtained mobile phone GPS location information). After receiving the request, the meteorological data supply platform queries its database according to the coordinates, obtains the outdoor environmental temperature data corresponding to this location, and returns the data to the server in a specific format. After receiving the data, the server parses the data and extracts the current outdoor environmental temperature value.
[0069] The server obtains the mobile phone temperature information mainly relying on the temperature sensor of the mobile phone itself. Multiple temperature sensors are usually integrated inside the mobile phone to monitor the temperatures of key components such as the CPU, GPU, and battery. The server communicates with the mobile phone through the system interface provided by the mobile phone operating system to obtain the data of these temperature sensors.
[0070] Then, combining the outdoor environmental temperature value and the current mobile phone temperature value, adjust the GPU rendering optimization parameters according to the preset temperature-power consumption adjustment strategy, specifically as in step S204.
[0071] S204. If the outdoor environmental temperature is higher than the outdoor temperature threshold and the mobile phone temperature information is higher than the mobile phone temperature threshold, then reduce the GPU rendering optimization parameters according to the first set value; When the server determines that the outdoor environmental temperature is higher than the outdoor temperature threshold and the mobile phone temperature information is higher than the mobile phone temperature threshold, in order to ensure the stable operation of the mobile phone and optimize the GPU power consumption, it is necessary to reduce the GPU rendering optimization parameters according to the first set value and monitor the running status of mobile phone applications. Among them, the GPU rendering optimization parameters can include the GPU rendering intensity, and the first set value can be set in advance according to the specific hardware parameters and heat dissipation capacity of the mobile phone.
[0072] The server sends instructions related to GPU rendering optimization parameters for reducing the rendering intensity to the GPU by means of the graphics API provided by the mobile operating system. Taking OpenGL ES as an example, the server achieves this goal by modifying the key parameters in the rendering pipeline. For example, reducing the number of triangles drawn, lowering the texture resolution, restricting the use of special effects, etc. These operations can reduce the workload of the GPU and the amount of computation, thereby reducing the rendering intensity. The server encapsulates these instructions into data packets that conform to the mobile communication protocol and sends them to the mobile phone via the network. After receiving the data packets, the mobile phone parses the instructions and passes them to the GPU for execution.
[0073] To more precisely control the GPU rendering parameters and monitor the application running, the server can also intelligently and dynamically adjust the GPU rendering parameters according to the type of mobile application and the user's operation behavior. For word processing applications with low requirements for graphics performance, the server can reduce the rendering intensity by a larger margin; while for game applications, the server finely adjusts the rendering intensity according to the complexity of the game scene and the frequency of user operations. This can not only ensure the smooth running of the application but also minimize power consumption to the greatest extent.
[0074] S205. Continuously monitor the running status of the mobile application, where the running status at least includes operation lag and abnormal application response; While reducing the GPU rendering optimization parameters, the server continuously monitors the running status of the mobile application. The server establishes a real-time communication mechanism with the mobile phone, and the mobile phone regularly uploads application running data to the server, such as key metrics like frame rate, CPU usage rate, memory occupancy, etc. The server analyzes these data to determine whether there are operation lags and abnormal application responses in the mobile application. When the frame rate is lower than the preset smooth frame rate (such as 20 frames per second), the server determines that there is an operation lag; when the application crashes, becomes unresponsive, etc., the server deems it as an abnormal application response.
[0075] S206. If there is an operation lag in the running status, then callback the GPU rendering intensity according to the second set value until the operation lag phenomenon is alleviated; When the server detects an operation lag in the mobile application, it is necessary to callback the GPU rendering intensity to improve the user experience. The server gradually increases the GPU rendering intensity according to the second set value, and this second set value can be determined according to the hardware performance of the mobile phone, the type of application, and the severity of the lag. For example, for mobile phones with higher configurations, the second set value can be appropriately larger; for game applications with higher requirements for graphics performance, the second set value can be relatively smaller to avoid a large increase in power consumption caused by excessive adjustment.
[0076] S207. If there is an abnormal application response in the running status, then diagnose the application program currently used by the user to determine the cause of the problem; When the server detects an abnormal response from a mobile application, to find the root cause of the problem, the server first collects the detailed running data of the mobile application before and after the abnormal response. This data includes, but is not limited to, the application's log information, CPU and GPU usage, memory occupancy changes, network request records, and system status data such as the current battery level and temperature of the mobile phone. The server analyzes the application log to find key clues such as error codes and exception stack information. For example, if the error message "null pointer exception" appears in the log, it indicates that the application may have tried to access a null object during operation, which may be caused by code logic errors or data loading anomalies. The server also checks the CPU and GPU usage to determine if there is a problem of excessive resource consumption. If the CPU or GPU usage rate remains too high before the abnormal response, it may be due to inefficient application algorithms, infinite loops, or over - rendering. Memory occupancy changes are also an important basis for diagnosis. The server analyzes the allocation and release of memory to check for problems such as memory leaks (i.e., memory is allocated but not released correctly, resulting in continuous reduction of memory) or unreasonable memory allocation (such as frequent application of a large number of small memory blocks, resulting in memory fragmentation).
[0077] To diagnose problems more efficiently and accurately, the server can use deep - learning algorithms to build an intelligent diagnosis model. By learning a large amount of case data of application abnormal responses, this model can quickly and accurately determine the cause of the problem. When a new abnormal response occurs, the server inputs the collected data into the model, and the model automatically gives the possible cause of the problem and the corresponding probability. For example, by learning the abnormal response data of a large number of game applications, the model can identify common problems such as game resource loading failures and memory overflows and give corresponding diagnostic results.
[0078] S208: If the cause of the problem matches the GPU rendering intensity adjustment, then control the GPU to restore to the previous stable rendering intensity setting and push a reminder message to the user. The reminder message is used to suggest that the user temporarily close non - important background applications to reduce the load on the mobile phone.
[0079] When the server determines that the cause of the application abnormal response matches the GPU rendering intensity adjustment, it needs to take measures to solve the problem and optimize the mobile phone performance. The server uses the graphics API provided by the mobile operating system to send instructions to the mobile phone GPU to make it restore to the previous stable rendering intensity setting.
[0080] At the same time, in order to reduce the load on the mobile phone and improve the overall performance, the server pushes reminder information to the user. The server displays the reminder content to the user in the form of pop-up windows, message push, etc. through the notification system of the mobile phone, and recommends that the user temporarily close non-important background applications. For example, the server can analyze which applications have less impact on the user's current operation based on the current application status of the mobile phone, and then list these applications in the reminder information to guide the user to close them.
[0081] In order to better guide users to optimize the performance of their mobile phones, the server can adopt the following solution: the server uses machine learning algorithms to intelligently recommend background applications that need to be closed based on the user's usage habits and the current running status of the mobile phone. Specifically, the server continuously collects information such as the time when the user opens and closes the application, the duration of use, and the frequency of use. The mobile phone sends the current CPU usage, memory usage, battery power, network status and other running status data to the server in real time or regularly. Then, a machine learning algorithm such as decision tree, random forest or support vector machine is selected to build a recommendation model, and the historical data is divided into a training set and a test set. The model is trained with the training set, and the performance of the model is evaluated with the test set. The model parameters are continuously adjusted to improve the accuracy of the recommendation. When a recommendation is needed, the server extracts the features of the user's usage habits and the running status of the mobile phone from the latest collected data. The extracted features are input into the trained machine learning model, and the model outputs a list of background applications recommended to be closed. The recommended applications are sorted according to the confidence of the model prediction or the degree of system resource usage of the application, and the applications that have a greater impact on system performance and are less frequently used by users in the near future are recommended to be closed first.
[0082] For example, analyze the applications that users often use and the applications running in the background in different scenarios. When an abnormal response occurs, it is recommended to close those background applications that are rarely used in the current scenario and occupy more resources. At the same time, the server can provide the resource usage of each application and the priority of the closing recommendation, so that users can more clearly understand the benefits of closing these applications. In the reminder information, the server displays the performance status of the mobile phone in a visual way, such as CPU usage, memory usage, GPU load and other indicators. Through charts, progress bars and other forms, users can intuitively see the improvement effect of closing background applications on mobile phone performance. For example, the load changes of the CPU and GPU before and after closing some background applications, as well as the reduction of memory usage, enhance the user's recognition of the optimization operation. The server can provide automatic cleaning and optimization functions. With the user's consent, the server automatically closes non-important background applications to reduce the load on the mobile phone. At the same time, the server records the performance data of the mobile phone before and after cleaning, and shows the optimization effect to the user, so that the user can feel the improvement of the mobile phone performance, thereby increasing the user's acceptance and frequency of use of this function.
[0083] In the embodiments of the present application, through multi-source data collection and dynamic adjustment of GPU rendering parameters, accurate identification of mobile phone usage scenarios is achieved, and GPU rendering power consumption is optimized for different scenarios. This not only effectively solves the technical problems in the prior art such as inaccurate control of mobile phone GPU rendering power consumption, inaccurate judgment of usage scenarios, and poor user experience caused by adjustment of GPU rendering intensity, reduces the power consumption of the mobile phone and extends the battery life, but also accurately judges the usage scenarios, ensures the accuracy of GPU rendering optimization, improves the mobile phone power consumption control effect, and at the same time ensures the stable operation of the mobile phone, improves the user experience, optimizes the GPU power consumption, and enhances the overall use value of the mobile phone.
[0084] The server in the embodiments of the present invention application will be described from the perspective of hardware processing. Please refer to Figure 3 , which is a schematic structural diagram of an entity device of the server in the embodiments of the present application.
[0085] It should be noted that Figure 3 the structure of the server shown is only an example and should not bring any limitations to the functions and usage scope of the embodiments of the present invention.
[0086] As Figure 3 shown, the server includes a central processing unit (CPU) 301, which can perform various appropriate actions and processes according to the program stored in the read-only memory (ROM) 302 or the program loaded from the storage section 308 into the random access memory (RAM) 303, such as executing the method described in the above embodiments. In the RAM 303, various programs and data required for system operation are also stored. The CPU 301, ROM 302, and RAM 303 are connected to each other through a bus 304. The input / output (I / O) interface 305 is also connected to the bus 304.
[0087] The following components are connected to the I / O interface 305: an input section 306 including an audio input device, a button switch, etc.; an output section 307 including a liquid crystal display (LCD), an audio output device, an indicator light, etc.; a storage section 308 including a hard disk, etc.; and a communication section 309 including a network interface card such as a LAN (Local Area Network) card, a modem, etc. The communication section 309 performs communication processing via a network such as the Internet. The drive 310 is also connected to the I / O interface 305 as needed. A removable medium 311 such as a magnetic disk, an optical disk, a magneto-optical disk, a semiconductor memory, etc. is installed on the drive 310 as needed so that a computer program read therefrom is installed into the storage section 308 as needed.
[0088] Specifically, according to an embodiment of the present invention, the processes described above with reference to the flowchart can be implemented as a computer software program. For example, an embodiment of the present invention includes a computer program product that includes a computer program carried on a computer-readable medium, and the computer program includes a computer program for performing the method shown in the flowchart. In such an embodiment, the computer program can be downloaded and installed from the network via the communication section 309, and / or installed from the removable medium 311. When the computer program is executed by the central processing unit (CPU) 301, various functions defined in the present invention are executed.
[0089] It should be noted that specific examples of the computer-readable storage medium may include, but are not limited to: an electrical connection having one or more wires, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM), a flash memory, an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the above. In the present invention, the computer-readable storage medium can be any tangible medium that contains or stores a program that can be used by or in conjunction with an instruction execution system, apparatus, or device.
[0090] The flowcharts and block diagrams in the accompanying drawings illustrate the possible architectures, functions, and operations of systems, methods, and computer program products according to various embodiments of the present invention. Each block in the flowchart or block diagram may represent a module, a segment of a program, or a part of code that contains one or more executable instructions for implementing the specified logical function. It should also be noted that in some alternative implementations, the functions marked in the blocks may occur in a different order than that marked in the accompanying drawings.
[0091] Specifically, the server in this embodiment includes a processor and a memory, and a computer program is stored on the memory. When the computer program is executed by the processor, it implements the mobile application power consumption control method based on GPU rendering optimization provided in the above embodiment.
[0092] On the other hand, the present invention also provides a computer-readable storage medium, which may be included in the server described in the above embodiment; or it may exist separately without being assembled into the server. The above storage medium carries one or more computer programs. When the one or more computer programs are executed by a processor of the server, the server implements the mobile application power consumption control method based on GPU rendering optimization provided in the above embodiment.
[0093] As mentioned above, the above embodiments are only used to illustrate the technical solutions of the present application, rather than to limit them; although the present application has been described in detail with reference to the foregoing embodiments, those of ordinary skill in the art should understand that they can still modify the technical solutions recorded in the foregoing embodiments, or perform equivalent replacements on some of the technical features; and these modifications or replacements do not cause the essence of the corresponding technical solutions to deviate from the scope of the technical solutions of the various embodiments of the present application.
[0094] As used in the above embodiments, depending on the context, the term "when..." may be interpreted to mean "if...", or "after...", or "in response to determining...", or "in response to detecting...". Similarly, depending on the context, the phrase "when determining..." or "if detecting (the stated condition or event)" may be interpreted to mean "if determining...", or "in response to determining...", or "when detecting (the stated condition or event)", or "in response to detecting (the stated condition or event)".
[0095] Those of ordinary skill in the art can understand that all or part of the processes in the methods of the above embodiments can be completed by relevant hardware instructed by a computer program. This program can be stored in a computer-readable storage medium. When the program is executed, it can include the processes of the above method embodiments. The foregoing storage medium includes: various media such as ROM, random access memory (RAM), magnetic disk, or optical disc that can store program codes.
Claims
1. A method for controlling the power consumption of a mobile application based on GPU rendering optimization, which is applied to a server, characterized in that The method includes: Obtaining light intensity data, mobile phone motion state information, and mobile phone location information; Combining the light intensity data and the mobile phone motion state information, and determining the current preliminary usage scenario of the mobile phone through a mobile phone usage scenario model. The preliminary usage scenario includes a rest scenario and an outdoor scenario. The mobile phone usage scenario model is pre-trained through deep learning based on multiple sets of light intensity data and mobile phone motion state information annotated with usage scenario information; Combining the mobile phone location information and the preliminary usage scenario to determine a comprehensive usage scenario; Determining GPU rendering optimization parameters according to the comprehensive usage scenario; Obtaining the current GPU rendering parameters, and adjusting the current GPU rendering parameters to the final GPU rendering parameters through the GPU rendering optimization parameters to adjust the power of the mobile phone.
2. The method according to claim 1, wherein It also includes: Obtaining user operation habit data, where the user operation habit data at least includes the type of application, the operation time interval and operation frequency of the user on the application; Combining the user operation habit data, and determining the application to be used by the user during a set period through a user behavior prediction model. The user behavior prediction model is pre-trained through deep learning based on the time data of the user using the application; Controlling the GPU to perform early rendering on the application within a set time before the set period.
3. The method according to claim 1, wherein In the step of combining the mobile phone location information and the preliminary usage scenario to determine a comprehensive usage scenario, it specifically includes: If the preliminary usage scenario information is a rest scenario and the mobile phone location information shows that it is within the user's residential address range, then determine that the comprehensive usage scenario is a rest scenario; If the preliminary usage scenario information is an outdoor scenario and the mobile phone location information shows that it is in an outdoor public place, then determine that the comprehensive usage scenario is an outdoor scenario; If the preliminary usage scenario and the mobile phone location information do not match, then send a usage scenario selection reminder to the mobile phone screen, and in response to the usage scenario selection data, determine the comprehensive usage scenario according to the usage scenario selection data.
4. The method according to claim 1, wherein In the step of determining the GPU rendering optimization parameters according to the comprehensive usage scenario, it specifically includes: If the comprehensive usage scenario is a rest scenario, then determine that the GPU rendering optimization parameters include a GPU rendering frame rate optimization parameter and a screen resolution optimization parameter. The GPU rendering frame rate optimization parameter is used to reduce the rendering frame rate of the GPU to a preset frame rate range, and the screen resolution optimization parameter is used to reduce the screen resolution to a preset resolution; If the comprehensive usage scenario is an outdoor scenario, then determine that the GPU rendering optimization parameters include a brightness value optimization parameter, a contrast optimization parameter, and a color saturation optimization parameter. The brightness value optimization parameter is used to increase the brightness of the mobile phone screen image to a preset brightness value, the contrast optimization parameter is used to increase the contrast of the mobile phone screen image to a preset contrast, and the color saturation optimization parameter is used to increase the color saturation of the mobile phone screen image to a preset color saturation.
5. The method according to claim 4, characterized in that, If the comprehensive usage scenario is an outdoor scenario, the method further includes: Obtaining the outdoor environmental temperature value and the current mobile phone temperature value; Adjust the GPU rendering optimization parameters according to a preset temperature-power consumption adjustment strategy by combining the outdoor environmental temperature value and the current mobile phone temperature value.
6. The method according to claim 5, wherein The step of adjusting the GPU rendering optimization parameters according to a preset temperature-power consumption adjustment strategy by combining the outdoor environmental temperature value and the current mobile phone temperature value specifically includes: If the outdoor environmental temperature value is higher than the outdoor temperature threshold and the current mobile phone temperature value is higher than the mobile phone temperature threshold, then reduce the GPU rendering optimization parameters according to a first set value.
7. The method according to claim 1 or 6, characterized in that After the step of adjusting the current GPU rendering parameters to the final GPU rendering parameters through the GPU rendering optimization parameters, it further includes: Continuously monitor the running status of the mobile phone applications, where the running status at least includes operation lag and abnormal application response; If operation lag appears in the running status, then gradually call back the final GPU rendering parameters according to a second set value until the operation lag phenomenon is alleviated; If abnormal application response appears in the running status, then diagnose the application program currently used by the user to determine the cause of the problem; If the cause of the problem matches the adjustment of the GPU rendering intensity, then control the GPU to restore to the previous stable GPU rendering parameters and push a reminder message to the user, where the reminder message is used to suggest that the user temporarily close non-important background applications to reduce the load on the mobile phone.
8. A server, characterized in that, The server includes: one or more processors and a memory; the memory is coupled to the one or more processors, the memory is used to store computer program code, the computer program code includes computer instructions, and the one or more processors call the computer instructions to enable the server to execute the method according to any one of claims 1-7.
9. A computer-readable storage medium, comprising instructions, characterized in that, When the instructions run on the server, enable the server to execute the method according to any one of claims 1-7.
10. A computer program product, characterized in that, When the computer program product runs on the server, enable the server to execute the method according to any one of claims 1-7.