Equipment control method and electronic equipment
By dynamically adjusting the maximum CPU boost duration in electronic devices, performance and energy consumption issues during sliding operations are resolved for different sliding operations and display scenarios, achieving more efficient resource management.
Patent Information
- Application Number
- CN202410619793.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-05-17
- Publication Date
- 2025-11-25
AI Technical Summary
When electronic devices are used for sliding operations, the CPU frequency increases, leading to unnecessary power consumption, and it is difficult to balance performance and energy consumption.
By dynamically adjusting the maximum CPU boost duration under different display scenarios and employing different strategies for horizontal and vertical scrolling operations, the maximum CPU boost duration is limited to meet system resource requirements and avoid resource waste.
While ensuring display quality, it reduces CPU resource waste, avoids increased power consumption and performance degradation, and improves the energy efficiency of the device.
Smart Images

Figure CN121008680A_ABST
Abstract
Description
TECHNICAL FIELD
[0001] Embodiments of the present application relate to the technical field of terminal, and in particular, to a device control method and an electronic device. BACKGROUND
[0002] During the use of the electronic device by the user, the electronic device can be triggered to switch display content by sliding operation and the like. During the switching of the display content, the electronic device can increase the frequency of the central processing unit (CPU) so that the electronic device can timely draw and render multiple image frames, thereby avoiding display lag.
[0003] During the increase of the frequency of the CPU by the electronic device, high power consumption is generated. At present, when the electronic device increases the frequency of the CPU based on the sliding operation, unnecessary power consumption is easily generated. SUMMARY
[0004] Embodiments of the present application provide a device control method and an electronic device, which are used to balance the performance and energy consumption during the process of increasing the frequency of the CPU for the sliding operation.
[0005] To achieve the above object, embodiments of the present application adopt the following technical solutions:
[0006] In a first aspect, embodiments of the present application provide a device control method applied to an electronic device with a display screen. The electronic device can update the display content of the display screen in response to the sliding operation of the user. Before updating the display content, the electronic device can increase the working frequency of the CPU (such as increasing to the maximum working frequency of the CPU) within a target time length, and within the target time length, sufficient system resources can be scheduled to render and draw the required display content.
[0007] During the display of any interactive interface by the electronic device, such as during the display of a first application, after detecting the first horizontal sliding of the user, the working frequency of the central processing unit (CPU) is controlled to be increased within a first target time length. After detecting the first vertical sliding of the user, the working frequency of the CPU is controlled to be increased within a second target time length.
[0008] It can be understood that the faster the hand-off speed of the first horizontal sliding, the longer the corresponding first target time length. The faster the hand-off speed of the first vertical sliding, the longer the corresponding second target time length. Of course, the first target time length and the second target time length each correspond to a maximum value, and the maximum values of the first target time length and the second target time length are different.
[0009] It can be seen that in the above embodiments, the electronic device enables different strategies for limiting the maximum frequency boosting duration of the CPU for horizontal sliding and vertical sliding. By limiting the maximum value of the CPU frequency boosting duration, the system resource requirements of the horizontal sliding scenario and the vertical sliding scenario are guaranteed, and the waste of system resources is avoided, and the performance and energy consumption during the CPU frequency boosting process for sliding operations are considered.
[0010] In some embodiments, the electronic device can run the first application in the foreground in response to a user operation. The first application belongs to a first application set. It can be understood that the applications in the first application set have different CPU resource requirements when displaying different application interfaces.
[0011] In an exemplary scenario, the electronic device displays a second interface of the first application. After detecting a second horizontal sliding operation of the user, the working frequency of the CPU is boosted for a third target duration. Then, in response to a user operation, a third interface of the first application is displayed. After detecting a third horizontal sliding operation of the user, the working frequency of the CPU is boosted for a fourth target duration.
[0012] The system resources required during the display of the second interface and the third interface by the electronic device are different, and accordingly, the maximum value of the third target duration is different from the maximum value of the fourth target duration.
[0013] In the above embodiments, even if the same application is running in the foreground, different strategies are enabled to limit the maximum frequency boosting duration of the CPU during the display of different application interfaces. By limiting the maximum value of the CPU frequency boosting duration, the system resource requirements during the display of different application interfaces are guaranteed, and the waste of system resources is avoided, and the performance and energy consumption during the CPU frequency boosting process for sliding operations are considered.
[0014] For example, the first application is an e-book application, the second interface is an application main interface of the e-book application, and the third interface is a full-screen reading interface of the e-book application.
[0015] During the display of the application main interface of the e-book application, the display content required for rendering and drawing in response to the sliding operation of the user is mainly graphics, and the required system resources are more. During the display of the full-screen reading interface of the e-book application, the display content required for rendering and drawing in response to the sliding operation of the user is mainly text, and the required system resources are less, and accordingly, the maximum value of the third target duration is greater than the maximum value of the fourth target duration.
[0016] In the above embodiment, during displaying the full-screen reading interface, the CPU frequency boosting duration is limited to a shorter duration in response to the lateral swipe of the user, so as to avoid waste of system resources. During displaying the application main interface, the CPU frequency boosting duration is limited to a longer duration in response to the lateral swipe of the user, so as to avoid insufficient system resource scheduling.
[0017] In some embodiments, the electronic device distinguishes the second interface and the third interface of the first application through interface elements (e.g., a window status bar). For example, the second interface contains a window status bar in the interface element, and the third interface does not contain a window status bar in the interface element. When it is identified that the electronic device displays the second interface of the first application, the CPU is controlled to boost the working frequency within the third target duration in response to the second swipe operation. When it is identified that the electronic device displays the third interface of the first application, the CPU is controlled to boost the working frequency within the fourth target duration in response to the third swipe operation.
[0018] In the above embodiment, different application interfaces with different system resource requirements are distinguished through simple interface element recognition for the same application program (e.g., the first application), and then the CPU frequency boosting duration is limited in a targeted manner to achieve compatibility of performance and energy consumption.
[0019] In some embodiments, the electronic device further includes a second application set. The second application set includes one or more different application programs, such as the second application and the third application. The application programs in the second application set each correspond to a configured frequency boosting duration, that is, a customized maximum frequency boosting duration for the application program. For example, the configured frequency boosting durations corresponding to different application programs in the second application set can be different or the same. For example, the configured frequency boosting durations corresponding to the second application and the third application are different.
[0020] The electronic device can run the second application in the foreground and display a fourth interface of the second application in response to the operation of the user. During displaying the fourth interface, a fourth lateral swipe of the user is detected, and the CPU is controlled to boost the working frequency within a fifth target duration. The electronic device can run the third application in the foreground and display a fifth interface of the third application in response to the operation of the user. During displaying the fifth interface, a fifth lateral swipe of the user is detected, and the CPU is controlled to boost the working frequency within a sixth target duration. Correspondingly, the maximum value of the fifth target duration is different from the maximum value of the sixth target duration.
[0021] As an implementation manner, the electronic device comprises a preset list corresponding to the second application set. In the preset list, the application identifier of the second application corresponds to the first configured frequency boosting duration, and the application identifier of the third application corresponds to the second configured frequency boosting duration; the first configured frequency boosting duration is different from the second configured frequency boosting duration; the maximum value of the fifth target duration is the first configured frequency boosting duration, and the maximum value of the sixth target duration is the second configured frequency boosting duration.
[0022] In the above embodiment, different strategies are enabled for different application programs to limit the maximum frequency boosting duration of the CPU. By limiting the maximum value of the CPU frequency boosting duration, the system resource demand of different applications is guaranteed, and the waste of system resources is avoided, and the performance and energy consumption in the CPU frequency boosting process for the sliding operation are considered.
[0023] In some embodiments, the electronic device is configured with the application identifier of the application program in the first application set and the application identifier of the application program in the second application set; the electronic device displays the sixth interface of the fourth application in response to the operation of the user, the fourth application does not belong to the first application set and the second application set; after detecting the sixth horizontal sliding of the user, the CPU is controlled to boost the working frequency within the seventh target duration; wherein the maximum value of the seventh target duration is a preset regular frequency boosting duration.
[0024] In some embodiments, the maximum value of the second target duration is the regular frequency boosting duration; the maximum value of the third target duration is the regular frequency boosting duration, the maximum value of the fourth target duration is the energy-saving frequency boosting duration, and the regular frequency boosting duration is greater than the energy-saving frequency boosting duration.
[0025] In a second aspect, the embodiments of the present application provide an electronic device, comprising a processor and a memory, the memory is used to store code instructions; the processor is used to run the code instructions, so that the electronic device executes the method described in the first aspect and any of its implementation manners.
[0026] In a third aspect, the embodiments of the present application provide a computer readable storage medium, which stores instructions, when the instructions are executed, the computer executes the method described in the first aspect and any of its implementation manners.
[0027] In a fourth aspect, the embodiments of the present application provide a computer program product, comprising a computer program, when the computer program is executed, the computer executes the method described in the first aspect and any of its implementation manners.
[0028] It should be understood that the second aspect to the fourth aspect of the embodiments of the present application correspond to the technical solution of the first aspect of the embodiments of the present application, and the beneficial effects obtained by each aspect and the corresponding feasible implementation manner are similar, which will not be described again. BRIEF DESCRIPTION OF DRAWINGS
[0029] Figure 1 A scene diagram provided by an embodiment of the present application, in which an electronic device detects a horizontal sliding operation;
[0030] Figure 2 A software structure diagram of an electronic device provided by an embodiment of the present application;
[0031] Figure 3 A software structure diagram of an electronic device provided by an embodiment of the present application;
[0032] Figure 4 A comparison diagram of CPU frequency raising time for horizontal sliding operation and vertical sliding operation when a dynamic frequency raising function is started by an electronic device provided by an embodiment of the present application;
[0033] Figure 5 A comparison diagram of CPU frequency raising time for horizontal sliding operation and vertical sliding operation when a dynamic frequency raising function is not started by an electronic device provided by an embodiment of the present application;
[0034] Figure 6 A signaling interaction diagram of a device control method provided by an embodiment of the present application;
[0035] Figure 7 A comparison diagram of CPU frequency raising time for horizontal sliding operation when an electronic device displays different application interfaces provided by an embodiment of the present application;
[0036] Figure 8 An example diagram of CPU frequency raising time for horizontal sliding operation when an electronic device runs an e-book application in the foreground provided by an embodiment of the present application;
[0037] Figure 9 A signaling interaction diagram of a device control method provided by an embodiment of the present application;
[0038] Figure 10 A comparison diagram of CPU frequency raising time for horizontal sliding operation when an electronic device displays different application interfaces of an e-book application in a scenario in which the e-book application runs in the foreground provided by an embodiment of the present application;
[0039] Figure 11 A comparison diagram of CPU frequency raising time for horizontal sliding operation when an electronic device runs different application programs in a preset list in the foreground provided by an embodiment of the present application;
[0040] Figure 12 A signaling interaction diagram of a device control method provided by an embodiment of the present application;
[0041] Figure 13 A flowchart of a device control method provided by an embodiment of the present application;
[0042] Figure 14 Flowchart II of a device control method provided for an embodiment of the present application;
[0043] Figure 15 Flowchart III of a device control method provided for an embodiment of the present application;
[0044] Figure 16 Hardware structure example diagram of an electronic device provided for an embodiment of the present application. DETAILED DESCRIPTION
[0045] Hereinafter, the terms "first" and "second" are only used for the purpose of description, and cannot be understood as indicating or implying relative importance or implicitly indicating the number of the indicated technical features. Therefore, the features defined with "first" and "second" can explicitly or implicitly include one or more of the features. In the description of the embodiments, unless otherwise specified, the meaning of "a plurality of" is two or more.
[0046] The electronic device can adjust the system resources used, such as adjusting the working frequency of the CPU, based on information such as the load of the CPU, the device temperature, and the battery remaining amount. During the running of the electronic device, the sliding operation of the user on the display interface is detected, and the display effect of the electronic device can also be guaranteed by increasing the working frequency of the CPU (referred to as frequency boost).
[0047] It can be understood that generally, the sliding operation can trigger the change of the display content of the electronic device. During the change of the display content of the electronic device, multiple image frames need to be drawn, rendered, and displayed to link the switching between different display contents. During this period, the higher the working frequency of the CPU, the higher the efficiency of drawing and rendering image frames. It can be seen that by temporarily increasing the working frequency of the CPU, not only the display effect can be ensured, but the electronic device also does not need to be in a high working frequency running state all the time.
[0048] In some embodiments, the faster the off-hand speed of the sliding operation detected by the electronic device, the longer the frequency boost time for the sliding operation. In subsequent embodiments, the time actually executing the CPU frequency boost for the sliding operation can also be referred to as the sliding frequency boost duration.
[0049] In actual application, in some scenarios, during the change of the display content of the electronic device, the CPU resources required by the electronic device to draw and render image frames are not much. In such scenarios, the faster the off-hand speed of the user's sliding, the longer the CPU frequency boost time of the electronic device, and the waste of CPU resources will occur.
[0050] For example, in a scenario where the electronic device displays a reading interface (or a full-screen reading interface) of an e-book application, the user can perform a horizontal swipe operation (or a horizontal swipe gesture) on the reading interface to instruct the e-book application to turn the page, i.e., to trigger a change in the display content in the reading interface. Generally, the changed display content in the reading interface of the e-book application mainly includes text content, and the CPU resources required for drawing and rendering an image frame corresponding to the reading interface are relatively small. The image frame corresponding to the reading interface includes an image frame of the reading interface after the change in the display content, and also includes an image frame corresponding to a transition effect that connects the change in the display content.
[0051] It can be understood that the swipe-off speed is generally related to the swipe habits of the user, and the electronic device cannot intervene. The faster the swipe-off speed of the user, the longer the frequency-raising duration of the electronic device in switching the display content of the reading interface, and the more CPU resources are wasted.
[0052] In addition, during the display of the reading interface of the e-book application by the electronic device, the user will frequently swipe, and each swipe will raise the frequency, increase the power consumption of the electronic device, and cumulatively waste a large amount of CPU resources.
[0053] In some embodiments, the electronic device can limit the frequency-raising duration of the swipe to be within an energy-saving frequency-raising duration. It can be understood that the energy-saving frequency-raising duration is a preconfigured time value, and the length of the energy-saving frequency-raising duration is relatively short. For example, it can be 150 ms. In this way, the frequency-raising duration of the electronic device for each swipe operation does not exceed 150 ms. Thus, the electronic device can avoid a long frequency-raising duration of the swipe during the display of the reading interface of the e-book application, and substantially waste a large amount of CPU resources.
[0054] However, in a scenario where the frequency-raising duration of the swipe is limited to a relatively short duration, the frequency-raising duration of the electronic device for the swipe operation of the user will be limited during the display of the application interface of any application program by the electronic device.
[0055] For example, as Figure 1In the illustrated scenario, the electronic device displays a scenario of an application main interface 101 of a video application, the application main interface 101 includes a tab bar 102, and the tab bar 102 includes a plurality of tabs, each tab corresponding to a tab page. For example, a home tab 103 corresponds to a home tab page 104, and a hot list tab 105 corresponds to a hot list tab page 106. In a case where the home tab 103 in the application main interface 101 is in a selected state, the application main interface 101 displays the tab page 104. In this scenario, the user can trigger switching of the tab page displayed in the application main interface 101 by a horizontal swipe operation. In other words, the user's swipe operation can trigger a change in the display content of the application main interface 101, such as switching from displaying the tab page 104 to displaying the tab page 106. In addition, the display content of the tab page 106 is mainly dynamic images, and the CPU resources required to load the tab page 106 are relatively large. The process of loading the tab page 106 includes: drawing and rendering the dynamic effect of switching the tab page 104 to the tab page 106, and drawing and rendering the tab page 106. However, in a scenario where the device temperature of the electronic device is too high to cause frequency limiting, the electronic device only raises the frequency for 150 ms based on the swipe operation, and within the 150 ms of frequency raising, the electronic device cannot complete the loading of the tab page 106. After 150 ms, the electronic device continues to limit the working frequency of the CPU, resulting in insufficient CPU resources for loading the tab page, and problems such as frame loss and lag.
[0056] In addition, in a scenario of cold start of the video application, the electronic device does not cache content related to the tab page 106, and due to the short time of the swipe frequency raising, the CPU resources for loading the tab page 106 are insufficient. In response to the user's swipe operation, the time for loading the tab page 106 is relatively long. In comparison, the user directly clicks the hot list tab 105 to trigger loading of the tab page 106, which is faster.
[0057] The following takes the frequency raising data of several scenarios of electronic devices in related technologies for horizontal swipe operations as an example, as shown in Tables 1, 2, and 3:
[0058] Table 1
[0059]
[0060] Table 2
[0061]
[0062] Table 3
[0063]
[0064] It can be seen that in the related art, the sliding frequency raising duration of device 1 for horizontal sliding operation is limited to 3s, the sliding frequency raising duration of device 2 for horizontal sliding operation is not limited, and the sliding frequency raising duration of device 3 for horizontal sliding operation is limited to 150ms. Obviously, it is difficult for any of the above devices to balance performance and energy consumption. In particular, device 3 is prone to frame loss and lag.
[0065] To solve the above problems, an embodiment of the present application provides a device control method, applied to an electronic device. The electronic device can dynamically adjust the maximum frequency raising duration for sliding operation according to different display scenarios, so as to avoid insufficient CPU resources caused by excessive CPU resource consumption, and thus avoid problems such as frame loss and lag.
[0066] Among them, the different display scenarios refer to scenarios of displaying different application interfaces of different application programs, that is, the maximum frequency raising duration for sliding operation may be different during the display of different application interfaces of different application programs by the electronic device, and the maximum frequency raising duration for sliding operation may also be different during the display of different application interfaces of the same application program by the electronic device, so as to flexibly limit the sliding frequency raising duration based on the display scenario.
[0067] In some embodiments, the electronic device can be a mobile phone, a tablet computer, a laptop computer, a handheld computer, a notebook computer, an ultra-mobile personal computer (UMPC), a netbook, a personal digital assistant (PDA), an augmented reality (AR) \ virtual reality (VR) device, or other Android devices, etc., and the specific form of the electronic device is not specially limited in the embodiments of the present application.
[0068] It can be understood that the software system of the electronic device can adopt a layered architecture, an event-driven architecture, a microkernel architecture, a microservice architecture, or a cloud architecture. The embodiments of the present application take a layered architecture system as an example to exemplarily illustrate the software structure of the electronic device.
[0069] Figure 2 A software system architecture diagram of the electronic device is shown. The layered architecture of the electronic device divides software and hardware into several layers, each layer has a clear role and division of labor. Layers communicate with each other through software interfaces. In some embodiments, the electronic device can include, for example, an application program layer, a program framework layer, a local layer, a local hardware abstraction layer (HAL), and a kernel layer.
[0070] Exemplarily, the application program layer can include a series of application programs.
[0071] As shown in Figure 2 , the application program layer can include an e-book application, a video application, a news application, a desktop application, and the like, and can also include an application not shown in Figure 2 .
[0072] Exemplarily, the program framework provides an application programming interface (API) and a programming framework for the application programs in the application program layer. The program framework layer includes some pre-defined functions.
[0073] As shown in Figure 2 , the program framework layer can include an iAware non-real-time subsystem, an iAware real-time subsystem, and a resource scheduling (Uniperf) interface.
[0074] The iAware is the name of an artificial intelligence (AI) management tool, which can trigger system resource scheduling and improve the performance of the electronic device. The iAware is divided into a real-time subsystem and a non-real-time subsystem.
[0075] As shown in Figure 2 , the iAware non-real-time subsystem includes a configuration parsing module. Exemplarily, the configuration parsing module can parse a configuration file of the electronic device during the booting process of the electronic device. For example, an iaware_config.xml is parsed, which includes a maximum frequency boosting duration corresponding to one or more application programs. The iaware_config.xml also includes information indicating whether to enable a dynamic frequency boosting function, which can also be enabling information of the dynamic frequency boosting function. In the case of enabling the dynamic frequency boosting function, the electronic device can execute the device control method provided in the embodiments of the present application. In the case of not enabling the dynamic frequency boosting function, the electronic device does not execute the device control method provided in the embodiments of the present application.
[0076] The iAware non-real-time subsystem can pass the parsed iaware_config.xml to the iAware real-time subsystem. The iAware real-time subsystem can obtain an application identifier of a foreground running application from the application program layer during the running process of the electronic device.
[0077] As shown in Figure 2As shown, the iAware real-time subsystem includes a resource manager service (RMS) and a window manager service (WMS). The RMS can receive iaware_config.xml and cache it in cache area 1 accessible to the RMS. The WMS can identify the foreground application based on the application identifier from the application layer. Additionally, the WMS can detect the real-time displayed application interface and identify the type of swipe operation, etc.
[0078] In addition, RMS can also call the Uniperf interface in the program framework layer to interact with the local layer through the Uniperf interface.
[0079] For example, the aforementioned native layer can also be called the service layer, used to provide basic capabilities such as graphics, video, and audio. The native layer includes native services and various linked libraries. The native layer can be implemented in C and C++, and the program framework layer can interact with the kernel layer through the native layer. Figure 2 As shown, the local layer includes a Uniperf client. The Uniperf client can invoke the Uniperf services in the local hardware abstraction layer (HAL).
[0080] The local HAL layer can encapsulate drivers in the kernel layer and provide an interface for calling the program framework layer, shielding the implementation details of the low-level hardware. The local HAL belongs to user space, while the kernel layer belongs to kernel space.
[0081] like Figure 3 As shown, the local HAL layer can be initialized during the power-on process of an electronic device. During initialization, the chip platform identification module in the Uniperf service can determine the chip platform of the electronic device.
[0082] Understandably, within the same type of electronic device, some devices use chip platform 1 provided by manufacturer 1, while others use chip platform 2 provided by manufacturer 2. During the operation of the Uniperf service, Uniperf services deployed on different chip platforms need to interact with the kernel layer using different platform interfaces. For example, chip platform 1 corresponds to platform interface 1, and chip platform 2 corresponds to platform interface 2. After the Uniperf service determines the chip platform configured on the local machine, it can write the chip platform information into a cache area 2 accessible to the Uniperf service. For example, if it determines that the local machine is configured with chip platform 1, the information for chip platform 1 is written into cache area 2.
[0083] In addition, in the process of initialization, the loading module in the Uniperf service can also load a policy configuration file into the cache area 2. The policy configuration file records a plurality of resource scheduling policies. For example, the plurality of resource scheduling policies include resource scheduling policies for different scenarios, which can include resource scheduling rules for CPUs, and can also include scheduling for resources such as GPUs, buses, and memories. For example, a resource scheduling policy corresponding to a scenario in which a horizontal sliding operation is detected. For example, a resource scheduling policy corresponding to a scenario in which a vertical sliding operation (also referred to as a vertical swipe) of a user is detected. For example, a resource scheduling policy corresponding to a scenario in which a game application is running in the foreground.
[0084] The Uniperf service can receive control instructions from the Uniperf client. For example, the Uniperf client is included in the local layer, and the iAware real-time subsystem can call the Uniperf service of the local layer to send control instructions to the Uniperf service. For another example, the Uniperf client is also included in the local HAL layer. Other services (such as camera services, face recognition, and fingerprint recognition) in the electronic device can call the Uniperf client in the local HAL layer to send control instructions to the Uniperf service.
[0085] The analysis parameter module in the Uniperf service can analyze parameters in the control instructions to identify the stub corresponding to the control instructions. For example, the control instructions indicate that a horizontal sliding operation is received, and the analysis parameter module can analyze the stub related to the horizontal sliding operation. The node policy module in the Uniperf service can find, from the cache area 2, a resource scheduling policy matching the analyzed stub according to one or more stubs. It can be understood that each resource scheduling policy is marked with one or more stub labels to describe the scenario to which the resource scheduling policy applies.
[0086] After the node policy module finds the matching resource scheduling policy, the node scheduling decision module in the Uniperf service generates a resource scheduling instruction according to the matching resource scheduling policy. After the node scheduling decision module generates the resource scheduling instruction, the adaptation execution module in the Uniperf service can read information of the native chip platform from the cache area 2, such as reading information of the chip platform 1. The adaptation execution module can pass the resource scheduling instruction to the drivers of various resource nodes in the kernel layer through the platform interface 1 matching the chip platform 1. For example, CPU drivers, GPU drivers, and the like.
[0087] Exemplarily, the kernel layer includes a plurality of kernel drivers, and exemplarily, the plurality of kernel drivers include drivers of various resource nodes. It can be understood that the resource nodes can be hardware providing system resources, such as CPUs, GPUs, and the like.
[0088] The implementation details of the method provided by the embodiments of the present application will be described below with reference to the drawings.
[0089] In some embodiments, Figure 4 An electronic device with a dynamic turbo function enabled is shown. As Figure 4 As shown, in the scenario that the electronic device runs a video application in the foreground, the electronic device can display an application main interface 101 of the video application, which can also be referred to as a first interface. Figure 4 In the scenario, the application main interface 101 displays a tab page 104 corresponding to a home page. In response to a vertical sliding operation 1 (which can also be referred to as a first vertical sliding operation) of a user, the actual CPU turbo time of the electronic device is t1 (which can also be referred to as a second target time). In response to a horizontal sliding operation 1 (which can also be referred to as a first horizontal sliding operation) of the user, the actual CPU turbo time of the electronic device is t2 (which can also be referred to as a first target time). The release speed of the vertical sliding operation 1 and the horizontal sliding operation 1 is V1. If the release speed V1 can trigger the sliding turbo time of the electronic device to reach a maximum value, t1 is the maximum turbo time of the vertical sliding operation, and t2 is the maximum turbo time of the horizontal sliding operation. t1 and t2 are different, t1 can be a maximum turbo time (such as 5s) or a regular turbo time (such as 3s) configured by the system, wherein the regular turbo time is slightly less than the maximum turbo time configured by the system. In other words, for different types of sliding operations, the maximum time of the actual CPU turbo executed by the electronic device provided by the embodiments of the present application is different.
[0090] In some embodiments, Figure 5 An electronic device with a dynamic turbo function disabled is shown. As Figure 5 As shown, in the scenario that the electronic device runs a video application in the foreground, the electronic device can display an application main interface 101 of the video application. Figure 5 In the scenario, the application main interface 101 displays a tab page 104 corresponding to a home page. In response to a vertical sliding operation 1 of a user, the actual CPU turbo time of the electronic device is t3. In response to a horizontal sliding operation 1 of the user, the actual CPU turbo time of the electronic device is t4. The release speed of the vertical sliding operation 1 and the horizontal sliding operation 1 is V1. If the release speed V1 can trigger the sliding turbo time of the electronic device to reach a maximum value, t3 is the maximum turbo time of the vertical sliding operation, and t4 is the maximum turbo time of the horizontal sliding operation.
[0091] With Figure 4The difference is that t3 and t4 are the same. For example, t3 and t4 are both not greater than 150 ms. For another example, t3 and t4 are both not greater than the maximum frequency boosting duration or the regular frequency boosting duration configured by the system, which is not limited in the present application. That is, the electronic device can not distinguish between the horizontal sliding operation and the vertical sliding operation, and adopt the same rule to limit the maximum frequency boosting duration of the horizontal sliding operation and the vertical sliding operation, without starting the dynamic frequency boosting function.
[0092] As an implementation manner, as shown in Figure 6 The electronic device includes a touchable display screen. The program framework layer of the electronic device further includes an input event (Input) module. When the electronic device executes the device control method provided in the embodiments of the present application, the signaling interaction between the various software and hardware modules is as follows:
[0093] S101, when detecting the sliding operation of the user, the display screen reports the touch parameters corresponding to the sliding operation to the Input module.
[0094] In some embodiments, the touch layer (TP) of the display screen can sense the touch operation of the user, trigger the TP driver to scan, and obtain the touch parameters (touch position, touch force, touch duration, etc.) corresponding to the above touch. It can be understood that the sliding operation is also a type of touch operation. When the user makes a sliding operation on the display screen, the TP can detect the touch parameters corresponding to the sliding operation, such as the touch starting point coordinates, touch end point coordinates, and touch trajectory coordinates of the sliding operation.
[0095] In some embodiments, the display screen can encapsulate the touch parameters corresponding to the sliding operation as a raw input event, send the raw input event to the Input module, and realize the reporting of the touch parameters corresponding to the sliding operation.
[0096] In other possible embodiments, the electronic device includes a touchpad independent of the display screen, such as the touchpad of a notebook computer. After the touchpad detects the touch parameters of the sliding operation, the touchpad can also encapsulate the raw input event and send it to the Input module.
[0097] S102, the Input module generates a touch event corresponding to the sliding operation.
[0098] In some embodiments, the Input module can process the raw input event, such as translation and encapsulation, to obtain an input event (such as a touch event) containing more information. For example, the touch event not only contains the touch starting point coordinates, touch end point coordinates, and touch trajectory coordinates of the sliding operation, but also can include the off-hand speed information of the sliding operation. Then, the Input module can pass the touch event to the application program or software module that subscribes to the touch event.
[0099] In some embodiments, the Input module can acquire the recognition rules of various types of gestures through the UI interface of the program framework layer. The recognition rules of various types of gestures include the recognition rule of the sliding operation. After the Input module generates the touch event, the gesture type corresponding to the touch event can be determined according to the recognition rule of the given type of gesture. For example, the Input module determines that the touch event meets the recognition rule of the sliding gesture, and determines that the touch event corresponds to the sliding operation. In the case where the touch event is determined to correspond to the sliding operation, the process proceeds to S103.
[0100] S103, the Input module sends the touch event to the iAware real-time subsystem.
[0101] In some embodiments, the WMS in the iAware real-time subsystem receives the touch event from the Input module.
[0102] S104, the iAware real-time subsystem determines that the electronic device has enabled the dynamic frequency boosting function.
[0103] In some embodiments, the WMS in the iAware real-time subsystem can acquire the iaware_config.xml from the RMS. According to the enabling information of the dynamic frequency boosting function carried in the iaware_config.xml, it is determined whether the dynamic frequency boosting function of the electronic device is enabled. In this embodiment, the scenario in which the dynamic frequency boosting function of the electronic device is enabled is taken as an example. Correspondingly, the WMS determines that the dynamic frequency boosting function of the electronic device is enabled according to the enabling information of the dynamic frequency boosting function carried in the iaware_config.xml, and the process proceeds to S105 or S110.
[0104] S105, the iAware real-time subsystem determines that the type of the sliding operation is the horizontal sliding operation according to the touch event.
[0105] In some embodiments, the WMS in the iAware real-time subsystem can determine whether the sliding operation corresponding to the touch event is the horizontal sliding operation or the vertical sliding operation according to the touch starting point coordinates and the touch ending point coordinates in the touch event. For example, if the difference between the horizontal coordinates of the touch starting point coordinates and the touch ending point coordinates is less than a preset threshold, it is determined that the sliding operation corresponding to the touch event is the horizontal sliding operation, and the process proceeds to S106.
[0106] S106, the iAware real-time subsystem sends a control instruction 1 to the Uniperf interface, wherein the control instruction 1 contains a parameter indicating the horizontal sliding.
[0107] In some embodiments, after the WMS in the iAware real-time subsystem identifies that the type of the sliding operation is a horizontal sliding operation, the Uniperf interface can send a control instruction 1 to the Uniperf client by invoking the RMS in the iAware real-time subsystem.
[0108] S107, the Uniperf interface sends the control instruction 1 to the Uniperf client.
[0109] S108, the Uniperf client sends the control instruction 1 to the Uniperf service.
[0110] S109, the Uniperf service enables the resource scheduling strategy corresponding to the horizontal sliding operation in response to the control instruction 1.
[0111] In some embodiments, the parsing parameter module of the Uniperf service can parse the stake point corresponding to the horizontal sliding scenario based on the control instruction 1. Then, the node strategy module in the Uniperf service can match the resource scheduling strategy corresponding to the horizontal sliding operation based on the parsed stake point. In this way, the node scheduling decision module in the Uniperf service can dynamically schedule various system resources according to the resource scheduling strategy corresponding to the horizontal sliding operation in combination with the actual scenario.
[0112] In the embodiments of the present application, the CPU frequency boosting duration in the resource scheduling strategy corresponding to the horizontal sliding operation is from the iAware real-time subsystem in the program framework layer.
[0113] S110, the iAware real-time subsystem identifies that the type of the sliding operation is a vertical sliding operation according to the touch event.
[0114] In some embodiments, the WMS in the iAware real-time subsystem can determine whether the sliding operation corresponding to the touch event is a horizontal sliding operation or a vertical sliding operation according to the touch start point coordinates and the touch end point coordinates in the touch event. For example, if the difference between the vertical axis coordinates of the touch start point coordinates and the touch end point coordinates is less than a preset threshold, it can be determined that the sliding operation corresponding to the touch event is a vertical sliding operation, and the process proceeds to S111.
[0115] S111, the iAware real-time subsystem sends a control instruction 2 to the Uniperf interface, wherein the control instruction 2 contains a parameter indicating a vertical sliding.
[0116] S112, the Uniperf interface sends the control instruction 2 to the Uniperf client.
[0117] S113, the Uniperf client sends the control instruction 2 to the Uniperf service.
[0118] In some embodiments, the implementation details of S111-S113 can be found in S106-S108, and will not be repeated here.
[0119] S114, the Uniperf service responds to control command 2 and enables the resource scheduling strategy corresponding to the vertical sliding operation.
[0120] In some embodiments, the parameter parsing module of the Uniperf service can parse the stubs corresponding to the vertical sliding scenario based on control command 2. Then, the node policy module in the Uniperf service can match the resource scheduling policy corresponding to the vertical sliding operation based on the parsed stubs. In this way, the node scheduling decision module in the Uniperf service can dynamically schedule various system resources according to the resource scheduling policy corresponding to the vertical sliding operation, based on the actual scenario.
[0121] In the embodiments of this application, the CPU frequency boosting duration in the resource scheduling strategy corresponding to the vertical sliding operation is determined according to the native strategy provided by the system.
[0122] For example, the maximum boost duration for a vertical slide operation could be the system's maximum boost duration. The system's maximum boost duration is the native CPU boost limit set in the operating system to prevent excessive boosting from increasing the power consumption of electronic devices. For instance, the system's maximum boost duration could be 5 seconds.
[0123] For example, the maximum boost duration for longitudinal sliding operation can also be a regular boost duration. For instance, the regular boost duration can be slightly less than the system's maximum boost duration but greater than the energy-saving boost duration; for example, the regular boost duration is 3 seconds.
[0124] In addition, when the electronic device has the dynamic frequency boosting function enabled, the maximum frequency boosting duration may vary depending on the application interface displayed by the electronic device and the horizontal swipe operation, thus achieving dynamic frequency boosting for different applications.
[0125] like Figure 7 As shown, during the application interface 701 displayed by the electronic device, a horizontal swipe operation 2 from the user is received. The release speed of the user's hand in the horizontal swipe operation 2 is V2. If the release speed V2 can trigger the electronic device to reach its maximum swipe frequency boost duration, during the application interface 701, the actual CPU frequency boost duration executed by the electronic device in response to the horizontal swipe operation 2 is t5, where t5 is the maximum achievable frequency boost duration for the horizontal swipe operation during the application interface 701. Figure 7As shown, during the application interface display 702 of the electronic device, a horizontal swipe operation 3 is received from the user. The release speed of the horizontal swipe operation 3 is also V2. During the application interface display 702, the actual CPU frequency boosting time in response to the horizontal swipe operation 3 is t6, where t6 is the maximum frequency boosting time achievable by the electronic device for the horizontal swipe operation during the application interface display 702.
[0126] like Figure 7 As shown, application interface 701 and application interface 702 are interfaces from different applications, and the values of t5 and t6 may also be different. That is, when displaying different application interfaces, the maximum boost duration for the swipe operation may differ.
[0127] In some embodiments, the electronic device can categorize applications into multiple classes. For example, the electronic device can categorize applications into a first class of applications, a second class of applications, and a third class of applications. The first class of applications constitutes a first application set, the second class of applications constitutes a second application set, and the third class of applications belongs to neither the first nor the second application set.
[0128] During the display of the application interfaces of the three types of applications mentioned above, the maximum boost duration that can be achieved for swiping operations may differ.
[0129] Among these, the first type of applications, including those detecting user swipe gestures, require less CPU resources during operation (such as e-book applications). The electronic device includes a third-party signature database containing application identifiers for the first type of applications. The electronic device can limit the swipe gesture boost duration for the first type of applications to a preset energy-saving boost duration (e.g., 150ms). That is, when running the first type of application, the maximum boost duration for swipe gestures is 150ms.
[0130] Taking the first type of application (such as an e-book application) running in the foreground of an electronic device as an example, after the electronic device recognizes that the application running in the foreground is an e-book application, it can limit the sliding frequency boosting time corresponding to the horizontal swipe operation according to the energy-saving frequency boosting time.
[0131] like Figure 8 As shown, when the electronic device is running an e-book application (also known as the first application) in the foreground, a user's swipe operation 4 is detected. The release speed of the swipe operation 4 is V3. If the release speed V3 can trigger the electronic device's swipe frequency boost duration to its maximum value, during the period when the electronic device is running the e-book application in the foreground, in response to the swipe operation 4, the actual CPU frequency boost time of the electronic device is t7, where t7 is 150ms.
[0132] As one implementation method, inFigure 8 In the scenario shown, the electronic device executes the device control method provided in the embodiments of the present application as follows. Figure 9 As shown, the signaling interaction between the various software and hardware modules is as follows:
[0133] S201, in response to an opening operation for the e-book application, the e-book application is run in the foreground.
[0134] The opening operation can be an operation indicating that the application is run in the foreground. For example, the opening operation can be an operation in which the user clicks on the application icon or the application notification of the application. For another example, the opening operation can also be a voice instruction in which the user speaks to run the application in the foreground, and the embodiments of the present application do not make specific limitations thereto.
[0135] In an exemplary scenario, the electronic device can run the desktop application in the foreground after being unlocked, and display a desktop interface provided by the desktop application. The desktop interface can include an application icon of the e-book application. In response to the user clicking on the application icon of the e-book application, the e-book application is run in the foreground.
[0136] In another exemplary scenario, the electronic device displays an application notification from the e-book application, and in response to the user clicking on the application notification of the e-book application, the e-book application is run in the foreground.
[0137] In another exemplary scenario, the electronic device detects that the user speaks a voice instruction to open the e-book application, and the e-book application is run in the foreground.
[0138] In addition, during the running of the e-book application in the foreground, the electronic device can display an application interface of the e-book application.
[0139] In addition, in response to the e-book application running in the foreground, the process enters S202.
[0140] S202, the e-book application sends application feature information 1 corresponding to the e-book application to the iAware real-time subsystem.
[0141] The application feature information 1 can be used to uniquely identify the e-book application. For example, the application feature information 1 can be an application identifier such as the application name and the application package name of the e-book application, and the embodiments of the present application do not make specific limitations thereto.
[0142] In some embodiments, after the e-book application runs in the foreground, the e-book application delivers the application feature information 1 to the iAware real-time subsystem, which is received and cached by the WMS in the iAware real-time subsystem. It can be understood that during the running of the electronic device, when other application programs run in the foreground, the application feature information of the application programs can also be sent to the iAware real-time subsystem, which is received and cached by the WMS in the iAware real-time subsystem. The application feature information received later can replace the application feature information received earlier, so that the WMS can obtain the application feature information of the application program running in the foreground in time.
[0143] S203, when detecting the horizontal sliding operation 4 of the user, the display screen reports the touch parameters corresponding to the horizontal sliding operation 4 to the Input module.
[0144] S204, the Input module generates a touch event 1 corresponding to the horizontal sliding operation 4, wherein the touch event 1 contains the off-hand speed of the horizontal sliding operation 4.
[0145] S205, the Input module sends the touch event 1 to the iAware real-time subsystem.
[0146] In some embodiments, the implementation details of S203-S205 can refer to S101-S103, which will not be described here.
[0147] S206, the iAware real-time subsystem determines the CPU frequency raising duration 1 according to the off-hand speed of the horizontal sliding operation 4.
[0148] In some embodiments, after the WMS in the iAware real-time subsystem receives the touch event 1, the off-hand speed carried in the touch event 1 (i.e., the off-hand speed of the horizontal sliding operation 4) can be combined with the system preconfigured rules to determine the CPU frequency raising duration 1. The value of the CPU frequency raising duration 1 is related to the off-hand speed of the horizontal sliding operation 4, and the value of the CPU frequency raising duration 1 does not exceed the system maximum frequency raising duration.
[0149] S207, the iAware real-time subsystem determines that the dynamic frequency raising function is enabled.
[0150] In some embodiments, the implementation details of S207 can refer to S104, which will not be described here. In addition, after S207, the steps corresponding to S105-S109 can also be performed, which are not limited by the embodiments of the application.
[0151] S208, in the case that the application feature information 1 matches the first type of application program in the third-party feature library, the iAware real-time subsystem takes the minimum value between the CPU frequency boosting duration 1 and the energy-saving frequency boosting duration (150 ms) as the target CPU frequency boosting duration.
[0152] In response to receiving the touch event 1 of the horizontal sliding operation 4, the WMS in the iAware real-time subsystem can compare the latest cached application feature information 1 with the third-party feature library.
[0153] For example, the WMS compares whether the application program indicated by the application feature information 1 is the same as the application program indicated by the application identifier of the first type of application program in the third-party feature library. If the application program indicated by the application feature information 1 is the same as the application program indicated by the application identifier of any first type of application program, it is determined that the application feature information 1 matches the first type of application program in the third-party feature library.
[0154] In the case that the application feature information 1 matches the first type of application program in the third-party feature library, the WMS in the iAware real-time subsystem compares the CPU frequency boosting duration 1 and the energy-saving frequency boosting duration (150 ms), and takes the smaller value as the target CPU frequency boosting duration. For example, if the CPU frequency boosting duration 1 is smaller than the energy-saving frequency boosting duration (150 ms), the CPU frequency boosting duration 1 is taken as the target CPU frequency boosting duration. For example, if the CPU frequency boosting duration 1 is not smaller than the energy-saving frequency boosting duration (150 ms), 150 ms is taken as the target CPU frequency boosting duration.
[0155] S209, the iAware real-time subsystem sends a control instruction 3 to the Uniperf interface, and the control instruction 3 includes the target CPU frequency boosting duration.
[0156] In some embodiments, the WMS sends the target CPU frequency boosting duration to the RMS, and the RMS can send a control instruction 3 to the Uniperf interface, and the control instruction 3 includes the target CPU frequency boosting duration.
[0157] S210, the Uniperf interface sends the control instruction 3 to the Uniperf client.
[0158] S211, the Uniperf client sends the control instruction 3 to the Uniperf service.
[0159] S212, the Uniperf service controls the CPU to boost the working frequency within the target CPU frequency boosting duration in response to the control instruction 3.
[0160] In some embodiments, the Uniperf service enables the resource scheduling strategy corresponding to the swipe operation in response to the control instruction 3. During the period of enabling the resource scheduling strategy corresponding to the swipe operation, the parameter parsing module of the Uniperf service can parse the target CPU frequency boosting duration carried in the control instruction 3. The node scheduling decision module in the Uniperf service can send the target CPU frequency boosting duration to the CPU driver through the platform interface 1 called by the adaptive execution module according to the target CPU frequency boosting duration, so as to trigger the CPU driver to control the CPU to boost the working frequency within the target CPU frequency boosting duration.
[0161] In other possible embodiments, the maximum frequency boosting duration for the swipe operation can also be different during the period of displaying different application interfaces of the first type of application program.
[0162] Continuing with the example that the electronic device runs the first type of application program (the e-book application) in the foreground, after the electronic device identifies that the application program running in the foreground is the e-book application and displays the specified application interface (for example, the reading interface or the full-screen reading interface) of the e-book application, the electronic device can limit the swipe frequency boosting duration corresponding to the swipe operation according to the energy-saving frequency boosting duration. After the electronic device identifies that the application program running in the foreground is the e-book application and displays other application interfaces (for example, the e-book main interface) of the e-book application, the electronic device can limit the swipe frequency boosting duration corresponding to the swipe operation according to the regular frequency boosting duration.
[0163] As shown in FIG. 10A, Figure 10 The electronic device runs the e-book application in the foreground and displays the reading interface 1001. The reading interface 1001 does not contain a window status bar and can also be referred to as a full-screen reading interface. During the period of displaying the reading interface 1001, the horizontal swipe operation 5 of the user is detected. The release speed V4 of the horizontal swipe operation 5 can trigger the electronic device to reach the maximum swipe frequency boosting duration. During the period of displaying the reading interface 1001, in response to the horizontal swipe operation 5, the actual CPU frequency boosting time of the electronic device is t8, and t8 is 150 ms.
[0164] As a comparison, as shown in FIG. 10B, Figure 10 The electronic device runs the e-book application in the foreground and displays the application main interface 1002 of the e-book. The application main interface 1002 of the e-book contains a window status bar 1003. During the period of displaying the application main interface 1002, the horizontal swipe operation 6 of the user is detected. The release speed V4 of the horizontal swipe operation 6 can trigger the electronic device to reach the regular frequency boosting duration (for example, 3 s). During the period of displaying the application main interface 1002, in response to the horizontal swipe operation 6, the actual CPU frequency boosting time of the electronic device is t9.
[0165] As an implementation manner, in Figure 10In the scenario shown, when an electronic device executes a device control method provided in this application embodiment, the signaling interaction process between various software and hardware modules and Figure 9 Similar, the difference lies in S208.
[0166] exist Figure 10 In the scenario shown, besides determining whether application feature information 1 matches the first type of application in the third-party feature library, it is also necessary to identify whether the currently displayed application interface is the specified application interface (e.g., referred to as the third interface). For example, the WMS in the iAware real-time subsystem can determine whether the currently displayed application interface is the specified application interface based on the interface element feature information of the currently displayed application interface. For instance, if the specified application interface for an e-book application is a reading interface, and the e-book application is running in the foreground on an electronic device, the WMS can identify that the specified application interface is currently being displayed if the interface element feature information of the currently displayed application interface indicates that there is no window status bar. The WMS can detect that the interface element feature information of the currently displayed application interface indicates that there is a reading interface. Figure 10 The status bar 1003 shown in the window indicates that another application interface is currently being displayed.
[0167] Correspondingly, in Figure 10 In the scenario shown, before S208, the CPU boost duration is calculated based on the release speed of the swiping operation 5 (referred to as the third swiping). S208 can be: when the application feature information 1 matches the first type of application in the third-party feature library, and it is identified that the specified application interface is currently being displayed (referred to as the third interface), the minimum value between the calculated CPU boost duration and the power-saving boost duration (150ms) is taken as the target CPU boost duration, that is, the fourth target duration.
[0168] exist Figure 10 In the scenario shown, prior to S208, the CPU boost duration is calculated based on the release speed of the swipe operation 6 (referred to as the second swipe). S208 could also be: if the application feature information 1 matches the first type of application in the third-party feature library, and it is identified that another application interface (referred to as the second interface) is currently being displayed, the minimum value between the calculated CPU boost duration and the normal boost duration (3s) is taken as the target CPU boost duration, i.e., the third target duration.
[0169] In some embodiments, the CPU resources required by the second type of application during operation (including scenarios where user swipe operations are detected) are more than those required by the first type of application. Furthermore, the CPU resources required by different second type of applications during operation (including scenarios where user swipe operations are detected) may be the same (or similar), or they may be different (or significantly different). This application embodiment does not specifically limit this. For example, the second type of application includes video applications, news applications, desktop applications, etc.
[0170] The `iaware_config.xml` file of an electronic device contains a preset list. This list includes the application identifier of a second-category application and its corresponding configured boost duration. The more CPU resources a second-category application requires when a swipe operation is detected, the longer its configured boost duration. The electronic device can limit the swipe boost duration for each second-category application according to the configured boost duration in the preset list. That is, when running a second-category application, the maximum boost duration for a swipe operation is the same as the configured boost duration recorded in the preset list. For example, if the electronic device is running second-category applications (desktop and video applications) in the foreground, after identifying a desktop application, it can limit the swipe boost duration for swipe operations according to the desktop application's configured boost duration. Similarly, if the electronic device identifies a video application, it can limit the swipe boost duration for swipe operations according to the video application's configured boost duration.
[0171] like Figure 11 As shown, the preset frequency boosting duration for desktop applications (referred to as the third application) is 600ms (referred to as the second frequency boosting duration), and the preset frequency boosting duration for video applications (referred to as the second application) is 1s (referred to as the first frequency boosting duration).
[0172] The electronic device is running a video application in the foreground, displaying the application's main interface 101 (also known as the fourth interface). During the display of the main interface 101, a user's horizontal swipe operation 7 (fourth horizontal swipe) is detected. The release speed of the horizontal swipe operation 7 is V5. If the release speed V5 can trigger the electronic device's swipe-based CPU boost duration to its maximum value, during the foreground operation of the video application, in response to the horizontal swipe operation 7, the actual CPU boost duration executed by the electronic device is t10 (fifth target duration), where t10 is 1 second.
[0173] In response to the operation of the user indicating to return to the desktop application, the electronic device foregrounds the desktop application, and displays the desktop interface 1101 (referred to as a fifth interface). During the display of the desktop interface 1101 by the electronic device, the horizontal swipe operation 8 (referred to as a fifth horizontal swipe) of the user is detected. The release speed of the horizontal swipe operation 8 is V5. During the foregrounding of the desktop application by the electronic device, in response to the horizontal swipe operation 8, the actual time for frequency increasing of the CPU is t11 (referred to as a sixth target time length), and t11 is 600 ms.
[0174] As an implementation manner, in the Figure 11 As shown in the scenario, the electronic device performs a device control method provided by an embodiment of the present application. Figure 12 As shown, the signaling interaction between the various software and hardware modules is as follows:
[0175] S301, in response to an opening operation for a video application, foregrounding the video application.
[0176] In an exemplary scenario, after the electronic device is unlocked, the desktop application can be foregrounded, and a desktop interface provided by the desktop application is displayed. The desktop interface can include an application icon of the video application. In response to the user clicking the application icon of the video application, the video application is foregrounded.
[0177] In another exemplary scenario, the electronic device displays an application notification from the video application. In response to the user clicking the application notification of the video application, the video application is foregrounded.
[0178] In another exemplary scenario, the electronic device detects that the user speaks a voice instruction to open the video application, and foregrounds the video application.
[0179] S302, the video application sends application feature information 2 corresponding to the video application to the iAware real-time subsystem.
[0180] The application feature information 2 can uniquely indicate the video application. For example, the application feature information 2 can be an application identifier such as an application name or an application package name of the video application. Embodiments of the present application do not make specific limitations on this. In addition, the WMS in the iAware real-time subsystem can receive and cache the application feature information 2.
[0181] S303, when the display screen detects the horizontal swipe operation 7 of the user, the display screen reports touch parameters corresponding to the horizontal swipe operation 7 to the Input module.
[0182] S304, the Input module generates a touch event 2 corresponding to the horizontal swipe operation 7, wherein the touch event 2 includes the release speed of the horizontal swipe operation 7.
[0183] S305, the Input module sends the touch event 2 to the iAware real-time subsystem.
[0184] It can be understood that, before S305, the Input module can also identify that the type of the horizontal sliding operation 7 is horizontal sliding according to the touch event 2. After S305, the flow enters S306.
[0185] S306, the iAware real-time subsystem determines the CPU frequency increasing duration 2 according to the off-hand speed of the horizontal sliding operation 7.
[0186] The CPU frequency increasing duration 2 is similar to the CPU frequency increasing duration 1, and both are determined according to the off-hand speed and the system preconfigured rules, and details are not described herein.
[0187] S307, the iAware real-time subsystem determines that the dynamic frequency increasing function is enabled.
[0188] S308, in the case that the application characteristic information 2 matches the application identifier of the video application in the preset list, the iAware real-time subsystem takes the minimum value between the CPU frequency increasing duration 2 and the preconfigured frequency increasing duration (1s) of the video application in the preset list as the target CPU frequency increasing duration.
[0189] S309, the iAware real-time subsystem sends the control instruction 4 including the target CPU frequency increasing duration to the Uniperf interface.
[0190] S310, the Uniperf interface sends the control instruction 4 to the Uniperf client.
[0191] S311, the Uniperf client sends the control instruction 4 to the Uniperf service.
[0192] S312, the Uniperf service responds to the control instruction 4 and controls the CPU to increase the working frequency within the target CPU frequency increasing duration.
[0193] S313, in response to the operation of returning to the desktop application, the desktop interface of the desktop application is displayed.
[0194] S314, the desktop application sends the application characteristic information 3 corresponding to the desktop application to the iAware real-time subsystem.
[0195] The application characteristic information 3 can uniquely indicate the desktop application, for example, can be an application identifier such as an application name and an application package name of the desktop application, and details are not limited herein. In addition, the WMS in the iAware real-time subsystem can receive and cache the application characteristic information 3.
[0196] S315, when detecting the horizontal sliding operation 8 of the user, the display screen reports the touch parameters corresponding to the horizontal sliding operation 8 to the Input module.
[0197] S316, the Input module generates a touch event 3 corresponding to the horizontal sliding operation 8, wherein the touch event 3 includes the off-hand speed of the horizontal sliding operation 8.
[0198] S317, the Input module sends the touch event 3 to the iAware real-time subsystem.
[0199] It can be understood that before S317, the Input module can also identify the type of the horizontal sliding operation 8 as horizontal sliding according to the touch event 3. After S317, the process enters S318.
[0200] S318, the iAware real-time subsystem determines the CPU frequency increasing duration 3 according to the off-hand speed of the horizontal sliding operation 8.
[0201] The CPU frequency increasing duration 3 is similar to the CPU frequency increasing duration 1, and both are determined according to the off-hand speed and the system preconfigured rules, and details are not described herein.
[0202] S319, the iAware real-time subsystem determines that the dynamic frequency increasing function is turned on.
[0203] S320, in the case that the application characteristic information 3 matches the application identifier of the desktop application in the preset list, the iAware real-time subsystem takes the minimum value between the CPU frequency increasing duration 3 and the configuration frequency increasing duration (600 ms) of the desktop application in the preset list as the target CPU frequency increasing duration.
[0204] S321, the iAware real-time subsystem sends a control instruction 5 including the target CPU frequency increasing duration to the Uniperf interface.
[0205] S322, the Uniperf interface sends the control instruction 5 to the Uniperf client.
[0206] S323, the Uniperf client sends the control instruction 5 to the Uniperf service.
[0207] S324, the Uniperf service responds to the control instruction 5 and controls the CPU to increase the working frequency within the target CPU frequency increasing duration.
[0208] In the above embodiment, the CPU frequency increasing duration for the horizontal sliding operation can be flexibly limited for different second-type application programs, which reduces the power consumption while ensuring the performance of the electronic device.
[0209] In other possible embodiments, after the electronic device parses the iaware_config.xml, the electronic device can also load the preset list in the iaware_config.xml into the third-party feature library.
[0210] As shown in Figure 13 , after the electronic device detects the horizontal sliding operation, the electronic device identifies the application program running in the foreground based on the third-party feature library. For example, the electronic device identifies whether the application program running in the foreground is a first type of application program or a second type of application program.
[0211] If the electronic device identifies that the application program running in the foreground is the first type of application program, the electronic device obtains the interface element feature information in the interface currently displayed. For example, the WMS obtains the interface element feature information through DisplayContent.java. For example, the obtained interface element feature information indicates that the interface currently displayed does not contain a window status bar, or indicates that the interface currently displayed contains a browser interface element, and the electronic device identifies that the interface currently displayed is a specified application interface. In the case of identifying the specified application interface, the electronic device limits the sliding boost time length according to the energy-saving boost time length.
[0212] For example, the obtained interface element feature information indicates that the interface currently displayed contains a window status bar, and the electronic device determines that the specified application interface is not currently displayed, and displays other application interfaces.
[0213] In possible embodiments, the identification of the application program running in the foreground based on the third-party feature library and the obtaining of the interface element feature information in the interface currently displayed can be performed synchronously, and the embodiments of the present application do not make specific limitations in this regard.
[0214] If the electronic device identifies that the application program running in the foreground is the second type of application program, the electronic device limits the sliding boost time length according to the configured boost time length. As an implementation manner, as shown in Figure 14 , after the electronic device is powered on, the WMS creates a slideNormalBoost singleton. The iaware_config.xml is parsed by CpuXmlConfiguration.java in the WMS to obtain the corresponding preset list. In the scenario of running the second type of application program in the foreground, the slideNormalBoost can obtain the configured boost time length of the second type of application program running in the foreground from the preset list, and limit the sliding boost time length for the horizontal sliding operation according to the configured boost time length.
[0215] In other embodiments, the electronic device can not recognize the application program through the three-party feature library, which can be referred to as a third type of application program. For example, the electronic device does not configure the application identifier corresponding to the third type of application program. The electronic device can limit the sliding frequency raising time length corresponding to the third type of application program according to the system maximum frequency raising time length. That is, when the third type of application program is running, the maximum frequency raising time length for the horizontal sliding operation is the same as the system maximum frequency raising time length (or the regular frequency raising time length).
[0216] As shown in Figure 15 the above method can include the following steps:
[0217] S1, after the electronic device detects the sliding operation, the sliding frequency raising time length is determined according to the off-hand speed of the sliding operation. Wherein, the sliding frequency raising time length is not greater than the system maximum frequency raising time length.
[0218] S2, the electronic device can identify whether the sliding operation is a horizontal sliding operation.
[0219] If it is not a horizontal sliding operation, the process goes to S3. If it is a horizontal sliding operation, the process goes to S4.
[0220] S3, the electronic device determines that the target CPU frequency raising time length is the minimum value between the sliding frequency raising time length and the regular frequency raising time length.
[0221] In some embodiments, the electronic device can compare the size between the regular frequency raising time length (such as 3s) and the sliding frequency raising time length determined through S1, and take the smaller value of the two as the target CPU frequency raising time length. After determining the target CPU frequency raising time length, the process goes to S10.
[0222] In possible embodiments, if the electronic device does not enable the dynamic frequency raising function, after identifying in S2 that the sliding operation is not a horizontal sliding operation, the electronic device can also determine that the target CPU frequency raising time length is the minimum value between the sliding frequency raising time length and the energy saving frequency raising time length, which is not limited in the embodiments of the present application.
[0223] S4, whether the electronic device enables the dynamic frequency raising function.
[0224] In some embodiments, the electronic device can determine whether the electronic device enables the dynamic frequency raising function according to the enabling information of the dynamic frequency raising function in iaware_config.xml. If the dynamic frequency raising function is not enabled, the process goes to S5. If the dynamic frequency raising function is enabled, the process goes to S6.
[0225] In possible embodiments, in the case where the dynamic frequency raising function is not enabled, the process can also go to S3, which is not limited in the embodiments of the present application.
[0226] S5, the electronic device determines the target CPU frequency boosting duration as the minimum value between the sliding frequency boosting duration and the energy-saving frequency boosting duration.
[0227] In some embodiments, the electronic device can compare the energy-saving frequency boosting duration (e.g., 150 ms) with the sliding frequency boosting duration determined through S1, and determine the smaller one as the target CPU frequency boosting duration. After determining the target CPU frequency boosting duration, the flow proceeds to S10.
[0228] S6, whether the electronic device foregrounds a first type of application and displays a specified application interface.
[0229] In some embodiments, the electronic device can identify whether the first type of application is foregrounded based on the third-party feature library and the application feature information of the foregrounded application. In addition, the electronic device can also determine whether the specified application interface is displayed according to the interface element feature information in the currently displayed interface, which is described in the foregoing embodiments and will not be repeated here.
[0230] If the electronic device foregrounds the first type of application and displays the specified application interface, the flow proceeds to S5. If the electronic device does not foreground the first type of application, or does not display the specified application interface, the flow proceeds to S7.
[0231] For example, when the electronic book application is foregrounded and the reading interface is displayed, the flow proceeds to S5. When the electronic book application is not foregrounded, or the reading interface of the electronic book application is not displayed, the flow proceeds to S7.
[0232] S7, whether the electronic device foregrounds a second type of application.
[0233] In some embodiments, the electronic device can identify whether the second type of application is foregrounded based on the preset list in the third-party feature library and the application feature information of the foregrounded application. If the electronic device foregrounds the second type of application, the flow proceeds to S8. If the electronic device does not foreground the second type of application, the flow proceeds to S9.
[0234] S8, the electronic device determines the target CPU frequency boosting duration as the minimum value between the sliding frequency boosting duration and the configuration frequency boosting duration.
[0235] In some embodiments, when the electronic device foregrounds the second type of application, the electronic device can find the configuration frequency boosting duration corresponding to the foregrounded second type of application from the preset list. The electronic device can compare the found configuration frequency boosting duration with the sliding frequency boosting duration determined through S1, and determine the smaller one as the target CPU frequency boosting duration. After determining the target CPU frequency boosting duration, the flow proceeds to S10.
[0236] S9, the electronic device determines the target CPU frequency boosting duration as the minimum value between the sliding frequency boosting duration and the regular frequency boosting duration.
[0237] For example, when the electronic device runs the first type of application in the foreground and does not display the specified application interface, the electronic device can compare the regular frequency boosting duration (e.g., 3s) with the sliding frequency boosting duration determined by S1, and determine the smaller one as the target CPU frequency boosting duration. After determining the target CPU frequency boosting duration, the flow proceeds to S10.
[0238] For another example, when the electronic device does not run the first type of application nor the second type of application in the foreground, i.e., the electronic device runs the third type of application in the foreground, the electronic device can compare the regular frequency boosting duration (e.g., 3s) with the sliding frequency boosting duration determined by S1, and determine the smaller one as the target CPU frequency boosting duration. After determining the target CPU frequency boosting duration, the flow proceeds to S10.
[0239] For example, the fourth application belongs to the third type of application. The electronic device runs the fourth application in the foreground and displays the sixth interface of the fourth application. After detecting the sixth horizontal sliding of the user, the electronic device controls the CPU to boost the working frequency within a seventh target duration. The maximum value of the seventh target duration is the preset regular frequency boosting duration or the system maximum frequency boosting duration.
[0240] S10, the electronic device boosts the working frequency of the CPU within the target CPU frequency boosting duration.
[0241] In some embodiments, the implementation details of S10 can refer to the foregoing embodiments, which are not described herein.
[0242] Some embodiments of the present application also provide an electronic device, which can include a memory and one or more processors. The memory and the processor are coupled. The memory is configured to store computer program code including computer instructions. When the processor executes the computer instructions, the electronic device can perform various functions or steps performed by the electronic device in the above method embodiments.
[0243] For example, the electronic device can include a memory and one or more processors. The memory and the processor are coupled. The memory is configured to store computer program code including computer instructions. When the processor executes the computer instructions, the electronic device can perform various functions or steps performed by the electronic device in the above method embodiments. Figure 16As shown, the electronic device 100 can include a processor 110, an external memory interface 120, an internal memory 121, a universal serial bus (USB) interface 130, a charging management module 140, a power management module 141, a battery 142, an antenna 1, an antenna 2, a mobile communication module 150, a wireless communication module 160, an audio module 170, a speaker 170A, a receiver 170B, a microphone 170C, a headset jack 170D, a sensor module 180, a key 190, a motor 191, an indicator 192, a camera 193, a display screen 194, and a subscriber identification module (SIM) card interface 195, etc.
[0244] The sensor module 180 can include a pressure sensor, a gyro sensor, a barometric sensor, a magnetic sensor, an acceleration sensor, a distance sensor, a proximity light sensor, a fingerprint sensor, a temperature sensor, a touch sensor, an ambient light sensor, and a bone conduction sensor, etc.
[0245] It can be understood that the structure shown in the embodiment does not constitute a specific limitation on the electronic device 100. In other embodiments, the electronic device 100 can include more or fewer components than shown, or combine certain components, or split certain components, or different component arrangements. The components shown can be implemented in hardware, software, or a combination of software and hardware.
[0246] The processor 110 can include one or more processing units, for example: the processor 110 can include an application processor (AP), a modem processor, a graphics processing unit (GPU), an image signal processor (ISP), a controller, a memory, a video codec, a digital signal processor (DSP), a baseband processor, and / or a neural-network processing unit (NPU), etc. Different processing units can be independent devices, or can be integrated into one or more processors.
[0247] The controller can be the nerve center and command center of the electronic device 100. The controller can generate operation control signals according to instruction operation codes and timing signals, and complete the control of fetching and executing instructions.
[0248] The processor 110 can also include memory that stores instructions and data. In some embodiments, the memory in the processor 110 is a cache memory. The cache memory can hold instructions or data that the processor 110 has recently used or is likely to use again. If the processor 110 needs to use that instruction or data again, it can be retrieved directly from the cache memory. This avoids repeated accesses to the main memory, reducing the latency of the processor 110 and thus improving the efficiency of the system.
[0249] In some embodiments, the processor 110 can include one or more interfaces. The interfaces can include an inter-integrated circuit (I2C) interface, an inter-integrated circuit sound (I2S) interface, a pulse code modulation (PCM) interface, a universal asynchronous receiver / transmitter (UART) interface, a mobile industry processor interface (MIPI), a general-purpose input / output (GPIO) interface, a subscriber identity module (SIM) interface, and / or a universal serial bus (USB) interface, etc.
[0250] It can be understood that the interface connection relationship between the modules shown in the embodiments is only illustrative and does not constitute a limitation on the structure of the electronic device 100. In other embodiments, the electronic device 100 can also use different interface connection methods or combinations of multiple interface connection methods.
[0251] The electronic device 100 realizes the display function through the GPU, the display screen 194, and the application processor, etc. The GPU is a microprocessor for image processing, connected to the display screen 194 and the application processor. The GPU is used to perform mathematical and geometric calculations for graphics rendering. The processor 110 can include one or more GPUs that execute program instructions to generate or change display information.
[0252] The display screen 194 is used to display images, videos, etc. The display screen 194 includes a touch layer and a display panel. The touch layer is used to perceive the interaction between the user and the display screen 194, and the display panel can adopt a liquid crystal display (LCD), an organic light-emitting diode (OLED), an active-matrix organic light emitting diode (AMOLED), a flexible light-emitting diode (FLED), a Miniled, a MicroLed, a Micro-oLed, a quantum dot light emitting diodes (QLED), etc. The electronic device 100 can realize the shooting function through the ISP, the camera 193, the video codec, the GPU, the display screen 194, and the application processor, etc.
[0253] The ISP is used to process the data fed back by the camera 193. For example, when taking a photo, the shutter is opened, the light is transmitted to the camera photosensitive element (image sensor) through the lens, the light signal is converted into an electrical signal, and the camera photosensitive element transmits the electrical signal to the ISP for processing and conversion into a visible image. The ISP can also optimize the algorithm of the noise, brightness, and skin color of the image. The ISP can also optimize the exposure, color temperature, etc. of the shooting scene. In some embodiments, the ISP can be arranged in the camera 193.
[0254] The camera 193 is used to capture still images or videos. Objects generate optical images through lenses and project them onto photosensitive elements. The photosensitive element can be a charge coupled device (CCD) or a complementary metal-oxide-semiconductor (CMOS) phototransistor, such as a camera sensor. The photosensitive element converts the light signal into an electrical signal, and then transmits the electrical signal to the ISP for conversion into a digital image signal. The ISP outputs the digital image signal to the DSP for processing. The DSP converts the digital image signal into a standard RGB, YUV, etc. format image signal. In some embodiments, the electronic device 100 can include N cameras 193, where N is a positive integer greater than 1.
[0255] The digital signal processor is used to process digital signals, in addition to processing digital image signals, it can also process other digital signals. For example, when the electronic device 100 selects a frequency point, the digital signal processor is used to perform Fourier transform on the frequency point energy, etc.
[0256] A video codec is used to compress or decompress digital video. The electronic device 100 can support one or more video codecs. In this way, the electronic device 100 can play or record videos in a variety of encoding formats, such as moving picture experts group (MPEG) 1, MPEG 2, MPEG 3, MPEG 4, and the like.
[0257] An NPU is a neural-network (NN) computing processor that quickly processes input information by drawing on the structure of a biological neural network, such as the transmission mode between human brain neurons, and can also constantly self-learn. Through the NPU, the electronic device 100 can implement intelligent cognitive applications, such as image recognition, face recognition, voice recognition, text understanding, and the like.
[0258] The embodiment of the present application further provides a computer readable storage medium, which includes computer instructions, when the computer instructions run on the electronic device, make the electronic device execute each function or step of the method embodiment executed by the mobile phone.
[0259] The embodiment of the present application further provides a computer program product, when the computer program product runs on the electronic device, make the electronic device execute each function or step of the method embodiment executed by the mobile phone.
[0260] Through the description of the above embodiments, those skilled in the art can clearly understand that, for the convenience and brevity of description, only the above-mentioned division of each functional module is taken as an example for illustration, and in actual application, the above-mentioned functions can be completed by different functional modules according to needs, that is, the internal structure of the device is divided into different functional modules to complete all or part of the functions described above.
[0261] In several embodiments provided in the present application, it should be understood that the disclosed devices and methods can be implemented in other ways. For example, the device embodiments described above are only schematic, for example, the division of the modules or units is only a logical function division, and actual implementation can have another division manner, for example, a plurality of units or components can be combined or integrated into another device, or some features can be ignored or not executed. In addition, the coupling or direct coupling or communication connection between the shown or discussed each other can be indirect coupling or communication connection through some interfaces, devices or units, and can be electrical, mechanical or other forms.
[0262] The units described as separate components may or may not be physically separate, and the components displayed as units may be a physical unit or multiple physical units, that is, may be located in one place, or also can be distributed to multiple different places. Part or all of the units can be selected according to actual needs to achieve the purpose of the embodiment scheme.
[0263] In addition, each functional unit in each embodiment of the present application can be integrated in one processing unit, or each unit can be physically present alone, or two or more units can be integrated in one unit. The integrated unit can be realized in the form of hardware or in the form of a software functional unit.
[0264] The integrated unit, if realized in the form of a software functional unit and sold or used as an independent product, can be stored in a readable storage medium. Based on such understanding, the technical scheme of the embodiments of the present application essentially or the part that contributes to the prior art or the whole or part of the technical scheme can be embodied in the form of a software product, which is stored in a storage medium and includes a plurality of instructions for causing an apparatus (which can be a single-chip microcomputer, a chip, etc.) or a processor to execute all or part of the steps of the method described in the embodiments of the present application. The foregoing storage medium includes: a U disk, a mobile hard disk, a read-only memory (ROM), a random access memory (RAM), a magnetic disk or an optical disk, and various program code storage media.
[0265] The above is only a specific embodiment of the present application, but the protection scope of the present application is not limited thereto, any change or replacement within the technical scope disclosed in the present application should be covered in the protection scope of the present application. Therefore, the protection scope of the present application should be subject to the protection scope of the claims.
Claims
1. A device control method, characterized in that, The method includes: Display the first screen; After detecting the user's first lateral swipe, the control center CPU increases its operating frequency for the first target duration; After detecting the user's first vertical swipe, the CPU is controlled to increase its operating frequency within a second target duration; wherein the maximum value of the first target duration is different from the maximum value of the second target duration.
2. The method according to claim 1, characterized in that, The method further includes: In response to the user's operation, a second interface of the first application is displayed, wherein the first application belongs to the first application set; After detecting the user's second lateral swipe, the CPU is controlled to increase its operating frequency within the third target duration; In response to the user's operation, the third interface of the first application is displayed, wherein the second interface and the third interface are different application interfaces of the first application; After detecting the user's third horizontal swipe, the CPU is controlled to increase its operating frequency within a fourth target duration; wherein the maximum value of the third target duration is different from the maximum value of the fourth target duration.
3. The method according to claim 2, characterized in that, The first application is an e-book application, the second interface is the main interface of the e-book application, the third interface is the full-screen reading interface of the e-book application, and the maximum value of the third target duration is greater than the maximum value of the fourth target duration.
4. The method according to claim 2, characterized in that, Before controlling the CPU to increase its operating frequency within the third target duration, the method further includes: determining that the interface elements of the second interface include a window status bar; Before controlling the CPU to increase its operating frequency within the fourth target duration, the method further includes: determining that the interface elements of the third interface do not include the window status bar.
5. The method according to any one of claims 1-4, characterized in that, The method further includes: In response to the user's action, the fourth interface of the second application is displayed; After detecting the user's fourth horizontal swipe, the CPU is controlled to increase its operating frequency within the fifth target duration; In response to the user's operation, the fifth interface of the third application is displayed, wherein both the second application and the third application belong to the second application set; After detecting the user's fifth horizontal swipe, the CPU is controlled to increase its operating frequency within a sixth target duration; wherein the maximum value of the fifth target duration is different from the maximum value of the sixth target duration.
6. The method according to claim 5, characterized in that, Applied to electronic devices, wherein the electronic devices include a preset list corresponding to the second application set; In the preset list, the application identifier of the second application corresponds to the first configuration frequency increase duration, and the application identifier of the third application corresponds to the second configuration frequency increase duration. The first configuration frequency increase duration is different from the second configuration frequency increase duration. The maximum value of the fifth target duration is the first configuration frequency increase duration, and the maximum value of the sixth target duration is the second configuration frequency increase duration.
7. The method according to claim 2, characterized in that, The method is applied to an electronic device, wherein the electronic device is configured with application identifiers of applications in a first application set and application identifiers of applications in a second application set; the method further includes: In response to the user's operation, the sixth interface of the fourth application is displayed, wherein the fourth application does not belong to the first application set or the second application set; After detecting the user's sixth horizontal swipe, the CPU is controlled to increase its operating frequency within a seventh target duration; wherein the maximum value of the seventh target duration is a preset normal frequency increase duration.
8. The method according to claim 7, characterized in that, The maximum value of the second target duration is the normal frequency increase duration; the maximum value of the third target duration is the normal frequency increase duration; the maximum value of the fourth target duration is the energy-saving frequency increase duration; and the normal frequency increase duration is greater than the energy-saving frequency increase duration.
9. An electronic device comprising a memory, a processor, and a computer program stored in the memory, characterized in that, The processor executes the computer program to implement the steps of the method according to any one of claims 1-8.
10. A computer-readable storage medium having a computer program / instructions stored thereon, characterized in that, When the computer program / instructions are executed by the processor, they implement the steps of the method according to any one of claims 1-8.
11. A computer program product, comprising a computer program / instructions, characterized in that, When the computer program / instructions are executed by the processor, they implement the steps of the method according to any one of claims 1-8.