CN116028211A - Display card scheduling method, electronic equipment and computer readable storage medium - Google Patents

Display card scheduling method, electronic equipment and computer readable storage medium Download PDF

Info

Publication number
CN116028211A
CN116028211A CN202210776076.8A CN202210776076A CN116028211A CN 116028211 A CN116028211 A CN 116028211A CN 202210776076 A CN202210776076 A CN 202210776076A CN 116028211 A CN116028211 A CN 116028211A
Authority
CN
China
Prior art keywords
app
power supply
display card
started
identification
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202210776076.8A
Other languages
Chinese (zh)
Inventor
李鹏
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Honor Device Co Ltd
Original Assignee
Honor Device Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Honor Device Co Ltd filed Critical Honor Device Co Ltd
Publication of CN116028211A publication Critical patent/CN116028211A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Stored Programmes (AREA)

Abstract

The application relates to the technical field of computers, and provides a display card scheduling method, electronic equipment and a computer readable storage medium, wherein the method comprises the following steps: acquiring an identification of an APP to be started; acquiring a current power supply mode of the electronic equipment; determining an identification of an APP to be started and a target display card type corresponding to a current power supply mode based on a preset mapping relation, wherein the target display card type is a type of a display card called by the APP to be started in the operation process, the mapping relation comprises a plurality of power supply modes, identifications of the APP and corresponding relations of the display card types, the power supply modes comprise the current power supply mode, the identifications of the APP comprise the identification of the APP to be started, and the display card types comprise the target display card type. The method can improve the rationality of display card dispatching.

Description

Display card scheduling method, electronic equipment and computer readable storage medium
The present application claims priority from the chinese patent application filed at month 05 and 16 of 2022, filed with the national intellectual property agency, application number 202210529195.3, application name "graphics card scheduling method, electronic device, and computer readable storage medium", the entire contents of which are incorporated herein by reference.
Technical Field
The present disclosure relates to the field of computer technologies, and in particular, to a graphics card scheduling method, an electronic device, and a computer readable storage medium.
Background
As the functions of electronic devices are increasingly enriched, the scenes of people using the electronic devices are also increasingly enriched, and the processing requirements on graphic pictures are also increasingly high. In some electronic devices, a graphics scheme of a separate graphics card and an integrated graphics card is often adopted.
Generally, during the running process of an Application (APP) of a graphics class, an electronic device needs to call resources of a GPU to perform image processing to achieve a corresponding display effect. For APP with large operand of image processing, because IGPU processing capability is limited, the requirement of normal image processing cannot be met, and the electronic device will call DGPU to execute the image processing operation. For APP with small amount of computation in image processing, the electronic device may call the IGPU to perform image processing.
However, the conventional method for determining whether to use the IGPU or the DGPU according to the graphics processing operand of the APP is based on a single method, which makes the graphics card scheduling unreasonable.
Disclosure of Invention
The application provides a display card scheduling method, a display card scheduling device, a display card scheduling chip, electronic equipment, a computer readable storage medium and a computer program product, which can improve the rationality of display card scheduling.
In a first aspect, a graphics card scheduling method is provided, including: acquiring an identification of an application program APP to be started; acquiring a current power supply mode of the electronic equipment; determining an identification of an APP to be started and a target display card type corresponding to a current power supply mode based on a preset mapping relation, wherein the target display card type is a type of a display card called by the APP to be started in the operation process, the mapping relation comprises a plurality of power supply modes, identifications of a plurality of APPs and corresponding relations of the plurality of display card types, the plurality of power supply modes comprise the current power supply mode, the identifications of the plurality of APPs comprise the identification of the APP to be started, and the plurality of display card types comprise the target display card type.
The electronic equipment determines whether the APP to be started is an integrated display card or an independent display card according to the type of the APP to be started and a power supply mode of the electronic equipment, so that power consumption in a scene with preferential cruising ability is optimized, performance in a scene with preferential high performance is ensured, and scheduling of the display card is more reasonable.
In some possible implementations, the multiple power supply modes include battery power supply and power supply, the multiple graphics card types include integrated graphics cards and independent graphics cards, the multiple APP identifications include high-performance APP identifications and low-performance APP identifications, and the mapping relationship includes: the identification of the APP of the low performance class, the battery power supply and the integrated display card correspond; the identification of the APP with low performance class, the power supply and the independent display card correspond; the identification of the APP of the high performance class, the battery power supply and the independent display card correspond; the identification of the APP of the high performance class, the power supply and the independent display card correspond.
The mapping relation enables the electronic equipment to determine the display card to be used in combination with the power supply mode when the APP is the APP with low requirements on graphic processing, namely the APP with low performance requirements, so that the independent display card is called to ensure the performance preferentially when the power supply supplies power, and the display effect is optimized; and when the battery is powered, the integrated display card is called to save power consumption, so that the user experience under different use scenes is balanced. And when APP is the APP that requires high to graphics processing, i.e. the APP of the class of high performance requirement, electronic equipment is at battery power supply or under the circumstances of power supply, all call independent display card and come priority assurance processing effect, ensure the APP normal operating of high performance requirement to guarantee user experience.
In some possible implementations, before obtaining the current power supply mode of the electronic device, the method further includes: determining whether the APP to be started is an APP in a preset list according to the identification of the APP to be started, wherein the APP in the preset list is the APP carrying the high-performance type identification or the APP carrying the low-performance type identification; if yes, continuing to execute the display card scheduling flow.
The preset list is a white list, and the APP in the white list is the APP which determines what display card type needs to be called in what scene, namely, the APP which is in the scene of power supply and battery supply respectively when running, and needs to call the independent display card or the integrated display card. Optionally, the white list may include a plurality of APPs, and may further include a graphics card type corresponding to each APP in the plurality of APPs. Alternatively, the graphics card types may be distinguished by corresponding identifiers, for example, the independent graphics card is represented by DGPU, and the integrated graphics card is represented by IGPU.
In some possible implementations, the method further includes: if the APP to be started is not the APP in the preset list, the target display card type is obtained from the preset configuration file.
If the APP to be started is not the APP in the white list, the default display card type of the APP to be started can be read from a default preset configuration file and used as the target display card type. The use of the default display card preset configuration file to call the corresponding display card can ensure the orderly call of the display card, namely, the original default spam design is adopted, so that the problem of confusion of call of the display card in the uncovered scene in the mapping relation can not occur.
In some possible implementations, before determining whether the APP to be started is the APP in the preset list according to the identifier of the APP to be started, the method further includes: determining whether the APP to be started is a graph type APP according to the identification of the APP to be started; if yes, executing the step of determining whether the APP to be started is the APP in the preset list according to the identification of the APP to be started.
If the APP to be started is the graphics type APP, the problem related to the graphics card scheduling at the moment can be determined, so that the graphics card scheduling process can be continuously executed. If the graphics class APP is not to be started, the problem of the display card scheduling is not involved, the display card scheduling flow can be not executed any more, and a default display card configuration file can be adopted for processing.
In some possible implementations, when the current power supply mode is to supply power to the power supply and the target graphics card type is an integrated graphics card, the method further includes: receiving switching operation input by a user; and responding to the switching operation, and switching the type of the target display card from an integrated display card to an independent display card.
The above power supply manner may also be described as a power supply scenario, for example, a power supply scenario of a power supply may be referred to as a performance scenario, and a battery power supply scenario may be referred to as a cruising scenario. The user can switch the power supply scenario by clicking a button of "performance scenario/endurance scenario". If the battery power exceeds a preset power threshold value, for example, fifty percent, in the endurance scene, the user considers that the power is enough to be used at the moment, the user can switch the power supply scene from the endurance scene to the performance scene through manual operation, and at the moment, the DGPU can be called to perform graphic processing, so that the display effect is preferentially ensured, and the use experience of the user is improved. The mode can flexibly switch the power supply scene, and various requirements of users are met.
In some possible implementations, obtaining the identifier of the APP to be started includes: monitoring a new process through a process probe; and acquiring the identification of the APP to be started, which is used for starting, of the new process according to the new process.
In some possible implementations, the method further includes: and updating a preset configuration file according to the type of the target display card, wherein the preset configuration file is used for the executor to start the APP to be started according to the type of the target display card in the preset configuration file.
In some possible implementations, obtaining a current power supply mode of the electronic device includes: and acquiring the current power supply mode through a scene recognition engine.
In some possible implementations, determining, based on a preset mapping relationship, an identifier of an APP to be started and a target graphics card type corresponding to a current power supply mode includes: and determining the identification of the APP to be started and the type of the target display card corresponding to the current power supply mode through the scheduling engine based on the mapping relation.
In a second aspect, a display card scheduling device is provided, where the display card scheduling device includes a unit made up of software and/or hardware, and the unit is configured to execute any one of the methods in the first aspect.
In a third aspect, there is provided an electronic device, comprising: a processor, a memory, and an interface; the processor, the memory and the interface cooperate with each other to enable the electronic device to execute any one of the methods according to the first aspect.
In a fourth aspect, embodiments of the present application provide a chip comprising a processor; the processor is configured to read and execute a computer program stored in the memory to perform any one of the methods according to the first aspect.
Optionally, the chip further comprises a memory, and the memory is connected with the processor through a circuit or a wire.
Further optionally, the chip further comprises a communication interface.
In a fifth aspect, there is provided a computer readable storage medium having stored therein a computer program which, when executed by a processor, causes the processor to perform any one of the methods according to the first aspect.
In a sixth aspect, there is provided a computer program product comprising: computer program code which, when run on an electronic device, causes the electronic device to carry out any one of the methods of the first aspect.
Drawings
Fig. 1 is a schematic structural diagram of an electronic device according to an embodiment of the present application;
FIG. 2 is a schematic diagram of a software module architecture according to an embodiment of the present application;
FIG. 3 is a schematic diagram illustrating interactions between software modules according to an embodiment of the present application;
fig. 4 is a schematic signal interaction diagram provided in an embodiment of the present application;
FIG. 5 is an interface diagram provided in an embodiment of the present application;
FIG. 6 is a schematic diagram of still another signal interaction provided in an embodiment of the present application;
fig. 7 is a schematic diagram of still another signal interaction provided in an embodiment of the present application;
FIG. 8 is a schematic diagram of an exemplary software module architecture according to an embodiment of the present disclosure;
fig. 9 is a flowchart of an example graphics card scheduling method provided in an embodiment of the present application;
FIG. 10 is a flowchart illustrating another embodiment of a graphics card scheduling method according to the present disclosure
FIG. 11 is a schematic diagram of an example hardware module architecture according to an embodiment of the present disclosure;
FIG. 12 is a flowchart illustrating an exemplary graphics card scheduling method according to an embodiment of the present disclosure;
fig. 13 is a schematic structural diagram of an example graphics card scheduling device according to an embodiment of the present application.
Detailed Description
The technical solutions in the embodiments of the present application will be described below with reference to the drawings in the embodiments of the present application. Wherein, in the description of the embodiments of the present application, "/" means or is meant unless otherwise indicated, for example, a/B may represent a or B; "and/or" herein is merely an association relationship describing an association object, and means that three relationships may exist, for example, a and/or B may mean: a exists alone, A and B exist together, and B exists alone. In addition, in the description of the embodiments of the present application, "plurality" means two or more than two.
The terms "first," "second," "third," and the like, are used below for descriptive purposes only and are not to be construed as indicating or implying relative importance or implicitly indicating the number of technical features indicated. Thus, a feature defining "a first", "a second", or a third "may explicitly or implicitly include one or more such feature.
The graphics card scheduling method provided by the embodiment of the application can be applied to electronic devices such as tablet computers, vehicle-mounted devices, augmented reality (augmented reality, AR)/Virtual Reality (VR) devices, notebook computers, ultra-mobile personal computer (UMPC), netbooks, personal digital assistants (personal digital assistant, PDA) and the like, and the embodiment of the application does not limit the specific types of the electronic devices.
Referring to fig. 1, a schematic structural diagram of an electronic device 100 according to an embodiment of the present application is provided.
As shown in fig. 1, the electronic device 100 may include: processor 110, external memory interface 120, internal memory 121, universal serial bus (universal serial bus, USB) interface 130, charge management module 140, power management module 141, battery 142, wireless communication module 150, display screen 160, etc.
It is to be understood that the structure illustrated in the present embodiment does not constitute a specific limitation on the electronic apparatus 100. In other embodiments, electronic device 100 may include more or fewer components than shown, or certain components may be combined, or certain components may be split, or different arrangements of components. The illustrated components may be implemented in hardware, software, or a combination of software and hardware.
The processor 110 may include one or more processing units, such as: the processor 110 may include an application processor (application processor, AP), a modem processor, a graphics processor (graphics processing unit, GPU), an image signal processor (image signal processor, ISP), a controller, a memory, a video codec, a digital signal processor (digital signal processor, DSP), a baseband processor, and/or a neural network processor (neural-network processing unit, NPU), etc. Wherein the different processing units may be separate devices or may be integrated in one or more processors.
The controller may be a neural hub and command center of the electronic device 100. The controller can generate operation control signals according to the instruction operation codes and the time sequence signals to finish the control of instruction fetching and instruction execution.
A memory may also be provided in the processor 110 for storing instructions and data. In some embodiments, the memory in the processor 110 is a cache memory. The memory may hold instructions or data that the processor 110 has just used or recycled. If the processor 110 needs to reuse the instruction or data, it can be called directly from the memory. Repeated accesses are avoided and the latency of the processor 110 is reduced, thereby improving the efficiency of the system.
In some embodiments, the processor 110 may include one or more interfaces. The interfaces may include an I2C interface, an integrated circuit built-in audio (inter-integrated circuit sound, I2S) interface, a pulse code modulation (pulse code modulation, PCM) interface, a universal asynchronous receiver transmitter (universal asynchronous receiver/transmitter, UART) interface, a mobile industry processor interface (mobile industry processor interface, MIPI), a general-purpose input/output (GPIO) interface, a subscriber identity module (subscriber identity module, SIM) interface, and/or a USB interface, among others.
It should be understood that the connection relationship between the modules illustrated in this embodiment is only illustrative, and does not limit the structure of the electronic device 100. In other embodiments, the electronic device 100 may also employ different interfaces in the above embodiments, or a combination of interfaces.
The charge management module 140 is configured to receive a charge input from a charger. The charger can be a wireless charger or a wired charger. The charging management module 140 may also supply power to the electronic device through the power management module 141 while charging the battery 142.
The power management module 141 is used for connecting the battery 142, and the charge management module 140 and the processor 110. The power management module 141 receives input from the battery 142 and/or the charge management module 140 and provides power to the processor 110, the internal memory 121, the external memory, the display screen 160, the wireless communication module 150, and the like. In some embodiments, the power management module 141 and the charge management module 140 may also be provided in the same device.
The wireless communication module 150 may provide solutions for wireless communication including WLAN (e.g., wi-Fi), bluetooth, global navigation satellite system (global navigation satellite system, GNSS), frequency modulation (frequency modulation, FM), near field wireless communication technology (near field communication, NFC), infrared technology (IR), etc., applied to the electronic device 100. For example, in the embodiment of the present application, the electronic device 100 may establish a bluetooth connection with a terminal device (such as a wireless headset) through the wireless communication module 150.
The wireless communication module 150 may be one or more devices that integrate at least one communication processing module. The wireless communication module 150 receives electromagnetic waves via an antenna, modulates the electromagnetic wave signals, filters the electromagnetic wave signals, and transmits the processed signals to the processor 110. The wireless communication module 150 may also receive a signal to be transmitted from the processor 110, frequency modulate it, amplify it, and convert it to electromagnetic waves for radiation via an antenna.
The electronic device 100 implements display functions through a GPU, a display screen 160, an application processor, and the like. The GPU is a microprocessor for image processing, and is connected to the display 160 and the application processor. The GPU is used to perform mathematical and geometric calculations for graphics rendering. Processor 110 may include one or more GPUs that execute program instructions to generate or change display information.
The display screen 160 is used to display images, videos, and the like. The display 160 includes a display panel.
The external memory interface 120 may be used to connect an external memory card, such as a Micro SD card, to enable expansion of the memory capabilities of the electronic device 100. The external memory card communicates with the processor 110 through an external memory interface 120 to implement data storage functions. For example, files such as music, video, etc. are stored in an external memory card.
The internal memory 121 may be used to store computer executable program code including instructions. The processor 110 executes various functional applications of the electronic device 100 and data processing by executing instructions stored in the internal memory 121. For example, in an embodiment of the present application, the processor 110 may include a storage program area and a storage data area by executing instructions stored in the internal memory 121, and the internal memory 121 may include a storage program area and a storage data area.
The storage program area may store an application program (such as a sound playing function, an image playing function, etc.) required for at least one function of the operating system, etc. The storage data area may store data created during use of the electronic device 100 (e.g., audio data, phonebook, etc.), and so on. In addition, the internal memory 121 may include a high-speed random access memory, and may further include a nonvolatile memory such as at least one magnetic disk storage device, a flash memory device, a universal flash memory (universal flash storage, UFS), and the like.
The software system of the electronic device 100 may employ a layered architecture, an event driven architecture, a micro-core architecture, a micro-service architecture, or a cloud architecture. The embodiment of the present invention exemplifies a Windows system of a layered architecture, and illustrates a software structure of the electronic device 100.
Fig. 2 is a software architecture block diagram of the electronic device 100 according to the embodiment of the present application.
The layered architecture divides the software into several layers, each with distinct roles and branches. The layers communicate with each other through a software interface. In some embodiments, windows systems are classified into a user mode and a kernel mode. The user mode comprises an application layer and a subsystem dynamic link library. The kernel mode is divided into a firmware layer, a hardware abstraction layer (hardware abstraction layer, HAL), a kernel and a driving layer and an executing body from bottom to top.
As shown in FIG. 2, the application layer includes applications for music, video, games, office, social, etc. The application layer also includes an environment subsystem, a scene recognition engine, a scheduling engine, and the like. Wherein only a part of application programs are shown in the figure, the application layer can also comprise other application programs, such as shopping application, browser and the like, and the application is not limited.
The environment subsystem may expose certain subsets of the basic executive services to the application in a particular modality, providing an execution environment for the application.
The scenario recognition engine may recognize a user scenario in which the electronic device 100 is located and determine a base scheduling policy (also referred to as a second scheduling policy) that matches the user scenario. The scheduling engine may obtain the load situation of the electronic device 100, and determine an actual scheduling policy (may also be referred to as a first scheduling policy) according to the actual operation situation of the electronic device 100 in combination with the load situation of the electronic device 100 and the basic scheduling policy. The specific contents of the scene recognition engine and the scheduling engine are described below, and are not described herein.
The subsystem dynamic link library comprises an API module comprising Windows API, windows native API, etc. The Windows APIs, which can provide system call entry and internal function support for the application program, are different in that they are Windows system native APIs. For example, windows APIs may include user. Dll, kernel. Dll, and Windows native APIs may include ntdll. The user. Dll is a Windows user interface, and can be used for performing operations such as creating a window, sending a message, and the like. kernel. Dll is used to provide an interface for applications to access the kernel. ntdll.dll is an important Windows NT kernel-level file that describes the interface of the Windows local NTAPI. When Windows is started, ntdll.dll resides in a particular write protect region of memory, which prevents other programs from occupying that memory region.
The executives include a process manager, a virtual memory manager, a secure reference monitor, an I/O manager, windows management specifications (Windows management instrumentation, WMI), a power manager, a system event driver (operating system event driver) node, a system and chip driver (operating system to System on Chip, OS2 SOC) node, and the like.
The process manager is used to create and suspend processes and threads.
The virtual memory manager implements "virtual memory". The virtual memory manager also provides basic support for the cache manager.
The security reference monitor may execute a security policy on the local computer that protects operating system resources, performs protection and monitoring of runtime objects.
The I/O manager performs device independent input/output and further processes call the appropriate device drivers.
The power manager may manage power state changes for all devices that support power state changes.
The system event driven node may interact with the kernel and the driver layer, for example, with a graphics card driver, and after determining that a GPU video decoding event exists, report the GPU video decoding event to the scene recognition engine.
The system and chip driver nodes may be used by the scheduler engine to send adjustment information to the hardware device, such as information to the CPU to adjust the power limit (SPL) (or PL 1) and the slow packet power trace (slow package power tracking, s-PPT) (or PL 2).
The kernel and driver layer includes a kernel and a device driver.
The kernel is an abstraction of the processor architecture, separates the difference between the executable and the processor architecture, and ensures the portability of the system. The kernel may perform thread scheduling and scheduling, trap handling and exception scheduling, interrupt handling and scheduling, etc.
The device driver operates in kernel mode as an interface between the I/O system and the associated hardware. The device drivers may include graphics card drivers, intel DTT drivers, mouse drivers, audio video drivers, camera drivers, keyboard drivers, and the like. For example, the graphics driver may drive the GPU to run and the Intel DTT driver may drive the CPU to run.
The HAL is a core state module, which can hide various details related to hardware, such as an I/O interface, an interrupt controller, a multiprocessor communication mechanism and the like, provide uniform service interfaces for different hardware platforms running Windows, and realize portability on various hardware platforms. It should be noted that, in order to maintain portability of Windows, the Windows internal components and the device driver written by the user do not directly access the hardware, but rather by calling the routine in the HAL.
The firmware layer may include a basic input output system (basic input output system, BIOS), which is a set of programs that are cured into a Read Only Memory (ROM) chip on the motherboard of the computer, which holds the most important basic input output programs, post-boot self-test programs, and system self-start programs of the computer, which can read and write specific information of the system settings from the complementary metal oxide semiconductor (complementary metal oxide semiconductor, CMOS). Its main function is to provide the lowest, most direct hardware setup and control for the computer. The Intel DTT driver may send instructions to the CPU via the BIOS.
It should be noted that, the embodiments of the present application are only illustrated by a Windows system, and in other operating systems (such as an android system, an IOS system, a hong-mo system, etc.), the schemes of the present application can be implemented as long as the functions implemented by the respective functional modules are similar to those implemented by the embodiments of the present application.
Fig. 3 shows a schematic workflow diagram of the software and hardware of the electronic device 100 for scheduling resources.
As shown in fig. 3, the application layer scene recognition engine includes a system probe module, a scene recognition module, and a base policy matching manager. The scene recognition module can interact with the system probe module and the basic policy matching manager respectively. The scene recognition module may send a request to the system probe module to obtain the probe status. The system probe module may acquire the operating state of the electronic device 100. For example, the system probe modules may include a power state probe, a peripheral state probe, a process load probe, an audio video state probe, a system load probe, a system event probe, and the like.
The power state probe may subscribe to a kernel state for a power state event, determine a power state according to a callback function fed back by the kernel state, where the power state includes a battery (remaining) power, a power mode, and the like, and the power mode may include an alternating current (alternating current, AC) power and a Direct Current (DC) power. For example, the power state probe may send a request to the oseeventdriver node of the executive layer to subscribe to a power state event, which is forwarded by the oseeventdriver node to the power manager of the executive layer. The power manager may feed back a callback function to the power state probe through the oseeventdriver node.
The peripheral state probe can subscribe a peripheral event to the kernel state, and the peripheral event is determined according to a callback function fed back by the kernel state. Peripheral events include mouse wheel slide events, mouse click events, keyboard input events, microphone input events, camera input events, and the like.
The process load probe may subscribe to the process load from kernel states and determine the load of the process (e.g., the first process) according to the callback function fed back from kernel states.
The system load probe can subscribe the system load to the kernel state, and the system load is determined according to a callback function fed back by the kernel state.
The audio and video status probe may subscribe to the kernel mode for audio and video events, and determine the audio and video events currently existing in the electronic device 100 according to the callback function fed back by the kernel mode. The audio video events may include GPU decoding events, and the like. For example, the audio/video status probe may send a request to the oseeventdriver node of the executive layer to subscribe to the GPU decoding event, and the oseeventdriver node forwards the request to the graphics card driver of the kernel and driver layer. The display card driver can monitor the state of the GPU, and after the GPU is monitored to perform decoding operation, callback functions are fed back to the audio and video state probes through the OsEventDriver node.
The system event probe can subscribe to the kernel state for system events, and the system events are determined according to a callback function fed back by the kernel state. The system events may include window change events, process creation events, thread creation events, and the like. For example, the system event probe may send a request to the oseeventdriver node of the executive layer to subscribe to a process creation event, which is forwarded by the oseeventdriver node to the process manager. The process manager can feed back a callback function to the system event probe through the OsEventDriver node after the process is created. For another example, the system event probe may also send a subscribe to focus window change event to the API module, which may monitor whether the focus window of the electronic device 100 has changed, and when it is monitored that the focus window has changed, feed back a callback function to the system event probe.
It can be seen that the system probe module subscribes to various events of the electronic device 100 from the kernel mode, and then determines the running state of the electronic device 100 according to the callback function fed back from the kernel mode, so as to obtain the probe state. After the system probe module obtains the probe state, the probe state can be fed back to the scene recognition module. After the scene recognition module receives the probe state, the scene recognition module can determine the user scene where the electronic device 100 is located according to the probe state. The usage scenario may include a video scenario, a game scenario, an office scenario, a social scenario, and so on. The user context may reflect the current use needs of the user. For example, when the scene recognition engine recognizes the focus window as a window of the video application, it determines that the electronic device 100 is in a video scene, which indicates that the user needs to view and browse the video using the video application. For another example, the scene recognition engine recognizes that the electronic device 100 is in a social scene when recognizing that the focus window is a chat window of WeChat. The scene recognition module may also send the user scene to the base policy matching manager. The base policy matching manager may determine a base scheduling policy (which may also be referred to as a second scheduling policy, see for details the description in S301, S302 below) from the user scenario. The base policy matching manager may feed back the base scheduling policy to the scene recognition module. The scene recognition module may send the base scheduling policy and the user scene to a scheduling engine of the application layer.
As shown in fig. 3, the scheduling engine includes a load manager, a chip policy aggregator, and a scheduling executor. The load management controller can receive the basic scheduling strategy and the user scene sent by the scene identification module. The load manager may also obtain the system load from the system probe module, and adjust the basic scheduling policy according to the system load and the user scenario, to obtain an actual scheduling policy (which may also be referred to as a first scheduling policy, see the description in S310 below for details). The actual scheduling policy includes an OS scheduling policy and a first CPU power consumption scheduling policy (which may also be referred to as a first sub-policy). The load manager may send the OS scheduling policy to the scheduling executor, and the scheduling executor may schedule based on the OS scheduling policy. The OS scheduling policy is used to adjust the process priority and I/O priority of the focal process. For example, the schedule executor may send an instruction to the process manager to adjust the process priority of the focal process, in response to which the process manager adjusts the process priority of the focal process. For another example, the scheduling executor may send an instruction to the I/O manager to adjust the I/O priority of the focal process, in response to which the I/O manager adjusts the I/O priority of the focal process.
The load management controller may also send a first CPU power consumption scheduling policy to the chip policy aggregator, where the chip policy aggregator may obtain a second CPU power consumption scheduling policy (may also be referred to as a second sub-policy, and may specifically refer to a second sub-policy) based on the chip platform type of the CPU and the first CPU power consumption scheduling policySee description in S317 to S325 below). The chip platform types of the CPU are mainly divided into two types, namely
Figure BDA0003721836350000084
CPU and +.about.of (Advanced Micro Devices, AMD)>
Figure BDA0003721836350000081
Figure BDA0003721836350000082
These two types of CPUs are different in the adjustment manner of CPU power consumption, and therefore need to be distinguished.
If the CPU's chip platform type is AMD (which may also be referred to as a first type), the dispatch executor may send instructions to the power manager to adjust the energy performance preferences (energy performance preference, EPP) to adjust the CPU's EPP. In addition, the schedule executor may also send instructions to the OS2SOC drive node to adjust SPL, s-PPT to adjust PL1 (which may be called SPL in an AMD platform) and PL2 (which may be called s-PPT in an AMD platform) of the CPU.
If the chip platform type of the CPU is
Figure BDA0003721836350000083
The scheduling executor may send the second CPU power consumption scheduling policy to the Intel DTT driver through the WMI plug-in, where the second CPU power consumption scheduling policy may include a minimum value of PL1, a maximum value of PL1, durations of PL2 and PL2, and EPP, and the CPU is operated by the Intel DTT driver based on the second CPU power consumption scheduling policy.
The resource scheduling (including graphics card resource scheduling) method provided by the embodiment of the application is mainly divided into two processes, namely: (1) determining a user scene in which the electronic device is located; (2) And carrying out resource scheduling according to the user scene where the electronic equipment is located and the system load of the electronic equipment. The above two processes will be respectively described below with reference to the drawings.
The following will take an example that the electronic device is in a video playing scene, and refer to fig. 4, to describe an interaction process of a part of modules in the electronic device shown in fig. 3. As shown in fig. 4, a flow of determining a user scenario where an electronic device is located in a resource scheduling method provided in an embodiment of the present application is as follows:
s101, a system probe module sends a request for subscribing a process creation event to an OsEventDriver node.
As shown in fig. 3, the scene recognition engine includes a system probe module that includes a system event probe. In the embodiment of the application, a request for subscribing to a process creation event can be sent by a system event probe to an oseeventdriver node located at an executable layer. Wherein the request to subscribe to a process creation event may also be referred to as a first request.
In an alternative embodiment, the request to subscribe to a process creation event may carry a process name. That is, the scene recognition engine may subscribe to only the creation events of the specified process, reducing interference of the creation events of irrelevant processes. For example, the specified process may be a process of a video application, a process of a game application, a process of an office application, a process of a social application, and so on. Of course, in other embodiments, the scenario recognition engine may not limit the subscribed process creation events.
S102, the OsEventDriver node sends a request for subscribing a process creation event to a process manager.
The request of the process creation event may refer to the description of S101, and will not be described herein.
That is, the system event probe of the scene recognition engine may send a request to subscribe to a process creation event to the process manager through the oseeventdriver node.
It will be appreciated that the oseeventdriver node registers a callback with the process manager, and the role of registering the callback is to return the process creation event to the oseeventdriver node after the process manager creates the process.
S103, the system probe module sends a request for subscribing the GPU decoding event to the OsEventDriver node.
As also shown in fig. 3, the system probe module further includes an audio-visual status probe. In the embodiment of the application, a request for subscribing the GPU decoding event can be sent to the oseeventdriver node by an audio/video status probe of the system probe module. Wherein, the request to subscribe to the GPU decode event may also be referred to as a third request.
S104, the OsEventdriver node sends a request for subscribing the GPU decoding event to the display card driver.
That is, the audio and video status probe of the scene recognition engine may send a request to subscribe to the GPU decoding event to the graphics card driver through the oseeventdriver node. Similarly, the oseeventdriver node may register a callback with the graphics card driver, where the role of registering the callback is to return the GPU decoding event to the oseeventdriver node after the graphics card driver monitors that the GPU performs the decoding operation.
S105, the system probe module sends a request for subscribing the focus window change event to the API module.
The API module may include a windows user interface implemented by user32.dll, which may be used to create a window. In an alternative embodiment, a request to subscribe to a focus window change event may be sent by a system event probe of the system probe module to a windows user interface of the API module. Wherein the request to subscribe to the focus window change event may also be referred to as a second request.
Likewise, the system event probe may register a callback with the API module, where the role of registering the callback is to return the focus window change event to the system event probe when the (windows user interface of the) API module monitors that the focus window has changed.
The focus window is a window with focus, and the high probability is a window which is needed to be used by a user currently. Thus, by monitoring the focus window, the user's need for use can be determined. For example, the focus window is a window of the video application, which indicates that the user needs to browse and play the video. As another example, the focus window is a window of a gaming application, indicating that the user's demand is to play a game. By monitoring whether the focus window changes, it can be determined whether the user's needs have changed. For example, the focus window changes from the window of the video application to the window of the game application, indicating that the user's current needs change from watching video to playing a game.
The above-mentioned steps S101, S103 and S105 are not strictly sequential, and may be sequentially performed in the order shown in fig. 4, or may be simultaneously performed, or may be sequentially performed in the order of S103, S101 and S105, sequentially performed in the order of S103, S105 and S101, sequentially performed in the order of S105, S101 and S103, or sequentially performed in the order of S105, S103 and S101. Accordingly, there is no strict order among S102, S104, and S106, as long as it is satisfied that S102 is performed after S101, S104 is performed after S103, and S106 is performed after S105, and no specific limitation is made herein.
S106, responding to the received operation of starting the video application by the user, and sending a process creation request to a process manager by the video application.
Wherein the creation process request includes a storage address of the video application.
The video application may send a request to create a process to a process manager (not shown) through the kernel32.Dll interface and the ntdll interface of the API module.
S107, the process manager creates a video application process.
Specifically, the process manager may query the binary file of the video application through the storage address. By loading the binary file of the video application program, a process running environment can be created, and the video application process is started.
Wherein the Windows operating system defines a run of an application as a process. A process may own multiple threads. A window is an example of a window structure, a graphical user interface (graphical user interface, GUI) resource, a window is created by a thread, and a thread can own all of the windows it creates. In the embodiment of the application, when the electronic device runs the video application, the process manager needs to create a process of the video application, namely, a video application process (namely, a first process). The video application process comprises a plurality of threads, the plurality of threads comprise a thread 1, the thread 1 can be used for creating a main window of the video application, and the main window is a window integrated with all function keys of the video application.
S108, the process manager reports a process creation event to the OsEventDriver node.
Wherein the process creation event may include a name of the process created by the process manager. In the embodiment of the present application, the name of the process is the name of the video application process. Of course, if the process manager creates a process of another application, the name of the process corresponds to the name of the process of the other application.
As already described above, the OsEventDriver node sends a request to the process manager to subscribe to a process creation event, and registers a callback. Therefore, the process manager can report a process creation event to the oseeventdriver node after creating the video application process.
S109, the OsEventDriver node reports a process creation event to the system probe module.
The description of the process creation event is S108, and is not described herein.
In this embodiment of the present application, the oseeventdriver node may report the process creation event to a system event probe of the system probe module.
S110, the system probe module sends a process creation event to the scene recognition module.
S111, responding to a call request of the thread 1, and creating the window 1 by the API module.
After the process manager creates the video application process, the thread 1 of the video application process actively calls the windows user interface creation window 1 of the API module. For example, as shown in fig. 5 (a), the electronic device may display a window 101, where the window 101 may be a desktop, or may be referred to as a main interface. The window 101 includes an icon 102 of a video application. The electronic device may receive an operation in which the user clicks on the icon 102 of the video application, and in response to the operation, as shown in (b) of fig. 5, the electronic device displays a window 103 (i.e., window 1, which may also be referred to as a first window). In the above procedure, the focus window is changed from the original window 101 to the window 103.
S112, the API module reports the focus window event to the system probe module.
In this embodiment of the present application, after creating window 1, the windows user interface of the API module may obtain the name of a first process (i.e. a focus process) and the name of a second process, where the first process is a process corresponding to a current focus window (i.e. window 1), and the second process is a process corresponding to a previous focus window (e.g. window 2). Illustratively, the process corresponding to the window 1 is a video application process (first process), the name of which is, for example, hlive. Exe, and the process corresponding to the window 2 is a process (second process) of a windows program manager, the name of which is, for example, explorer. Exe. And because the name of the first process is inconsistent with the name of the second process, the API module determines that the focus window changes, and reports a focus window event to a system event probe of the system probe module. Wherein the focus window change event includes the name of the first process (i.e., the focus process). Illustratively, the first process is a video application process, and the focus window change event carries a name of the video application process.
Note that, in the case where the electronic device has already started the video application, the electronic device may not execute S106 to S111. After the system probe module sends a request for subscribing the focus window change event to the API module, if the user switches the focus window to the window of the video application, the API module can also detect that the focus window changes and report the focus window event to the system probe module.
S113, the system probe module sends a focus window event to the scene recognition module.
S114, the scene recognition module determines that the type to which the first process belongs is a video type.
The electronic device may be preconfigured with an application list, and the scene recognition module may query whether the application list includes the first process. If the application list includes the first process, the scene recognition module may determine a type to which the first process belongs. The application list comprises the process name of each application and the type of the application. By way of example, the application list may be as shown in Table 1:
TABLE 1
Application of Process name Type(s)
Video frequency hlive.exe Video class
Word word.exe Office class
Shooting game shot.exe Game class
WeChat wechat.exe Social class
…… …… ……
For example, the name of the first process is hlive. Exe, the scene recognition module may determine that the type to which the first process belongs is a video class. For another example, the name of the first process is wechat. Exe, the scene recognition module may determine that the type to which the first process belongs is a social class. It should be noted that, table 1 is only used as an example, and in fact, table 1 may further include process names of more applications and types to which the process names belong.
It should be noted that the purpose of this step is to primarily determine the user scenario in which the electronic device is located. The user scene in which the electronic device is located may include a video scene, a game scene, a social scene, an office scene, a browser scene, and so forth. The video scene further comprises a video playing scene and a video browsing scene. The social scenes may further include text chat scenes, voice chat scenes, video chat scenes, and so on. The office scenes further may include document editing scenes, document browsing scenes, video conferencing scenes, and the like. The browser scene may include a browse web scene, a play video scene, and the like.
In this step, the type of the user scene where the electronic device is located may be determined by the type to which the first process belongs. For example, if the type to which the first process belongs is determined to be a video class, it may be determined that the electronic device is in a video scene; for another example, if it is determined that the type to which the first process belongs is a game class, it may be determined that the electronic device is in a game scene. In order to further analyze the user requirements, the scene recognition module may further analyze the specific scene where the electronic device is located by combining other parameters (such as a peripheral event, a GPU running state, etc.), so as to achieve an effect that the analysis result is more accurate, and the specific content is described in the following text.
S115, in response to receiving the operation of playing the video by the user, the video application sends a video playing instruction to the API module.
Specifically, the video application may send the video play instruction to the DirectX API of the API module. The video play instruction may include a cache address of the video.
S116, the API module reads the video file.
The API module can read the corresponding video file according to the cache address carried in the video playing instruction.
S117, the API module sends a decoding instruction to the display card driver.
S118, the display card drives to send a starting instruction to the GPU.
S119, the GPU decodes.
Specifically, the GPU may perform decoding operations on the video file through the GPU video processing engine.
S120, the GPU reports the decoding event to the display card driver.
S121, the display card driver reports the decoding event to the OsEventDriver node.
S122, the OsEventDriver node reports the decoding event to the system probe module.
Specifically, the oseeventdriver node reports the decoding event to an audio/video status probe of the system probe module.
S123, the system probe module sends a decoding event to the scene recognition module.
S124, the scene recognition module sends an instruction 1 to the system probe module.
The instruction 1 indicates the system probe module to acquire the GPU occupancy rate of the first process. The instruction 1 may carry the name of the first process.
S125, the system probe module sends a request for acquiring the GPU occupancy rate of the first process to the process manager.
Wherein the request for obtaining the GPU occupancy of the focal process may include the name of the first process.
In an alternative embodiment, a request to obtain the GPU occupancy of the first process may be sent by an audio video status probe of the system probe module to the process manager.
S126, the process manager collects the GPU occupancy rate of the first process.
Specifically, the process manager may collect the GPU occupancy rate of the first process through a graphics kernel (graphics kernel) interface driven by a graphics card.
S127, the process manager sends the GPU occupancy rate of the first process to the system probe module.
The process manager may send the GPU occupancy of the first process to the audio-video status probe of the system probe module.
S128, the system probe module sends the GPU occupancy rate of the first process to the scene recognition engine.
S129, the scene recognition module judges whether the GPU occupancy rate of the first process is larger than 0.
If the GPU occupancy rate of the first process is greater than 0, S130 is executed.
Whether the first process uses the GPU in the running process can be determined through the GPU occupancy rate of the first process, and if the GPU occupancy rate of the first process is greater than 0, the first process can be considered to use the GPU in the running process; if the GPU occupancy rate of the first process is 0, the first process is indicated to not use the GPU in the running process.
S130, the scene recognition module sends an instruction 2 to the system probe module.
Wherein instruction 2 instructs the system probe module to acquire the GPU engine of the first process. The instruction 2 may carry the name of the first process.
S131, the system probe module sends a request for acquiring the GPU engine of the first process to the process manager.
The audio and video status probe of the system probe module can send a request for acquiring the GPU engine of the first process to the process manager. The request to acquire the GPU engine of the first process includes the name of the first process.
The GPU engines comprise a GPU 3D engine, a GPU copy engine, a GPU video encoding engine and a GPU video processing engine. Wherein the GPU 3D engine is mainly responsible for processing 2D or 3D graphics. The GPU copy engine is mainly used for transmitting data. The GPU video encoding engine is mainly used for encoding operation. The GPU video processing engine performs mainly decoding operations. In some embodiments, the GPU video processing engine may also be replaced by a GPU video decoder engine.
S132, the process manager acquires the GPU engine of the first process.
Specifically, the process manager may obtain the GPU engine of the first process through a graphics kernel interface driven by a graphics card.
S133, the process manager sends a message 1 to the system probe module, wherein the message 1 indicates that the GPU engine of the first process is a GPU video processing engine.
Specifically, the process manager may send the message to an audio/video status probe of the system probe module, and then forward the message to the scene recognition module by the audio/video status.
S134, the system probe module sends a message 1 to the scene recognition module.
S135, the scene recognition module judges whether the GPU engine of the first process is a GPU video processing engine.
If the GPU engine of the first process is GPU video processing engine, then execute S129; if the GPU engine of the first process is not GPU video processing engine, then S130 is executed.
In step S114, the scene recognition engine has determined that the type to which the first process belongs is a video class, i.e. that the electronic device is in a video scene. Through step S135, the scene recognition engine may determine a specific operation performed by the first process through the GPU, and further determine a specific operation of the user using the video application. For example, if the GPU engine of the first process is GPU video processing engine, indicating that the first process is using the GPU for decoding operations, the user may be considered to be playing video using the video application. For another example, if the GPU engine of the first process is not GPU video processing engine, it indicates that the first process is not using the GPU for decoding operations, then the user has a high probability of browsing video resources on the video application, and not yet playing video.
S136, the scene recognition module determines that the user scene is a video playing scene according to the process information of the first process.
The process information of the first process comprises information such as the name of the first process, the application type to which the first process belongs, the GPU occupancy rate of the first process, and a GPU engine used by the first process.
From the above, it can be seen that if the type of the first process (the focus process) is a video type, the GPU occupancy rate of the first process is greater than 0, and the GPU engine of the first process is a GPU video processing engine, it can be determined that the electronic device is in a video playing scene.
The above S101 to S136 are described only by taking a video playing scene in which the electronic device is in a video scene as an example. Indeed, the electronic device may also be in other user scenes (e.g., gaming scenes, office scenes, social scenes, video browsing scenes, etc.).
In an alternative embodiment, if the scene recognition engine determines that the type of the first process (focus process) belongs to the game class, the power mode of the CPU is changed to the game mode (game mode), the GPU occupancy rate of the first process is greater than 0, and the GPU engine of the first process is a GPU 3D engine, it may be determined that the electronic device is in the game scene.
Wherein the power state probes of the system probe module may send a request to the power manager to subscribe to a power mode change event. The power manager may report the power mode change event to a power state probe of the system probe module when the power module transitions to a game mode (game mode). As such, the scene recognition engine can determine whether the power mode of the CPU is a game mode through the power mode change event.
In addition, the process of the scene recognition engine obtaining the type of the first process may refer to S101, S102, S105, S106 to S114 in fig. 4, and the process of the scene recognition engine determining whether the GPU occupancy rate of the first process is greater than 0 and whether the GPU engine of the first process is a GPU 3D engine refers to S124 to S135. The difference is that the video application is replaced with a game application, and the description thereof is omitted.
Next, a flow of determining a user scenario where the electronic device is located when the electronic device is in an office scenario will be briefly described with reference to fig. 6. It should be noted that, the principle and flow of the flowchart shown in fig. 6 and the flowchart shown in fig. 4 are basically detailed, and only the differences between the two are specifically described below, and the details of the differences are not described in detail, and refer to the description of the related steps in fig. 4. Fig. 6 shows a flow of determining a user scenario where an electronic device is located according to a resource scheduling method provided in an embodiment of the present application as follows:
s201, a system probe module sends a request for subscribing a process creation event to an OsEventDriver node.
S202, the OsEventDriver node sends a request for subscribing a process creation event to a process manager.
S203, the system probe module sends a request for subscribing the peripheral event to the OsEventDriver node.
As shown in fig. 3, the system probe module further includes a peripheral status probe. In the embodiment of the application, a peripheral status probe of the system probe module can send a request for subscribing a peripheral event to the OsEventDriver node. Wherein the request to subscribe to a peripheral event may also be referred to as a fourth request.
The external events comprise mouse wheel sliding, mouse clicking, keyboard input, camera input, microphone input and the like.
S204, the OsEventDriver node sends a request for subscribing the peripheral event to the peripheral driver.
The peripheral driver is a generic term for driving all peripheral devices, and may include, for example, a mouse driver, a keyboard driver, a camera driver, a microphone driver, and the like.
S205, the system probe module sends a request for subscribing to the focus window change event to the API module.
S206, responding to the operation of receiving the opening of the office application by the user, and sending a request for creating the office application process to the process manager by the office application.
Wherein the request to create the office application process may include a storage address of the office application program.
S207, the process manager creates an office application process.
Specifically, the process manager may query the binary file of the office application through the storage address. By loading the binary file of the office application program, a process running environment can be created, and the video application process is started. In addition, the office application process includes thread 2, thread 2 being available to create a main window of the office application.
S208, the process manager reports a process creation event to the OsEventDriver node.
S209, the OsEventDriver node reports a process creation event to the system probe module.
Wherein the process creation event carries the name of the office application process.
S210, the system probe module sends a process creation event to the scene recognition module.
S211, responding to the call request of the thread 2, and creating an office application window by the API module.
S212, reporting a focus window event to the system probe module by the API module.
The focus window event carries the name of the first process (focus process). It can be appreciated that in the embodiment of the present application, the first process is an office application process.
S213, the system probe module sends a focus window event to the scene recognition module.
S214, the scene recognition module determines that the type to which the first process belongs is an office class.
For example, the name of the first process is word. Exe, it may be determined that the type to which the first process belongs is an office class.
S215, responding to the operation of the user on the peripheral, and detecting a peripheral event by the peripheral driver.
S216, the peripheral driver reports the peripheral event to the OsEventdriver node.
S217, the OsEventDriver node sends a peripheral event to the system probe module.
S218, the system probe module sends a peripheral event to the scene recognition module.
S219, the scene recognition module determines a user scene according to the type of the peripheral event and the first process.
In an alternative embodiment, if the scene recognition engine determines that the type of the first process (focus process) belongs to an office class and the peripheral event is a mouse wheel sliding event or a clicking event, it may be determined that the electronic device is specifically in a document browsing scene under the office scene. Or if the scene recognition engine determines that the type of the first process (focus process) belongs to an office class and does not receive the mouse wheel sliding event, the mouse click event and the keyboard input event again within a preset time (for example, 10 seconds) after receiving the keyboard input event, it may be determined that the electronic device is specifically located in a document browsing scene under the office scene.
In an alternative embodiment, if the scene recognition engine determines that the type of the first process (focus process) belongs to an office class and receives a keyboard input event, it may determine that the electronic device is specifically in a document editing scene in the office scene.
In an alternative embodiment, if the scene recognition engine determines that the type of the first process (focus process) belongs to an office class and receives a camera input event (i.e., the camera is in an on state and there is a video stream input), it may be determined that the electronic device is specifically in a video conference scene under the office scene.
The electronic device may also be in a social context. The social scene comprises three specific scenes, namely: text chat scene, voice chat scene and video chat scene. The principle of judging that the electronic device is in the social scene is similar to the principle of judging that the electronic device is in the office scene, and is not described herein, and only the conditions which need to be met when judging that the electronic device is in the social scene are described below.
In an alternative embodiment, if the scene recognition engine determines that the type of the first process (focus process) belongs to the social class and receives the keyboard input event, it may determine that the electronic device is specifically in a text chat scene under the social scene.
In an alternative embodiment, if the scene recognition engine determines that the type of the first process (focus process) belongs to the social class, and the microphone input event is received and the camera is in the off state, it may be determined that the electronic device is specifically in a voice chat scene under the social scene.
In an alternative embodiment, if the scene recognition engine determines that the type of the first process (focus process) belongs to the social class and receives a microphone input event and a camera input event, it may determine that the electronic device is specifically in a video chat scene under the social scene.
The above description illustrates how to identify the user scene where the electronic device is located, after determining the user scene where the electronic device is located, the electronic device may further perform resource scheduling according to the user scene where the electronic device is located and the system load, so that the CPU of the electronic device may operate according to the actual requirement of the user, and the effect of avoiding the CPU from having excessive performance under the condition of not affecting the user experience is achieved.
Next, the resource scheduling process of the electronic device is described by taking the electronic device in a video playing scene as an example. As shown in fig. 7, a resource scheduling method provided in the embodiment of the present application includes the following steps:
as shown in fig. 7, the resource scheduling method provided in the embodiment of the present application further includes:
s301, the scene recognition module sends scene information to the basic scheduling policy matching manager.
The scene information is used for indicating a user scene where the electronic equipment is located. For example, the electronic device may pre-assign unique identifiers to different user scenarios, and the scenario information may include the unique identifiers of the user scenarios. For example, the identification (e.g., V01) may indicate that the electronic device is in a video playback scene. For another example, the identification (e.g., V02) may indicate that the electronic device is in a video browsing scenario.
Regarding the process of determining the user scene where the electronic device is located by the scene recognition module, refer to S101 to S136 specifically, and are not described herein again.
S302, the basic strategy matching manager obtains a scheduling strategy 1 according to the scene information.
The scheduling policy 1 includes an OS scheduling policy 1 and a CPU power consumption scheduling policy 1. The OS scheduling policy 1 includes a first process priority and a first I/O priority of a first process. Wherein the scheduling policy 1 may also be referred to as a second scheduling policy.
The priority of the first process is used for measuring the capability of the first process to preempt the CPU, and the higher the priority is, the higher the first process can preferentially meet the occupation requirement of the first process on CPU resources, so that the higher the running smoothness of the first process is. In an alternative embodiment, the priority of the focal process includes, in order from high to low, the level: real-time, high, above normal, below normal, low. The priority of the first process can also be understood as the focal process priority (focus process priority, FPP).
The I/O priority of the first process is used for measuring the responsiveness of the system to the disk and the I/O request of the first process, and the higher the priority is, the higher the responsiveness of the disk and the I/O request of the first process is, namely the faster the response speed is. In an alternative embodiment, the focal process I/O priority includes, in order from high to low, the levels of: critical, high, normal, low, very low. The I/O priority of the first process can also be understood as the focal process I/O priority (focus process IO priority, FPP_IO).
The CPU power consumption scheduling policy 1 includes a first PL1, a first PL2, and a first EPP of the CPU.
It can be seen that the scheduling policy 1 may adjust the process priority, the I/O priority and the CPU power consumption of the first process.
In an alternative embodiment, the electronic device may be preconfigured with various user scenarios and their corresponding scheduling policies. For example, the correspondence between various user scenarios and their corresponding scheduling policies may be as shown in table 2.
For example, if it is determined that the user scenario in which the electronic device is located is a text chat scenario in a social scenario, the scheduling policy 1 includes: the first process priority of the first process is normal, the first I/O priority of the first process is normal, the first PL1 of the CPU is 12W, the first PL2 is 60W, and the first EPP is 220. It should be noted that the scheduling policy in table 2 is only an example, and in practical application, the values of the process priority, the I/O priority, PL1, PL2, and EPP may not coincide with the values in table 2. In addition, table 2 only shows the scheduling policies of a partial scenario, and the actual electronic device may also configure more scheduling policies than table 2.
It should be noted that, the above scheduling policy is a scheduling policy when the default electronic device is in a light load state, and may pre-count CPU power consumption of each application under a corresponding load characteristic for the electronic device, and configure the CPU power consumption according to the load characteristic obtained by statistics. Therefore, the scheduling policy 1 obtained by the basic policy matching manager can be used as a reference scheme of a policy for scheduling by the electronic equipment, and the electronic equipment can also obtain an actual scheduling policy according to the scheduling policy 1 and combining with an actual system load.
TABLE 2
Figure BDA0003721836350000161
S303, the basic policy matching manager sends the scheduling policy 1 to the scene recognition module.
S304, the scene recognition module sends the scheduling strategy 1 and scene information to the load controller.
That is, after the base policy matching manager determines the scheduling policy 1, the scheduling policy 1 is forwarded to the load manager through the scene recognition module. In an alternative embodiment, the scenario recognition module may send the scheduling policy 1 and the scenario information to the load manager in two steps, respectively.
S305, the load controller sends a request for acquiring the system load to the system probe module.
Wherein the system load is the average number of processes in an executable state and processes in an uninterruptible state. The process in the runnable state refers to a process that is using or waiting for using a CPU. The process of the uninterruptible state is a process waiting for I/O access (e.g., disk I/O).
S306, the system probe module sends a request for acquiring the system load to the process manager.
As shown in fig. 3, the system probe module includes a system load probe, and a request to acquire a system load may be sent by the system load probe to the process manager. In an alternative embodiment, the oseeventdriver node may also forward a request to the process manager to acquire the system load of the system load probe (not shown).
S307, the process manager acquires the system load.
S308, the process manager sends a system load to the system probe module.
In particular, the process manager may send the system load to a system load probe of the system probe module. In an alternative embodiment, the system load may also be forwarded by the oseeventdriver node to a system load probe (not shown).
S309, the system probe module sends the system load to the load controller.
And S310, the load controller obtains a scheduling strategy 2 according to the system load, the scene information and the scheduling strategy 1.
Scheduling policy 2 may include an OS scheduling policy 2 (may also be referred to as an OS scheduling policy) and a CPU power consumption scheduling policy 2 (may also be referred to as a first sub-policy). The CPU power consumption scheduling policy 2 includes PL1 ', PL 2', EPP ', and PL 1' is PL1 adjusted by the load manager, and may also be referred to as second PL1.PL 2' is the load regulator adjusted PL2 and may also be referred to as a second PL2. EPP' is the EPP adjusted by the load controller and may also be referred to as the second EPP. Wherein the scheduling policy 2 may also be referred to as a first scheduling policy.
In an alternative embodiment, the load manager may divide the system load into three levels, light load, medium load, heavy load, respectively. The electronic device may be preconfigured with various user scenarios and their corresponding adjustment policies. For example, the adjustment strategy may be as shown in table 3:
TABLE 3 Table 3
Figure BDA0003721836350000171
For example, if the electronic device is in a video playing scene, and according to table 2, it can be known that the scheduling policy 1 is: the process priority of the video application process is normal, the I/O priority of the video application process is normal, PL1 (i.e., first PL 1) of the CPU is 18W, PL2 (i.e., first PL 2) is 60W, and EPP (i.e., first EPP) is 200. In this case, if the system load is a light load, there is no need to adjust the scheduling policy, that is, the scheduling policy 2 is the scheduling policy 1. If the system load is a medium load, the process priority of the video application process needs to be kept normal, the I/O priority of the video application process is normal, PL1 is increased by 22W on the basis of 18W, PL2 is increased by 30W on the basis of 60W, epp is decreased by 50 on the basis of 200, i.e. the scheduling policy 2 is: the video application process has normal process priority, the video application process has normal I/O priority (OS scheduling policy 2), PL1 ' 40W, PL2 ' 90W, and EPP ' 150 (CPU scheduling policy 2). If the system load is heavy, the process priority of the video application process needs to be kept normal, the I/O priority of the video application process is adjusted to be high, PL1 is increased by 37W on the basis of 18W, PL2 is increased by 45W on the basis of 60W, EPP is reduced by 100 on the basis of 200, namely the scheduling strategy 2 is: the process priority of the video application process is normal, the I/O priority of the video application process is high, PL1 ' is 55W, PL2 ' is 105W, and EPP ' is 100.
It should be noted that, table 3 only shows a part of user scenes and corresponding adjustment policies, and the electronic device may further configure more adjustment policies than table 3, which is not limited herein.
In an alternative embodiment, the specific mapping relationship (for example, mapping is performed by a specific formula) is satisfied between the system load and the CPU power consumption, and the load controller may also calculate the CPU power consumption by using the specific formula and the system load, so as to obtain the scheduling policy 2.
S311, the load management controller sends the OS scheduling strategy 2 to the scheduling executor.
The OS scheduling policy 2 includes a second process priority of the first process and a second I/O priority.
S312, the scheduling executor sends an instruction 1 to the I/O manager.
Wherein instruction 1 carries the second I/O priority of the first process. In addition, as shown in FIG. 3, the dispatch executor includes an I/O priority interface from which instruction 1 may be sent to the I/O manager. Wherein this instruction 1 may also be referred to as a second instruction.
S313, in response to the instruction 1, the I/O manager adjusts the I/O priority of the first process.
That is, the I/O manager may adjust the I/O priority of the first process to the second I/O priority. Thus, the first process can be guaranteed to be capable of preferentially performing the I/O access, and the response time of the first process in the I/O access process is reduced.
S314, the scheduling executor sends an instruction 2 to the process manager.
Wherein instruction 2 carries the second process priority of the first process. In addition, as shown in FIG. 3, the dispatch executor also includes a process priority interface, from which instruction 2 may be sent to the process manager. Wherein this instruction 2 may also be referred to as a first instruction.
S315, in response to receiving the instruction 2, the process manager adjusts the process priority of the first process.
That is, the process manager may adjust the process priority of the first process to the second process priority. Therefore, the first process can occupy CPU resources preferentially, and smooth operation of the first process is guaranteed.
Therefore, by adjusting the I/O priority and the process priority of the first process, the I/O access of the first process and the consumption of CPU resources can be preferentially ensured, so that the first process can normally and smoothly run, and the user is ensured to have good experience.
It should be noted that, there is no strict sequence between S312 and S314, S312 may be executed first, S314 may be executed first, S312 may be executed second, S312 may be executed first, or S314 and S312 may be executed simultaneously.
S316, the load management controller sends the CPU power consumption scheduling strategy 2 to the chip strategy fusion device.
S317, the chip strategy fusion device judges the type of the chip platform of the CPU as
Figure BDA0003721836350000181
Or->
Figure BDA0003721836350000182
Figure BDA0003721836350000191
CPU chip of company and->
Figure BDA0003721836350000192
The CPU of the company has different adjustment modes for CPU power consumption, and therefore needs to be distinguished. Wherein, if the chip platform type of the CPU is +.>
Figure BDA0003721836350000194
(which may also be referred to as a first type), then S318 is performed; if the chip platform type of the CPU is +.>
Figure BDA0003721836350000193
(which may also be referred to as a second type), S325 is performed.
S318, the chip policy fusion device sends the CPU power consumption scheduling policy 2 to the scheduling executor.
The CPU power consumption scheduling strategy 2 comprises PL1 ', PL2 ' and EPP '.
S319, the scheduling executor sends an instruction 3 to the OS2SOC driving node.
Wherein, instruction 3 carries PL1 'and PL 2'. That is, instruction 3 is used to adjust PL1 and PL2 of the CPU. Wherein instruction 3 may also be referred to as a third instruction.
In an alternative embodiment, instruction 3 may be sent by the CPU power consumption scheduling interface of the scheduling executor to the OS2SOC driving node.
S320, the OS2SOC driving node sends an instruction 3 to the CPU.
S321, in response to instruction 3, the cpu adjusts PL1 and PL2.
That is, the CPU may adjust PL1 to PL1 'and PL2 to PL 2'.
S322, the scheduling executor sends an instruction 4 to the power manager.
Wherein instruction 4 carries EPP'. That is, instruction 4 is used to adjust the EPP of the CPU. Instruction 4 may also be referred to as a fourth instruction.
S323, the power manager sends an instruction 4 to the CPU.
S324, in response to the instruction 4, the CPU adjusts EPP.
That is, the CPU may adjust EPP to EPP'.
S325, the chip strategy fusion device determines a dynamic tuning technical strategy number according to the CPU power consumption scheduling strategy 2.
The dynamic tuning technique (dynamic tuning technology, DTT) is
Figure BDA0003721836350000195
Company is->
Figure BDA0003721836350000196
Processor and->
Figure BDA0003721836350000197
Automatic and dynamic distribution of power consumption among independent display cards for optimizationThe technology for improving the performance and prolonging the battery endurance time can improve the performance of the CPU and the GPU and realize intelligent hybrid workload power balance.
It will be appreciated that there may be a mapping relationship between the DTT policy number and the CPU power consumption scheduling policy 2. A DTT policy table is constructed in BIOS, and any CPU power consumption scheduling policy 2 can be mapped to a DTT policy number in the DTT policy table through parameters (PL 1 ', PL2 ' and EPP ') in the DTT policy table, as shown in Table 4.
The DTT policy number may be used to identify a DTT policy (may also be referred to as a second sub-policy), where the DTT policy corresponding to the DTT policy number is used to adjust pl1_mini, pl1_max, pl2, pl2_time, EPO Gear of the CPU. pL1_MINI is the minimum value of PL1, pL1_MAX is the maximum value of PL1, and pL2_TIME is the duration of PL2. The energy efficiency-performance optimization Gear (Energy Performance Optimize Gear, EPO Gear) is used for representing the strength of the DTT for adjusting the CPU energy efficiency ratio (EPP), the value range is 1-5, and the larger the value is, the more energy efficiency is prone to be adjusted when the EPP is adjusted; the smaller the value, the more performance is favored when adjusting EPP.
Note that table 4 only shows the correspondence of the parts PL1', PL2', EPP ' and DTT policy numbers, and actually may include more information than table 4. For example, if the CPU power consumption scheduling policy 2 indicates that PL1' is-1, PL2' is-1 and EPP ' is-1, the DTT policy number may be determined to be 0, which corresponds to PL1 MINI of 30, PL1 max of 40, PL2 of 95, PL2 time of 28, epo Gear of 3.
S326, the chip strategy fusion device sends the DTT strategy number to the scheduling executor.
In an alternative embodiment, the chip policy aggregator may also send the power DTT policy (i.e. the second sub-policy) corresponding to the DTT policy number directly to the scheduling executor.
TABLE 4 Table 4
Figure BDA0003721836350000201
S327, the scheduling executor sends the DTT policy number to the Intel DTT driver.
S328, intel DTT driving sends a DTT strategy number to the CPU.
It will be appreciated that the Intel DTT driver may send a DTT policy number to the CPU via the BIOS.
S329, the CPU runs based on the DTT strategy number.
It can be seen that if the type of the chip platform of the CPU is
Figure BDA0003721836350000202
The chip policy aggregator may send an instruction to adjust EPP to the power manager via the schedule executor, and the power manager may adjust EPP of the CPU. In addition, the schedule executor may also send an instruction to adjust PL1, PL2 to the OS2SOC driving node, which drives PL1 and PL2 of the CPU.
If the chip platform type of the CPU is
Figure BDA0003721836350000203
The chip policy fusion device can determine that the CPU power consumption scheduling policy 2 obtains a DTT policy number, and send the DTT policy number to the Intel DTT driver through the bios by the scheduling executor, so that the CPU operates based on the DTT policy number, and the effect of adjusting power consumption is achieved.
It can be understood that the present application may acquire a focus window change event and first information (including process information of a focus process, occupation condition of the focus process on a GPU, a peripheral event, a power mode, and the like), determine a user scene where the electronic device is currently located according to the focus window change event and the first information, determine a first scheduling policy in combination with the user scene and a system load of the electronic device, and adjust a process priority of the focus process, an I/O priority, and power consumption of the CPU based on the first scheduling policy, so as to reduce energy consumption of the electronic device under a condition that a user demand is smoothly satisfied (smooth operation of the focus process is ensured).
The above is an introduction to the overall framework and overall functions related to the present application, and the above software architecture may be simplified into the structure shown in fig. 8. As shown in fig. 8, the software architecture may include, from top to bottom, an application layer, a kernel and driver layer, and a hardware layer.
Specifically, the application layer may install an APP that is a PC manager that can manage and schedule resources of the PC. The PC manager can recognize various scenes such as music scenes, video scenes, game scenes, office scenes, social scenes and the like according to different probes. The PC manager includes a scene recognition engine and a scheduling engine.
The kernel and the driving layer comprise a display card driver, wherein the display card driver stores a configuration file of a display card, and the configuration file of the display card is used for providing the type of the display card used by the process in the process starting stage, and whether an integrated display card (IGPU) or an independent display card (DGPU) is used. The integrated display card has lower energy consumption, but the graphics processing capability is weaker than that of the independent display card; the graphics processing capability of the independent graphics card is strong, but the energy consumption is higher than that of the integrated graphics card.
The hardware layer comprises a central processing unit (central processing unit, CPU), an integrated display card (integrated graphics processing unit, IGPU), an independent display card (discrete graphics processing unit, DGPU), a MEMORY (MEMORY) and other hardware devices.
For easy understanding, the following embodiments of the present application will take an electronic device having the structure shown above as an example, and specifically describe the graphics card scheduling method provided in the embodiments of the present application with reference to the accompanying drawings and application scenarios.
Generally, in the APP running process of the graphics class, the resources of the GPU need to be called to perform image processing to achieve a corresponding display effect. For APP with large operand of image processing, which can be marked as APP with high performance requirement, DGPU is called to execute image processing because IGPU processing capacity is limited and normal image processing requirement cannot be met. For APP with small operation amount in image processing, IGPU can be used for executing image processing, so that the use requirement can be met, and the energy consumption can be saved. The electronic device only needs to determine if the APP has a marked high performance requirement, if so, call DGPU, and if not, call IGPU.
However, the method of determining whether to use the IGPU or the DGPU according to whether the APP has a high performance requirement, according to a single method, performance and power consumption cannot be reasonably balanced, which may result in waste of power consumption in some cases.
In the strategy of the application, the electronic equipment can adopt various probes to acquire the scene where the current electronic equipment is located, and then according to the scene where the current electronic equipment is located, whether the current APP calls the IGPU or the DGPU is determined by combining the power supply mode of the power supply, so that the power consumption in the scene with preferential cruising ability is optimized, and the performance in the scene with preferential high performance is ensured. The scenario described herein may include a combination of one or more of the types of APP that the electronic device is running, whether an external device (mouse, keyboard, power supply, headset, camera, etc.) is connected, whether the electronic device is connected to an external power supply (i.e., whether power is supplied (AC mode)), whether the power is sufficient, etc.
In some embodiments, a flow chart of a graphics card scheduling method may be shown as 9, including:
s901, acquiring an identification of an APP to be started.
Specifically, when the probe of the detection process detects that a new process 1 exists, for example, a user clicks an icon of an APP to open the APP, the electronic device responds to the clicking operation of the user to newly establish a process to prepare to run the APP, which is called APP to be started, and obtains the identity of the APP to be started. In some embodiments, the probe of the probe process sends the identifier of the APP to be started to the scene recognition engine, and the scene recognition engine may obtain the identifier of the APP to be started corresponding to the new process.
S902, acquiring a current power supply mode of the electronic equipment.
The electronic equipment can also acquire the current power supply mode in the current state according to the power supply modes of the electronic equipment reported by the probes. For example, whether the power socket is in place or not can be obtained through a probe for detecting whether the power socket is in place or not, if so, the current power supply mode is determined to supply power for the power supply, and if not, the current power supply mode is determined to supply power for the battery.
S903, determining an identification of the APP to be started and a target display card type corresponding to the current power supply mode based on a preset mapping relation, wherein the target display card type is a type of a display card called by the APP to be started in the operation process, the mapping relation comprises a plurality of power supply modes, identifications of the APP and corresponding relations of the display card types, the power supply modes comprise the current power supply mode, the identifications of the APP comprise the identification of the APP to be started, and the display card types comprise the target display card type.
The mapping relationship may be a correspondence relationship between an identification of an APP-a power supply mode (may also be referred to as a power supply mode) -a display card type, and the electronic device searches the identification of the APP to be started and the power supply mode in the mapping relationship, so as to obtain a corresponding display card type, and uses the display card type as a target display card type, so that the display card type is called when the APP to be started is operated.
The identification of the APP to be started may also be an application scenario where the electronic device runs the APP to be started, and the mapping relationship may be a correspondence relationship between an application scenario, a power supply mode, and a graphics card type. The electronic equipment acquires the corresponding display card type through searching the scene identification and the power supply mode of the application scene, and takes the display card type as the target display card type so as to call when the APP to be started is operated.
In the embodiment shown in fig. 9, the current power supply mode is combined to determine which graphics card is called by the APP in the subsequent operation, so that the display performance and the duration are balanced according to the power supply mode. For example, for APP with higher graphics processing requirement, IGPU cannot normally run, so DGPU is directly called to ensure performance preferentially; aiming at the APP with lower graphic processing requirements, the IGPU can be called to meet the graphic processing requirements in a battery-powered mode, meanwhile, the power consumption is reduced, and in a power supply mode, the requirement of cruising can be ignored, and the DGPU is called. The method improves the rationality of display card scheduling and improves the user experience.
In some embodiments, a flow chart of a graphics card scheduling method may be shown as 10, including:
s1001, acquiring an identification of the APP to be started corresponding to the new process.
Specifically, the probe of the detection process detects that a new process 1 is about to be opened, namely a new APP is about to be started on the electronic device, and the new APP is recorded as APP1, and at this time, the electronic device can acquire the APP1 which is about to be started and corresponds to the new process. In some embodiments, the probe of the probing process detects the new process 1, and may further determine that APP to be started at this time is APP1 according to the name of the new process 1 and the signature information of the new process 1, and acquire the identifier of the APP1. Optionally, before starting the APP1, the electronic device may further check whether the signature certificate is available according to the signature information of the new process 1, and if so, continue to execute the subsequent steps. And then the electronic equipment sends the identification of the APP1 to a scene recognition engine, so that the scene recognition engine can acquire the identification of the APP to be started corresponding to the new process.
S1002, determining whether the APP to be started is the APP in the preset white list according to the identification of the APP to be started. If yes, executing the step of S1003A; if not, S1003B is performed.
It should be noted that, the APP in the white list is an APP of which display card type to be called in what scene is predetermined, that is, the APP is an APP which needs to call an independent display card or an integrated display card when running under the scenes of power supply and battery supply respectively. Optionally, the white list may include a plurality of APPs, and may further include a graphics card type corresponding to each APP in the plurality of APPs. Alternatively, the graphics card types may be distinguished by corresponding identifiers, for example, the independent graphics card is represented by DGPU, and the integrated graphics card is represented by IGPU. Alternatively, the whitelist may be stored in a configuration file of the PC manager.
The electronic device can search the mark of the APP to be started in a preset white list. For example, the electronic device searches the identifier of the APP1 in the white list, and if the identifier can be found, determines that the APP to be started is the APP in the white list; if not, determining that the APP to be started is not in the white list.
In some embodiments, the electronic device may search in the white list according to the identification of APP1 through the scene recognition engine, and if APP1 is found, may determine that APP1 is an APP in the white list; if APP1 is not found, it is determined that APP1 is not an APP in the white list.
The white list may also include, for example, a game APP with a high display requirement or a music APP with a low display requirement.
S1003A, if the APP to be started is the APP in the white list, acquiring the current power supply mode of the electronic equipment.
The electronic equipment can also acquire whether the current power supply is power supply or battery power supply according to the power supply mode of the electronic equipment reported by each probe.
In some embodiments, the probes of various scenes can acquire current various states of the electronic device, report the states to the scene recognition engine, and the electronic device recognizes a current scene identifier according to the states through the scene recognition engine, wherein the scene identifier can carry a power supply mode of a power supply. Alternatively, the scene identifier may be another type of identifier such as a scene name, a scene code, etc., which is not limited in the embodiment of the present application.
Alternatively, the scene identifier may be a scene number, where the scene number includes a plurality of fields, and different fields represent states detected by different probes. For example, the scene number may include a field for representing a power supply mode of the power supply, for example, the field of the power supply mode is 0, which may indicate that the current electronic device is in AC mode, that is, the power is plugged in, and is a mode powered by the power supply; if the power mode field is 1, it may indicate that the current electronic device is in battery powered (i.e., DC mode), i.e., no power is inserted, and is in a mode that uses a battery for power.
S1003B, if the APP to be started is not in the white list, determining that the display card corresponding to the APP to be started in the default configuration file of the display card is the target display card.
At this time, the configuration file of the display card is not required to be modified, and the default configuration file of the display card is used for calling the corresponding display card, so that the ordered calling of the display card can be ensured, namely, the original default spam design is adopted, and therefore, the problem of confusion of calling of the display card in the uncovered scene in the corresponding relation can not occur.
S1004, determining a target display card called when the APP to be started runs according to the identification of the APP to be started and the power supply mode.
The electronic equipment can also search in a preset mapping relation according to the identification and the power supply mode of the APP to be started to obtain a target display card corresponding to the identification and the power supply mode of the APP to be started. The correspondence may include the correspondence of the identification of the APP in the whitelist, the power supply mode (AC and DC), and the type of the graphics card.
Optionally, the mapping relationship may also be a correspondence relationship between a plurality of scene identifiers and different graphics cards. The scene identifier comprises information representing a power supply mode of the power supply. The plurality of scene identifications in the corresponding relationship are different from each other, but the display card corresponding to each scene identification may correspond to the same display card as some other scene identifications. When the display card type comprises IGPU and DGPU, different scene identifications respectively correspond to the IGPU or the DGPU.
Optionally, the electronic device may also obtain a scene identifier in the current scene, and search in the corresponding relationship in combination with the identifier of the APP to be started to obtain the target graphics card.
In some embodiments, the electronic device may also send the scene identification to the scheduling engine through the scene recognition engine. For example, the scene number may be sent to the scheduling engine, or a field indicating the power supply mode of the power supply may be sent to the scheduling engine, which is not limited to this embodiment. The scheduling engine determines the type of the display card to be called when the APP is to be started to run in the current scene according to the power supply mode carried by the scene identification, and dynamic adjustment of display card scheduling is achieved.
Optionally, some corresponding relations between scene identifiers and graphics card types may be preset, for example, they are: the corresponding relation of the scene number and the display card type can generally carry a field of the power supply mode in the scene number. The scheduling engine can find the display card type corresponding to the scene number in the corresponding relation, and then write the display card type into the configuration file of the display card driver, so that the APP1 calls the written display card type after starting.
Optionally, some mapping relationships between APP and graphics card types may be preset. For example, game class APP corresponds to DGPU and evaluation class APP corresponds to DGPU. For another example, meeting APP corresponds to IGPU, video APP corresponds to IGPU, music APP corresponds to IGPU, and social APP corresponds to IGPU. The corresponding mode can ensure that when the APP with high graphic processing requirements runs, the DGPU with high graphic processing capability is called to ensure the processing performance; and when the APP with low graphic processing requirements runs, invoking the IGPU with weak graphic processing capability to ensure that the display requirements are met and simultaneously reduce the power consumption.
Optionally, the mapping relationship of the current power supply mode may also be included in the correspondence relationship, that is, the correspondence relationship is: application scene-power supply mode-display card type, and the corresponding relation of the three. For example, meeting class APP, DC mode, IGPU correspondence; meeting APP, AC mode and DGPU correspond; video APP, DC mode and IGPU correspond; video APP, AC mode and DGPU correspond; music APP, DC mode and IGPU correspond; music APP, AC mode and DGPU correspond; video APP, AC mode and DGPU correspond; social group APP, DC mode and IGPU correspond; social class APP, AC mode and DGPU correspond; office APP, DC mode and IGPU correspond; office APP, AC mode and DGPU correspond; the browser APP, the DC mode and the IGPU correspond to each other; browser APP, AC mode, DGPU correspond. The corresponding relation enables the electronic equipment to determine the display card to be used in combination with the power supply mode when the APP is the APP with low requirements on graphic processing, so that the DGPU is called to ensure the performance preferentially when the power supply is used for supplying power, and the display effect is optimized; when the battery is powered, the IGPU is called to save power consumption, so that the experience of users in different use scenes is balanced.
The electronic equipment can determine the type of the display card required to be called when the APP is to be started to run according to the application scene represented by the scene number and the power supply mode of the power supply. In some embodiments, the following correspondence may be seen:
When the APP to be started is a game APP, the corresponding display card type is DGPU no matter the power supply mode of the power supply is AC or DC; when the application scene is an evaluation scene (such as a running classification scene), the corresponding video card type is DGPU no matter the power supply mode of the power supply is AC or DC, so that the performance is guaranteed preferentially.
When the APP to be started is an office APP, the power supply mode of the power supply is DC, and the corresponding display card type is IGPU; when the APP to be started is music APP, the power supply mode of the power supply is DC, and the corresponding display card type is IGPU; when the APP to be started is video APP, the power supply mode of the power supply is DC, and the corresponding display card type is IGPU; when the APP to be started is a social APP, and the power supply mode of the power supply is DC, the corresponding display card types are IGPU; when the APP to be started is a conference APP, the power supply mode of the power supply is DC, and the corresponding display card types are IGPU, so that the cruising ability of the electronic equipment is preferentially ensured.
When the APP to be started is an APP with lower operation amount for image processing, such as an office APP, a music APP, a video APP, a social APP, a conference APP and the like, and the power supply mode of the electronic equipment is AC, the electronic equipment considers that the problem of power consumption can be avoided in the power supply mode, and the display card type which is originally defaulted by each APP is adopted, namely, the configuration file of the display card drive is not required to be modified.
Under other application scenes, the default display card type can be called, namely, the configuration file of the display card driver is not required to be modified.
The setting mode is that if IGPU is used, the IGPU can not normally run under the condition of higher graphic processing requirement (namely under the condition of high performance priority), so that the DGPU is directly called to ensure the performance preferentially; and when other graphic processing requirements are lower and the battery mode is in the condition of the continuous voyage priority, the IGPU is called to meet the graphic processing requirements, and meanwhile, the power consumption is reduced. The specific scene is set, and other scenes adopt default display card types according to the minimum modification principle, so that the experience of the specific scene can be optimized, meanwhile, the design is simplified, the design difficulty is reduced, the labor cost of the electronic equipment in the research and development process is also reduced, and the research and development period of the electronic equipment is shortened.
In the embodiment shown in fig. 10, since the APP in the white list corresponds to the types of graphics cards called in different power supply modes, the electronic device may determine which graphics card the APP calls in the subsequent operation by combining with the current power supply mode during starting the APP in the white list, so as to balance the display performance and the endurance time according to the power supply mode. For example, for APP with higher graphics processing requirement, IGPU cannot normally run, so DGPU is directly called to ensure performance preferentially; aiming at the APP with lower graphic processing requirements, the IGPU can be called to meet the graphic processing requirements in a battery-powered mode, meanwhile, the power consumption is reduced, and in a power supply mode, the requirement of cruising can be ignored, and the DGPU is called. The method improves the rationality of display card scheduling and improves the user experience.
In some embodiments, the above power supply manner may also be described as a power supply scenario, for example, a power supply scenario may be referred to as a performance scenario, and a battery power supply scenario may be referred to as a cruising scenario, which is not limited in this application. Alternatively, the setting may be performed manually in addition to the result of the probe detection with respect to the power supply scenario. For example, the user may switch the power scenario by clicking a "performance scenario/endurance scenario" button on the PC manager interface. For example, in a performance scenario (i.e. a power supply scenario), where the APP currently running on the electronic device is the invoked IGPU, the user may switch from the scenario of invoking IGPU to the state of invoking DGPU to perform graphics processing by clicking a button of "performance scenario/endurance scenario" on the PC manager interface, so that the image processing capability is improved, and power consumption does not need to be paid attention.
After the scheduling engine decides the target graphics cards to be scheduled for starting the APP, configuration files of the graphics cards in the kernel and the driving layer can be modified through the execution body. And then, the display card driver reads the modified configuration file, and starts the target display card to execute the starting flow of the APP to be started according to the display card type indicated in the modified configuration file of the display card, so that the APP to be started runs on the decided target display card. If the scheduling engine decides the type of the display card required to be scheduled by the APP to be started, and then the execution body modifies the configuration file of the display card drive, the obtained new display card type is found to be the same as the display card type in the original configuration file, so that the configuration file of the display card drive can be kept unmodified, the modification operation can be reduced while the reasonable calling of the display card is ensured, and the resource is saved. For example, if the scheduling engine decides that the DGPU to be scheduled for starting the APP is needed, the configuration file of the graphics card may be modified by the executable. If the display card type of the APP configuration to be started is IGPU in the original configuration file of the display card, the display card type needs to be modified into DGPU at the moment. If the display card type of the APP configuration to be started is DGPU in the original configuration file of the display card, the display card type can be not modified at this time.
In some embodiments, a schematic diagram of the hardware layer may also be shown with reference to fig. 11. Usually, a special Memory (Video Memory) is separately set for the DGPU, and when the DGPU is called to perform operation, the DGPU can send the operation result to the CPU through a high-speed serial computer expansion bus standard channel (PCIE, peripheral component interconnect express) bus, and the operation result is transferred to the IGPU by the CPU and finally transferred to a Display screen (Display) by the IGPU to be displayed. If the IGPU is called to operate, the IGPU can directly send the operation result to be displayed. In some embodiments, the DGPU may also be sent directly through the channel between the DGPU and the display screen instead of through the IGPU.
For a clearer description of the technical solution of the present application, the technical solution of the embodiment of the present application is described herein with a specific flow shown in fig. 12, which includes:
s1201, a registration application (e.g. PC manager) starts listening.
S1202, starting a graphics class APP (APP to be started).
S1203 receives a start notification of the graphics class APP (i.e. listens to the new process).
S1204, judging whether the graph APP is the APP in the white list. If yes, executing S1205; if not, execution proceeds to S1208.
S1205, inquiring whether the current scene is a cruising scene or a performance scene.
S1206, IGPU or DGPU is used according to the current scene decision.
S1207, modifying the configuration file according to the decision result.
S1208, reading the configuration file.
S1209, the IGPU or DGPU is scheduled according to the configuration file.
The implementation principle and the beneficial effects of each step in the embodiment of fig. 12 can be referred to the description in the foregoing embodiment, and are not repeated here.
Examples of the graphics card scheduling method provided by the application are described above in detail. It is to be understood that the corresponding means, in order to carry out the functions described above, comprise corresponding hardware structures and/or software modules for carrying out the respective functions. Those of skill in the art will readily appreciate that the elements and algorithm steps of the examples described in connection with the embodiments disclosed herein may be implemented as hardware or combinations of hardware and computer software. Whether a function is implemented as hardware or computer software driven hardware depends upon the particular application and design constraints imposed on the solution. Skilled artisans may implement the described functionality in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the present application.
The present application may divide the function modules of the graphics card scheduling device according to the above method example, for example, each function may be divided into each function module, or two or more functions may be integrated into one module. The integrated modules may be implemented in hardware or in software functional modules. It should be noted that the division of the modules in this application is illustrative, and is merely a logic function division, and other division manners may be implemented in practice.
Fig. 13 is a schematic structural diagram of an exemplary graphics card dispatching apparatus 1300 according to an embodiment of the present disclosure. The device comprises:
a first obtaining module 1301 is configured to obtain an identifier of the application program APP to be started.
The second obtaining module 1302 is configured to obtain a current power supply mode of the electronic device.
The determining module 1303 is configured to determine, based on a preset mapping relationship, an identifier of an APP to be started and a target graphics card type corresponding to a current power supply mode, where the target graphics card type is a graphics card type called by the APP to be started in an operation process, the mapping relationship includes multiple power supply modes, identifiers of multiple APPs and corresponding relationships of multiple graphics card types, the multiple power supply modes include the current power supply mode, the identifiers of the multiple APPs include the identifier of the APP to be started, and the multiple graphics card types include the target graphics card type.
In some embodiments, the multiple power supply modes include battery power supply and power supply, the multiple graphics card types include integrated graphics cards and independent graphics cards, the identifiers of the multiple APP's include identifiers of APP's of high performance class and identifiers of APP's of low performance class, and the mapping relation includes: the identification of the APP of the low performance class, the battery power supply and the integrated display card correspond; the identification of the APP with low performance class, the power supply and the independent display card correspond; the identification of the APP of the high performance class, the battery power supply and the independent display card correspond; the identification of the APP of the high performance class, the power supply and the independent display card correspond.
In some embodiments, the second obtaining module 1302 is further configured to determine, before obtaining the current power supply mode of the electronic device, whether the APP to be started is an APP in a preset list according to the identifier of the APP to be started, where the APP in the preset list is an APP carrying a high performance class identifier or an APP carrying a low performance class identifier; if yes, executing the step of acquiring the current power supply mode of the electronic equipment.
In some embodiments, the determining module 1303 is further configured to obtain the target graphics card type from the preset configuration file when the APP to be started is not the APP in the preset list.
In some embodiments, the second obtaining module 1302 is further configured to determine, according to the identification of the APP to be started, whether the APP to be started is a graphics class APP; if yes, executing the step of determining whether the APP to be started is the APP in the preset list according to the identification of the APP to be started.
In some embodiments, when the current power supply mode is to supply power to the power supply and the target graphics card type is an integrated graphics card, the determining module 1303 is further configured to receive a switching operation input by a user, and switch the target graphics card type from the integrated graphics card to an independent graphics card in response to the switching operation.
In some embodiments, the first obtaining module 1301 is specifically configured to monitor, through a process probe, a new process; and acquiring the identification of the APP to be started, which is used for starting, of the new process according to the new process.
In some embodiments, the second obtaining module 1302 is specifically configured to obtain, by using the scene recognition engine, a current power supply mode.
In some embodiments, the determining module 1303 is specifically configured to determine, by using the scheduling engine, based on the mapping relationship, an identifier of the APP to be started and a target graphics card type corresponding to the current power supply mode.
In some embodiments, the determining module 1303 is further configured to update a preset configuration file according to the target graphics card type, where the preset configuration file is used for the executor to start the APP to be started according to the target graphics card type in the preset configuration file.
The specific manner in which the graphics card scheduling device executes the graphics card scheduling method and the resulting beneficial effects can be referred to the relevant description in the method embodiment, and will not be described in detail herein.
The embodiment of the application also provides electronic equipment, which comprises the processor. The electronic device provided in this embodiment may be, as shown in fig. 1, a terminal device, for example, a notebook computer, configured to execute the graphics card scheduling method described above. In case of an integrated unit, the terminal device may comprise a processing module, a storage module and a communication module. The processing module may be configured to control and manage actions of the terminal device, for example, may be configured to support the terminal device to execute steps executed by the display unit, the detection unit, and the processing unit. The memory module may be used to support the terminal device to execute stored program codes, data, etc. And the communication module can be used for supporting the communication between the terminal equipment and other equipment.
Wherein the processing module may be a processor or a controller. Which may implement or perform the various exemplary logic blocks, modules, and circuits described in connection with this disclosure. A processor may also be a combination that performs computing functions, e.g., including one or more microprocessors, digital signal processing (digital signal processing, DSP) and microprocessor combinations, and the like. The memory module may be a memory. The communication module can be a radio frequency circuit, a Bluetooth chip, a Wi-Fi chip and other equipment which interact with other terminal equipment.
In an embodiment, when the processing module is a processor and the storage module is a memory, the terminal device according to this embodiment may be a device having the structure shown in fig. 1.
The embodiment of the application also provides a computer readable storage medium, in which a computer program is stored, which when executed by a processor, causes the processor to execute the graphics card scheduling method described in any one of the embodiments.
The embodiment of the application also provides a computer program product, which when running on a computer, causes the computer to execute the related steps so as to realize the graphics card scheduling method in the embodiment.
The electronic device, the computer readable storage medium, the computer program product or the chip provided in this embodiment are used to execute the corresponding method provided above, so that the beneficial effects thereof can be referred to the beneficial effects in the corresponding method provided above, and will not be described herein.
In the several embodiments provided in this application, it should be understood that the disclosed apparatus and method may be implemented in other ways. For example, the apparatus embodiments described above are merely illustrative, e.g., the division of modules or units is merely a logical function division, and there may be additional divisions when actually implemented, e.g., multiple units or components may be combined or integrated into another apparatus, or some features may be omitted or not performed. In addition, the coupling or direct coupling or communication connection shown or discussed with respect to each other may be an indirect coupling or communication connection via interfaces, devices, or units, and the replacement units may or may not be physically separate, and the components shown as units may be one physical unit or multiple physical units, that is, may be located in one place, or may be distributed in multiple different places. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of this embodiment.
In addition, each functional unit in each embodiment of the present application may be integrated in one processing unit, or each unit may exist alone physically, or two or more units may be integrated in one unit. The integrated units may be implemented in hardware or in software functional units.
The integrated units, if implemented in the form of software functional units and sold or used as stand-alone products, may be stored in a readable storage medium. Based on such understanding, the technical solution of the embodiments of the present application may be essentially or a part contributing to the prior art or all or part of the technical solution may be embodied in the form of a software product stored in a storage medium, including several instructions to cause a device (may be a single-chip microcomputer, a chip or the like) or a processor (processor) to perform all or part of the steps of the methods of the embodiments of the present application. And the aforementioned storage medium includes: a U-disk, a removable hard disk, a Read Only Memory (ROM), a random access memory (random access memory, RAM), a magnetic disk, or an optical disk, or other various media capable of storing program codes.
The foregoing is merely specific embodiments of the present application, but the scope of the present application is not limited thereto, and any person skilled in the art can easily think about changes or substitutions within the technical scope of the present application, and the changes and substitutions are intended to be covered by the scope of the present application. Therefore, the protection scope of the present application shall be subject to the protection scope of the claims.

Claims (12)

1. The display card scheduling method is applied to the electronic equipment and is characterized by comprising the following steps of:
acquiring an identification of an application program APP to be started;
acquiring a current power supply mode of the electronic equipment;
determining the identification of the APP to be started and the type of the target display card corresponding to the current power supply mode based on a preset mapping relation, wherein the type of the target display card is the type of the display card called by the APP to be started in the operation process, the mapping relation comprises a plurality of power supply modes, the identifications of the APP and the corresponding relation of the type of the display card, the plurality of power supply modes comprise the current power supply mode, the identifications of the APP to be started comprise the identification of the APP to be started, and the type of the target display card comprises the type of the target display card.
2. The method of claim 1, wherein the plurality of power supply modes include battery power supply and power supply, the plurality of graphics card types include integrated graphics cards and independent graphics cards, the plurality of APP identifications include a high performance class APP identification and a low performance class APP identification, and the mapping relationship includes:
The identification of the APP of the low performance class, the battery power supply and the integrated display card correspond;
the identification of the APP with low performance class, the power supply and the independent display card correspond;
the identification of the APP of the high performance class, the battery power supply and the independent display card correspond;
the identification of the APP of the high performance class, the power supply and the independent display card correspond.
3. The method of claim 1, wherein prior to the obtaining the current power mode of the electronic device, the method further comprises:
determining whether the APP to be started is an APP in a preset list according to the identification of the APP to be started, wherein the APP in the preset list is the APP carrying the high-performance type identification or the APP carrying the low-performance type identification;
if yes, executing the step of acquiring the current power supply mode of the electronic equipment.
4. A method according to claim 3, characterized in that the method further comprises:
and if the APP to be started is not the APP in the preset list, acquiring the target graphics card type from a preset configuration file.
5. The method of claim 3, wherein before determining whether the APP to be started is an APP in a preset list according to the identification of the APP to be started, further comprises:
Determining whether the APP to be started is a graph type APP or not according to the identification of the APP to be started;
if yes, executing the step of determining whether the APP to be started is the APP in the preset list according to the identification of the APP to be started.
6. The method of any one of claims 2 to 5, wherein when the current power mode is power supplied by a power source and the target graphics card type is an integrated graphics card, the method further comprises:
receiving switching operation input by a user;
and responding to the switching operation, and switching the type of the target display card from an integrated display card to an independent display card.
7. The method of claim 1, wherein the obtaining the identity of the APP to be started comprises:
monitoring a new process through a process probe;
and acquiring the identification of the APP to be started, which is used for starting the new process, according to the new process.
8. The method according to claim 1, wherein the method further comprises:
and updating a preset configuration file according to the target display card type, wherein the preset configuration file is used for an executive body to start the APP to be started according to the target display card type in the preset configuration file.
9. The method of claim 1, wherein the obtaining the current power supply mode of the electronic device comprises:
and acquiring the current power supply mode through a scene recognition engine.
10. The method of claim 9, wherein the determining, based on the preset mapping relationship, the identification of the APP to be started and the target graphics card type corresponding to the current power supply mode includes:
and determining the identification of the APP to be started and the type of the target display card corresponding to the current power supply mode based on the mapping relation through a scheduling engine.
11. An electronic device, comprising: a processor, a memory, and an interface;
the processor, the memory and the interface cooperate to cause the electronic device to perform the method of any of claims 1 to 10.
12. A computer readable storage medium, characterized in that the computer readable storage medium has stored therein a computer program which, when executed by a processor, causes the processor to perform the method of any of claims 1 to 10.
CN202210776076.8A 2022-05-16 2022-06-29 Display card scheduling method, electronic equipment and computer readable storage medium Pending CN116028211A (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202210529195 2022-05-16
CN2022105291953 2022-05-16

Publications (1)

Publication Number Publication Date
CN116028211A true CN116028211A (en) 2023-04-28

Family

ID=86071044

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210776076.8A Pending CN116028211A (en) 2022-05-16 2022-06-29 Display card scheduling method, electronic equipment and computer readable storage medium

Country Status (1)

Country Link
CN (1) CN116028211A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116521112A (en) * 2023-05-15 2023-08-01 摩尔线程智能科技(北京)有限责任公司 Parameter adjusting method, display card, electronic equipment and storage medium

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN2763895Y (en) * 2005-02-23 2006-03-08 惠州市Tcl电脑科技有限责任公司 Notebook computer with double display card
CN102759983A (en) * 2011-05-10 2012-10-31 任少华 Computer provided with multiple work modes and operating system thereof
CN103092304A (en) * 2011-10-31 2013-05-08 宏碁股份有限公司 Power supply control method of dual-graphics-card module and computer device utilizing power supply control method
WO2014051622A1 (en) * 2012-09-28 2014-04-03 Hewlett-Packard Development Company, L.P. Selectable graphics controllers to display output
CN112433768A (en) * 2020-11-05 2021-03-02 联宝(合肥)电子科技有限公司 Display card control method, equipment and computer storage medium
CN112612432A (en) * 2020-12-01 2021-04-06 合肥联宝信息技术有限公司 Method and device for switching computer modes and readable storage medium
CN114443256A (en) * 2022-04-07 2022-05-06 荣耀终端有限公司 Resource scheduling method and electronic equipment

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN2763895Y (en) * 2005-02-23 2006-03-08 惠州市Tcl电脑科技有限责任公司 Notebook computer with double display card
CN102759983A (en) * 2011-05-10 2012-10-31 任少华 Computer provided with multiple work modes and operating system thereof
CN103092304A (en) * 2011-10-31 2013-05-08 宏碁股份有限公司 Power supply control method of dual-graphics-card module and computer device utilizing power supply control method
WO2014051622A1 (en) * 2012-09-28 2014-04-03 Hewlett-Packard Development Company, L.P. Selectable graphics controllers to display output
CN112433768A (en) * 2020-11-05 2021-03-02 联宝(合肥)电子科技有限公司 Display card control method, equipment and computer storage medium
CN112612432A (en) * 2020-12-01 2021-04-06 合肥联宝信息技术有限公司 Method and device for switching computer modes and readable storage medium
CN114443256A (en) * 2022-04-07 2022-05-06 荣耀终端有限公司 Resource scheduling method and electronic equipment

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
AIR FORCE;: "智能显卡切换 让台式机也节能减排", 电脑爱好者, no. 09 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116521112A (en) * 2023-05-15 2023-08-01 摩尔线程智能科技(北京)有限责任公司 Parameter adjusting method, display card, electronic equipment and storage medium

Similar Documents

Publication Publication Date Title
CN115599513B (en) Resource scheduling method and electronic equipment
CN116564304A (en) Voice interaction method and device
CN116028205B (en) Resource scheduling method and electronic equipment
CN116028211A (en) Display card scheduling method, electronic equipment and computer readable storage medium
CN116028210B (en) Resource scheduling method, electronic equipment and storage medium
CN116027879B (en) Method for determining parameters, electronic device and computer readable storage medium
CN116025580B (en) Method for adjusting rotation speed of fan and electronic equipment
WO2023221752A1 (en) Information processing method and electronic device
CN117130454A (en) Power consumption adjustment method and electronic equipment
CN116028209B (en) Resource scheduling method, electronic equipment and storage medium
CN116027880B (en) Resource scheduling method and electronic equipment
US20190050957A1 (en) Memory allocation type for media buffer
CN116028005B (en) Audio session acquisition method, device, equipment and storage medium
CN116055443B (en) Method for identifying social scene, electronic equipment and computer readable storage medium
CN116027878B (en) Power consumption adjustment method and electronic equipment
CN116028314B (en) Temperature parameter reading method, electronic device, and computer-readable storage medium
CN116089055B (en) Resource scheduling method and device
CN116028208B (en) System load determining method, device, equipment and storage medium
CN116028207B (en) Scheduling policy determination method, device, equipment and storage medium
CN116028206A (en) Resource scheduling method, electronic equipment and storage medium
CN116028204B (en) Process management and control method and electronic equipment
CN117130772A (en) Resource scheduling method, electronic equipment and storage medium
WO2023202406A1 (en) Display method and electronic device
WO2023174200A1 (en) Interface display method and related device
WO2024078412A1 (en) Cross-screen sharing method, graphical interface, and related apparatus

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination