WO2022156612A1 - 基于终端设备的调度方法、装置、存储介质及终端设备 - Google Patents

基于终端设备的调度方法、装置、存储介质及终端设备 Download PDF

Info

Publication number
WO2022156612A1
WO2022156612A1 PCT/CN2022/072220 CN2022072220W WO2022156612A1 WO 2022156612 A1 WO2022156612 A1 WO 2022156612A1 CN 2022072220 W CN2022072220 W CN 2022072220W WO 2022156612 A1 WO2022156612 A1 WO 2022156612A1
Authority
WO
WIPO (PCT)
Prior art keywords
task
drawing task
scheduling
terminal device
memory
Prior art date
Application number
PCT/CN2022/072220
Other languages
English (en)
French (fr)
Inventor
丁唐
Original Assignee
惠州Tcl移动通信有限公司
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 惠州Tcl移动通信有限公司 filed Critical 惠州Tcl移动通信有限公司
Publication of WO2022156612A1 publication Critical patent/WO2022156612A1/zh

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues

Definitions

  • the present application relates to the technical field of terminal equipment, and in particular, to a terminal equipment-based scheduling method, apparatus, storage medium, and terminal equipment.
  • the technical problem to be solved by the present application is to provide a terminal device-based scheduling method, device, storage medium and terminal device in view of the deficiencies of the prior art.
  • a terminal device-based scheduling method the method includes:
  • the acquired drawing task is configured as the highest priority, and each scheduling task is scheduled according to the priority corresponding to each scheduling task.
  • the drawing task includes a drawing task process and a task process that communicates with the drawing task process.
  • the configuring the acquired drawing task as the highest priority specifically includes:
  • the acquired drawing tasks are stored in a pre-configured drawing task queue, wherein the drawing task queue is configured with the highest priority, and the drawing task queue is configured with an absolutely fair scheduling algorithm.
  • the respective drawing tasks in the drawing task queue have the same priority.
  • the terminal device-based scheduling method wherein the terminal device is preset with a drawing task memory; the acquired drawing task is configured as the highest priority, and each scheduling task is scheduled according to the priority corresponding to each scheduling task After the task, the method further includes:
  • the drawing task memory is allocated to the drawing task.
  • allocating the drawing task memory to the drawing task specifically includes:
  • the drawing task is transferred to the head of the waiting queue, and the drawing task memory is preferentially allocated to the drawing task when the kernel of the terminal device wakes up.
  • the terminal device-based scheduling method wherein the terminal device is preconfigured with several dedicated IO delivery channels, and each dedicated IO delivery channel in the several dedicated IO delivery channels is used to deliver drawing tasks IO request.
  • a second aspect of an embodiment of the present application provides a scheduling apparatus, where the scheduling apparatus includes:
  • the acquired drawing task is configured as the highest priority, and each scheduling task is scheduled according to the priority corresponding to each scheduling task.
  • a third aspect of the embodiments of the present application provides a computer-readable storage medium, where the computer-readable storage medium stores one or more programs, and the one or more programs can be executed by one or more processors to Steps in the terminal device-based scheduling method described above are implemented.
  • a fourth aspect of the embodiments of the present application provides a terminal device, which includes: a processor, a memory, and a communication bus; the memory stores a computer-readable program executable by the processor;
  • the communication bus implements connection communication between the processor and the memory
  • the present application provides a terminal device-based scheduling method, device, storage medium and terminal device, the method includes acquiring a drawing task in a scheduling task; configuring the acquired drawing task as the highest priority Each scheduling task is scheduled according to its corresponding priority.
  • the terminal device can schedule the drawing task preferentially to ensure the execution time of the drawing task, which can avoid the scheduling delay of the drawing task caused by too many scheduling tasks in the background of the terminal device. This further leads to the problem that the display of the terminal device is stuck, thereby improving the user experience.
  • FIG. 1 is a flowchart of a terminal device-based scheduling method provided by the present application.
  • FIG. 2 is a schematic structural diagram of a scheduling device provided by the present application.
  • FIG. 3 is a schematic structural diagram of a terminal device provided by the present application.
  • the present application provides a terminal device-based scheduling method, device, storage medium and terminal device.
  • the present application will be further described below with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain the present application, but not to limit the present application.
  • the terminal devices described in the embodiments of the present application include, but are not limited to, other portable devices such as mobile phones with touch-sensitive surfaces (eg, touch display screens and/or touch pads), laptop computers, or tablet computers. equipment. It should also be understood that, in some embodiments, the device is not a portable communication device, but a desktop computer with a touch-sensitive surface (eg, a touch display and/or a touchpad).
  • other portable devices such as mobile phones with touch-sensitive surfaces (eg, touch display screens and/or touch pads), laptop computers, or tablet computers. equipment.
  • the device is not a portable communication device, but a desktop computer with a touch-sensitive surface (eg, a touch display and/or a touchpad).
  • End devices that includes a display and a touch-sensitive surface is described.
  • the terminal device may also include one or more other physical user interface devices such as a physical keyboard, mouse and/or joystick.
  • End devices support various applications such as one or more of the following: drawing applications, presentation applications, word processing applications, video conferencing applications, disc burning applications, spreadsheet applications, gaming applications, telephony apps, video conferencing apps, email messaging apps, instant messaging apps, workout support apps, photo management apps, data camera apps, digital video camera apps, web browsing apps, digital music player apps and/or digital video playback applications, etc.
  • Various applications that may be executed on the terminal device may use at least one common physical user interface device, such as a touch sensitive surface.
  • the first or more functions of the touch-sensitive surface and the corresponding information displayed on the terminal may be adjusted and/or changed between applications and/or within respective applications.
  • the common physical framework of the terminal eg, touch-sensitive surface
  • the drawing tasks in the scheduling tasks are obtained; the obtained drawing tasks are configured as the highest priority, and the scheduling tasks are scheduled according to their respective priorities.
  • the terminal device can schedule the drawing task preferentially to ensure the execution time of the drawing task, which can avoid the scheduling delay of the drawing task caused by too many scheduling tasks in the background of the terminal device. This further leads to the problem that the display of the terminal device is stuck, thereby improving the user experience.
  • This embodiment provides a scheduling method based on terminal equipment, as shown in FIG. 1 , the method includes:
  • the drawing task is a task process related to the drawing content, and an interface is presented by executing the drawing task, wherein the drawing task may include a drawing task process and a task process communicating with the drawing task process.
  • the drawing task may be a task thread generated by the terminal device for responding to a user's perception operation, for example, a task thread for drawing an image on an interface, and the like.
  • the terminal equipment is configured with a display interface, for example, electronic equipment such as smart phones, tablet computers, and desktop computers.
  • the scheduled task is a task process in the background, and the generation time of each task process in the background may be the same or different.
  • all the task processes in the background in the terminal device are scheduled tasks, and the generation time of some task processes among all the task processes in the background is the same, and the generation times of some task processes are different.
  • the generation time of each task process in all the task processes in the background may be different from each other, or may be all the same.
  • the drawing task may carry a drawing identifier, and when acquiring the drawing task in the scheduling task, it may be detected whether each scheduling task carries the drawing identifier to obtain the drawing task in the scheduling task, wherein the drawing identifier Can be marked at the android framework layer.
  • the marking process may specifically be: at the android framework layer, discriminating the drawing process used to perform the user-perceived operation, and marking the identified drawing process so that the drawing process carries the drawing logo, wherein the drawing process marked with the drawing logo is marked.
  • the drawing process is a drawing task.
  • the marked drawing process can be maintained in the task_struct of the kernel so as to quickly determine the drawing task in the scheduling task.
  • the drawing task since the drawing task may communicate with other threads during the execution process, the drawing task is implemented through other processes in cooperation with the drawing thread. Therefore, after maintaining the marked drawing tasks in the task_struct of the kernel, it is also possible to monitor in real time whether each drawing task in the task_struct performs cross-process communication; when the drawing task performs cross-process communication, the drawing identifier of the drawing task is passed to The opposite process, and maintain the opposite process in the task_struct, and mark the opposite process as a drawing task (that is, mark the opposite process so that the opposite process carries the drawing ID), so that the service process that communicates with the drawing process is also used as a drawing task, which can improve the The user perceives the response speed of the operation, thereby reducing the user-perceived delay and freeze.
  • the priority is used to reflect the priority scheduling degree of the scheduling task.
  • scheduling task A and scheduling task B the priority of scheduling task A is higher than the priority of scheduling task B, then scheduling task A is scheduled before scheduling task B.
  • the drawing task is configured with the highest priority, so that the drawing task will be scheduled first, so as to avoid the delay of the drawing task caused by the time consumed by other task scheduling, and thus avoid the display interface card that becomes the display interface card through the drawing task. ton's question.
  • the acquired drawing tasks may be several drawing tasks, and each drawing task in the several drawing tasks has the same priority and is configured as the highest priority.
  • the priorities of drawing task A, the priority of drawing task B, and the priority of drawing task C are the same, and all have the highest priority.
  • configuring the acquired drawing task as the highest priority specifically includes:
  • the drawing task queue is pre-established for storing drawing tasks; in other words, only drawing tasks are stored in the drawing task queue, each drawing task is stored in the drawing task queue, and the drawing tasks in the drawing task queue are stored in the drawing task queue.
  • Each task is a drawing task.
  • the drawing task queue is configured with the highest priority, and each drawing task stored in the drawing task queue is configured with the highest priority, so that each drawing task can be configured with the highest priority, and each drawing task can be configured with the highest priority.
  • the respective priorities are the same.
  • the kernel will schedule tasks in the background as normal. In other words, drawing tasks will be scheduled before non-drawing tasks, so that the terminal device can execute the drawing task first, thereby improving the response time of the drawing task, thereby improving the response time of user-perceived operations and reducing the lag and delay experienced by the user. .
  • the drawing task queue is configured with an absolutely fair scheduling algorithm, so as to schedule the drawing tasks in the drawing task queue through the absolutely fair scheduling algorithm. It can be understood that when the kernel schedules the drawing tasks in the drawing task team, the absolutely fair scheduling algorithm is used to select the drawing tasks from the drawing task queue, so as to realize the scheduling of multiple drawing tasks. In this way, by using the absolutely fair scheduling algorithm to prioritize the selection of drawing tasks from the drawing task queue, the number of simultaneously active foreground drawing tasks can be relatively fixed, thereby reducing the scheduling time of drawing tasks corresponding to user-perceived operations, thereby reducing user-perceived operations. Delay.
  • the terminal device will determine the scheduling order of drawing task a, drawing task b and drawing task c based on the absolutely fair scheduling algorithm, and schedule them according to the scheduling order.
  • the drawing task a, the drawing task b, and the drawing task c are scheduled, and after the drawing task a, the drawing task b, and the drawing task c are scheduled, the non-drawing tasks in all the scheduled tasks are scheduled.
  • memory space may be reserved for the drawing task in advance, and when the drawing task needs to schedule memory, the reserved memory space may be directly allocated to the drawing task.
  • the terminal device can preset the drawing task memory, and the drawing task memory is used for allocating the drawing task.
  • the method further includes:
  • the drawing task memory is allocated to the drawing task.
  • the kernel of the terminal device runs the drawing task, it will detect in real time whether the drawing task applies for memory.
  • the free memory in the drawing task memory is directly allocated to the drawing task, so that the kernel is allocating the drawing task to the drawing task.
  • the memory path query process can be skipped to avoid the time spent querying the memory path, thereby improving the memory allocation speed required by the drawing task, further reducing the delay of user-perceived operations and improving user experience.
  • the drawing task memory may be configured with a drawing task identifier, and when the kernel needs to configure memory for a drawing task, the drawing task memory marked with the drawing task identifier is called, so that the kernel can quickly determine the drawing task memory, improve the memory allocation speed of drawing tasks.
  • allocating the drawing task memory to the drawing task specifically includes:
  • the drawing task is transferred to the head of the waiting queue, and the drawing task memory is preferentially allocated to the drawing task when the kernel of the terminal device wakes up;
  • the drawing task memory is allocated to the drawing task.
  • the lock waiting state means that the kernel of the terminal device waits for a lock, and when the kernel waits for a lock, the kernel of the terminal device does not perform memory allocation.
  • each task process that needs to apply for memory needs to queue up to wait for the kernel to wake up (ie, unlock the waiting state).
  • the kernel will allocate memory to each task process in sequence according to the queuing order.
  • the drawing task will be delivered to the head of the waiting queue, so that when the lock waiting state wakes up, the drawing task memory is preferentially allocated to all Describe the drawing task, reduce the waiting time of the drawing task, so as to ensure the memory allocation speed of the drawing task.
  • the android virtual machine ART when the kernel waits for a lock, the android virtual machine ART can notify the kernel (mutex/rwsem/futex) interface and pass it to the kernel lock holder to add the drawing task.
  • the kernel lock At the head of the waiting queue, when the kernel lock wakes up, the drawing task with the drawing thread ID in the waiting queue will wake up first, so that the drawing task can be guaranteed to obtain resources first.
  • the terminal device is preconfigured with several dedicated IO delivery channels, and each dedicated IO delivery channel in the several dedicated IO delivery channels is used to deliver the IO of the drawing task ask. It can be understood that the terminal device is pre-configured with several dedicated IO delivery channels dedicated to drawing tasks, and each dedicated IO delivery channel is only used for IO delivery of drawing tasks, which can avoid the IO delivery of drawing tasks due to IO delivery. The channel queue is full and blocked.
  • the terminal device includes IO delivery channel 1, IO delivery channel 2, IO delivery channel 3, and IO delivery channel 4, and IO delivery channel 1 is used as the dedicated IO delivery channel corresponding to the drawing task.
  • a drawing flag can be configured for the IO request corresponding to the drawing task, so that the IO request corresponding to the drawing task carries the drawing flag, so that the IO request corresponding to the drawing task can be quickly determined, and the IO can be issued through several dedicated IO issuing channels. request, which can improve the response speed of drawing tasks.
  • the number of tasks in the request queue corresponding to each dedicated IO delivery channel can be detected, so as to select the dedicated IO server with the smallest number of tasks. Send channel to send drawing tasks.
  • the target delivery channel can deliver IO requests for drawing tasks through the target delivery channel.
  • the IO request of the drawing task can also be inserted into the request queue corresponding to the other IO delivery channel. front to improve the response speed of the IO request of the drawing task.
  • the terminal device includes IO delivery channel 1, IO delivery channel 2, IO delivery channel 3 and IO delivery channel 4.
  • the IO delivery channel 1 is used as the dedicated IO delivery channel corresponding to the drawing task, and the IO delivery channel is used for IO delivery.
  • the request queue a corresponding to channel 1 includes 2 IO requests
  • the request queue b corresponding to IO delivery channel 2 includes 1 IO request
  • the request queue c corresponding to IO delivery channel 3 includes 4 IO requests
  • the IO delivery channel 4 The corresponding request queue c includes 4 IO requests, then the IO request of the drawing task can be added to the request queue b corresponding to the IO delivery channel 2, so that the IO request of the drawing task can be delivered through the IO delivery channel 2.
  • the request queue b corresponding to IO delivery channel 2 includes 3 IO requests, and the number of IO requests included in other request queues remains unchanged. Then, the IO requests of drawing tasks can be delivered through the dedicated IO delivery channel, or Insert the IO request of the drawing task into the queue head of a target request queue in request queue b, request queue c, or request queue d, so as to deliver the IO request of the drawing task through the IO delivery channel corresponding to the target request queue.
  • this embodiment tests the scheduling method based on terminal equipment provided in this embodiment, and specific test items and test results are shown in Table 1.
  • the system can achieve a drawing frame rate of 60fps when the average drawing time of each frame of the terminal device is less than 16.6ms, and the use will be relatively smooth. , the system drawing of the terminal device exceeds 16.6ms, and it is already in the low frame rate mode of 30fps. After the terminal device applies the terminal device-based scheduling method provided in this embodiment, the system drawing frame rate reaches 60 fps, and the average frame drawing time is shortened by 20%.
  • this embodiment provides a scheduling method based on a terminal device.
  • the method includes acquiring a drawing task in the scheduling task; configuring the acquired drawing task as the highest priority, and assigning the corresponding scheduling task according to each scheduling task.
  • the terminal device can schedule the drawing task preferentially to ensure the execution time of the drawing task, which can avoid the scheduling delay of the drawing task caused by too many scheduling tasks in the background of the terminal device. This further leads to the problem that the display of the terminal device is stuck, thereby improving the user experience.
  • this embodiment provides a scheduling apparatus.
  • the scheduling apparatus includes:
  • an obtaining module 100 configured to obtain a drawing task in the scheduling task
  • the scheduling module 200 is configured to configure the acquired drawing task as the highest priority, and schedule each scheduling task according to the priority corresponding to each scheduling task.
  • the drawing task includes a drawing task process and a task process in communication with the drawing task process.
  • the scheduling module is specifically configured to:
  • the acquired drawing tasks are stored in a pre-configured drawing task queue, wherein the drawing task queue is configured with the highest priority, and the drawing task queue is configured with an absolutely fair scheduling algorithm.
  • the respective drawing tasks in the drawing task queue have the same priority.
  • the terminal device is preset with a drawing task memory; the scheduling apparatus further includes an allocation module, and the allocation module is configured to allocate the drawing task memory to the drawing task memory when it is detected that the drawing task applies for memory. Describe the drawing task.
  • the allocation module is specifically used for:
  • the drawing task When it is detected that the drawing task applies for memory, it is detected whether the kernel of the terminal device is in the kernel lock state; if it is detected that the kernel of the terminal device is in the kernel lock state, the drawing task is transferred to the head of the waiting queue, and the kernel of the terminal device is in the kernel lock state.
  • the drawing task memory When waking up, the drawing task memory is preferentially allocated to the drawing task.
  • the terminal device is preconfigured with several dedicated IO delivery channels, and each dedicated IO delivery channel in the several dedicated IO delivery channels is used to deliver an IO request of a drawing task.
  • this embodiment provides a computer-readable storage medium, where the computer-readable storage medium stores one or more programs, and the one or more programs can be stored by one or more
  • the processor executes to implement the steps in the terminal device-based scheduling method described in the foregoing embodiments.
  • the present application also provides a terminal equipment, as shown in FIG. 3 , which includes at least one processor (processor) 20; display screen 21; and memory (memory) 22, which may also include Communication interface (Communications Interface) 23 and bus 24.
  • the processor 20 , the display screen 21 , the memory 22 and the communication interface 23 can communicate with each other through the bus 24 .
  • the display screen 21 is set to display a user guide interface preset in the initial setting mode.
  • the communication interface 23 can transmit information.
  • the processor 20 may invoke logic instructions in the memory 22 to perform the methods in the above-described embodiments.
  • logic instructions in the memory 22 can be implemented in the form of software functional units and can be stored in a computer-readable storage medium when sold or used as an independent product.
  • the memory 22 may be configured to store software programs and computer-executable programs, such as program instructions or modules corresponding to the methods in the embodiments of the present disclosure.
  • the processor 20 executes functional applications and data processing by running the software programs, instructions or modules stored in the memory 22, ie, implements the methods in the above embodiments.
  • the memory 22 may include a storage program area and a storage data area, wherein the storage program area may store an operating system, an application program required for at least one function; the storage data area may store data created according to the use of the terminal device, and the like. Additionally, memory 22 may include high-speed random access memory, and may also include non-volatile memory. For example, U disk, mobile hard disk, read-only memory (Read-Only Memory, ROM), random access memory (Random Access Memory, RAM), magnetic disk or optical disk and other media that can store program codes, or temporary state storage medium.
  • U disk U disk, mobile hard disk, read-only memory (Read-Only Memory, ROM), random access memory (Random Access Memory, RAM), magnetic disk or optical disk and other media that can store program codes, or temporary state storage medium.

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

本申请公开一种基于终端设备的调度方法、装置、存储介质及终端设备,该方法包括获取调度任务中的绘制任务;将获取到的绘制任务配置为最高优先级,并按照各调度任务各自对应的优先级调度各调度任务。本申请中终端设备可以优先调度绘制任务以保证绘制任务的执行时间,避免因绘制任务调度延迟而导致的终端设备显示卡顿的问题。

Description

基于终端设备的调度方法、装置、存储介质及终端设备
本申请要求申请日为2021年1月21日、申请号为202110084232.X、发明名称为“基于终端设备的调度方法、装置、存储介质及终端设备”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及终端设备技术领域,特别涉及一种基于终端设备的调度方法、装置、存储介质及终端设备。
背景技术
随着计算机技术的不断发展,手机、平板电脑、台式电脑等电子设备上安装的软件越来越多,进而软件对电子设备上资源(例如,CPU、存储器Memory、IO等)的争夺越来越激烈。
技术问题
由此,当软件在电子设备上运行时,由于各种任务的抢占导致电子设备经常出现卡顿或运行较慢等现象,给用户使用带来不便。因而现有技术还有待改进和提高。
技术解决方案
本申请要解决的技术问题在于,针对现有技术的不足,提供一种基于终端设备的调度方法、装置、存储介质及终端设备。
为了解决上述技术问题,本申请实施例第一方面提供了一种基于终端设备的调度方法,所述方法包括:
获取调度任务中的绘制任务;
将获取到的绘制任务配置为最高优先级,并按照各调度任务各自对应的优先级调度各调度任务。
所述的基于终端设备的调度方法,其中,所述绘制任务包括绘制任务进程以及与绘制任务进程通信的任务进程。
所述的基于终端设备的调度方法,其中,所述将获取到的绘制任务配置为最高优先级具体包括:
将获取到的绘制任务存储于预先配置的绘制任务队列,其中,所述绘制任务队列配置有最高优先级,并且所述绘制任务队列配置有绝对公平调度算法。
所述的基于终端设备的调度方法,其中,所述绘制任务队列中的各绘制任务各自对应的优先级相同。
所述的基于终端设备的调度方法,其中,所述终端设备预先设置有绘制任务内存;所述将获取到的绘制任务配置为最高优先级,并按照各调度任务各自对应的优先级调度各调度任务之后,所述方法还包括:
当检测到绘制任务申请内存时,将所述绘制任务内存分配给所述绘制任务。
所述的基于终端设备的调度方法,其中,所述当检测到绘制任务申请内存时,将所述绘制任务内存分配给所述绘制任务具体包括:
当检测到绘制任务申请内存时,检测终端设备的内核是否处于内核锁状态;
若检测终端设备的内核处于内核锁状态,则将所述绘制任务传递至等待队列头部,并在终端设备的内核唤醒时优先将所述绘制任务内存分配给所述绘制任务。
所述的基于终端设备的调度方法,其中,所述终端设备预先配置有若干专用IO下发通道, 所述若干专用IO下发通道中的每个专用IO下发通道均用于下发绘制任务的IO请求。
本申请实施例第二方面提供了一种调度装置,所述调度装置包括:
获取调度任务中的绘制任务;
将获取到的绘制任务配置为最高优先级,并按照各调度任务各自对应的优先级调度各调度任务。
本申请实施例第三方面提供了一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现如上任一所述的基于终端设备的调度方法中的步骤。
本申请实施例第四方面提供了一种终端设备,其包括:处理器、存储器及通信总线;所述存储器上存储有可被所述处理器执行的计算机可读程序;
所述通信总线实现处理器和存储器之间的连接通信;
所述处理器执行所述计算机可读程序时实现如上任一所述的基于终端设备的调度方法中的步骤。
有益效果
与现有技术相比,本申请提供了一种基于终端设备的调度方法、装置、存储介质及终端设备,所述方法包括获取调度任务中的绘制任务;将获取到的绘制任务配置为最高优先级,并按照各调度任务各自对应的优先级调度各调度任务。本申请通过将调度任务中的绘制任务配置有最高优先级,使得终端设备可以优先调度绘制任务以保证绘制任务的执行时间,这样可以避免因终端设备后台的调度任务过多导致绘制任务调度延迟,进而导致的终端设备显示卡顿的问题,从而提高了用户的使用感受。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员而言,在不符创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请提供的基于终端设备的调度方法的流程图。
图2为本申请提供的调度装置的结构原理图
图3为本申请提供的终端设备的结构原理图。
本发明的实施方式
本申请提供一种基于终端设备的调度方法、装置、存储介质及终端设备,为使本申请的目的、技术方案及效果更加清楚、明确,以下参照附图并举实施例对本申请进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本申请,并不用于限定本申请。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本申请的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。
本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本申请所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意 义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。
具体实现中,本申请实施例中描述的终端设备包括但不限于诸如具有触摸敏感表面(例如,触摸显示屏和/或触摸板)的移动电话,膝上形计算机或平板计算机之类的其他便携式设备。还应该理解的是,在某些实施例中,所述设备并非便携式通讯设备,而是具有触摸敏感表面(例如,触摸显示屏和/或触摸板)的台式计算机。
在接下来的讨论中,描述了包括显示器和触摸敏感表面的终端设备。然而,应当理解的是,终端设备还可以包括诸如物理键盘、鼠标和/或控制杆的一个或多个其他物理用户接口设备。终端设备支持各种应用程序,例如以下中的一个或多个:绘图应用程序、演示应用程序、文字处理应用程序、视频会议应用程序、盘刻录应用程序、电子表格应用程序、游戏应用程序、电话应用程序、视频会议应用程序、电子邮件由于程序、即时消息收发应用程序、锻炼支持应用程序、照片管理应用程序、数据相机应用程序、数字摄像机应用程序、web浏览应用程序、数字音乐播放器应用程序和/或数字视频播放应用程序等。
可以在终端设备上执行的各种应用程序可以使用诸如触摸敏感表面的至少一个公共物理用户接口设备。可以在应用程序之间和/或相应应用程序内调整和/或改变触摸敏感表面的第一或多个功能以及终端上显示的相应信息。这样,终端的公共物理框架(例如,触摸敏感表面)可以支持具有对用户而言直观且透明的用户界面的各种应用程序。
应理解,本实施例中各步骤的序号和大小并不意味着执行顺序的先后,各过程的执行顺序以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
发明人经过研究发现,随着计算机技术的不断发展,手机、平板电脑、台式电脑等电子设备上安装的软件越来越多,进而软件对电子设备上资源(例如,CPU、存储器Memory、IO等)的争夺越来越激烈。由此,当软件在电子设备上运行时,由于各种任务的抢占导致电子设备经常出现卡顿或运行较慢等现象,给用户使用带来不便。
为了解决上述问题,在本申请实施例中,获取调度任务中的绘制任务;将获取到的绘制任务配置为最高优先级,并按照各调度任务各自对应的优先级调度各调度任务。本申请通过将调度任务中的绘制任务配置有最高优先级,使得终端设备可以优先调度绘制任务以保证绘制任务的执行时间,这样可以避免因终端设备后台的调度任务过多导致绘制任务调度延迟,进而导致的终端设备显示卡顿的问题,从而提高了用户的使用感受。
下面结合附图,通过对实施例的描述,对申请内容作进一步说明。
本实施例提供了一种基于终端设备的调度方法,如图1所示,所述方法包括:
S10、获取调度任务中的绘制任务。
具体地,绘制任务为用于执行绘制内容相关的任务进程,通过执行绘制任务来呈现界面,其中,所述绘制任务可以包括绘制任务进程以及与绘制任务进程通信的任务进程。绘制任务可以是终端设备用于响应用户感知操作所产生的任务线程,例如,用于在界面上绘制图像的任务线程等。所述终端设备设备配置有显示界面,例如,智能手机、平板电脑以及台式电脑等电子设备。此外,调度任务为处于后台的任务进程,并且处于后台的各任务进程的产生时间可以相同,也可以不相同。换句话说,终端设备中处于后台的所有任务进程均为调度任务,并且处于后台的所有任务进程中的部分任务进程的产生时间相同,部分任务进程的产生时间不相同。当然,在实际应用中,处于后台的所有任务进程中的各任务进程的产生时间可以互不相同,也可以全部相同等。
在本实施例的一个实现方式中,绘制任务可以携带有绘制标识,在获取调度任务中的绘制任务时,可以检测各调度任务是否携带绘制标识以得到调度任务中的绘制任务,其中,绘制标识可以在android框架层进行标记。所述标记过程具体可以为:在android框架层对用于执行用户感知操作的绘制进程进行判别,并对识别到的绘制进程进行标记以使得绘制进程携带有绘制标识,其中,标记有绘制标识的绘制进程为绘制任务。此外,在对识别到的绘制进程 进行标记后,可以将标记后的绘制进程维护到内核的task_struct中以便于快速确定调度任务中的绘制任务。
在本实施例的一个实现方式中,由于绘制任务在执行过程中可能会与其它线程进行通信,以通过其他进程配合绘制线程实现绘制任务。由此,在将标记后的绘制任务维护到内核的task_struct中,还可以实时监听task_struct中的各绘制任务是否进行跨进程通信;当绘制任务进行跨进程通信时,将绘制任务的绘制标识传递到对方进程,并且将对方进程维护到task_struct内,且将对方进程标记为绘制任务(即标记对方进程以使得对方进程携带绘制标识),这样将与绘制进程通信的服务进程也作为绘制任务,可以提高用户感知操作的响应速度,从而减少用户感知的延迟和卡顿。
S20、将获取到的绘制任务配置为最高优先级,并按照各调度任务各自对应的优先级调度各调度任务。
具体地,优先级用于反映调度任务被优先调度的程度,优先级越高调度任务被优先调度的程度越高,反之,优先级越低调度任务被优先执行的程度越低。例如,调度任务A和调度任务B,调度任务A的优先级高于调度任务B的优先级,那么调度任务A先于调度任务B被调度。基于此,将绘制任务配置为最高优先级,这样绘制任务会被最先调度,从而可以避免因其他任务调度所消耗的时间而造成的绘制任务延迟,进而可以避免通过绘制任务成为的显示界面卡顿的问题。在本实施例的一个实现方式中,获取到的绘制任务可以为若干个绘制任务,若干绘制任务中的各绘制任务各自对应的优先级相同,均配置为最高优先级。例如,若干绘制任务包括绘制任务A、绘制任务B以及绘制任务C,那么绘制任务A的优先级、绘制任务B的优先级以及绘制任务C的优先级相同,均为最高优先级。
在本实施例的一个实现方式中,所述将获取到的绘制任务配置为最高优先级具体包括:
将获取到的绘制任务存储于预先配置的绘制任务队列。
具体地,绘制任务队列为预先建立的,用于存储绘制任务;换句话说,绘制任务队列中仅存储有绘制任务,每个绘制任务均存储于该绘制任务队列中,并且绘制任务队列中的每个任务均为绘制任务。所述绘制任务队列配置有最高优先级,并且存储于该绘制任务队列中的每个绘制任务均配置有最高优先级,这样即可以使得各绘制任务配置有最高优先级,又可以使得各绘制任务各自对应的优先级相同。终端设备的内核在调度任务进程时,会优先检测绘制任务队列中是否存储有绘制任务,若绘制任务队列中存储有绘制任务,内核会优先调度绘制任务队列中的绘制任务;若绘制任务队列中未存储有绘制任务,内核会按照正常调度处于后台的调度任务。换句话说,绘制任务会先于非绘制任务被调度,以使得终端设备可以优先执行绘制任务,进而提高绘制任务的响应时间,从而提高用户感知操作的响应时间,降低用户感受的卡顿和延迟。
所述绘制任务队列配置有绝对公平调度算法,以通过绝对公平调度算法来调度绘制任务队列中的绘制任务。可以理解的是,当内核调度绘制任务队中的绘制任务时,会采用该绝对公平调度算法从绘制任务队列中选取绘制任务,以实现多个绘制任务的调度。这样通过采用绝对公平调度算法优先调度绘制任务队列中选取绘制任务,可以使得同时活跃的前台绘制任务数量相对固定,从而可以降低用户感知操作对应的绘制任务的调度时间,从而可以降低用户感知操作的延迟。例如,绘制任务队列包括绘制任务a、绘制任务b以及绘制任务c,那么终端设备会基于绝对公平调度算法来确定绘制任务a、绘制任务b以及绘制任务c的调度顺序,并按照该调度顺序调度绘制任务a、绘制任务b以及绘制任务c,以及在绘制任务a、绘制任务b以及绘制任务c调度完成后,再调度所有调度任务中的非绘制任务。
在本实施例的一个实现方式中,为了提高绘制任务的响应速度,可以预先为绘制任务预留内存空间,当绘制任务需要调度内存时,可以直接将预留内存空间分配给绘制任务。由此,终端设备可以预先设置绘制任务内存,绘制任务内存用于分配给绘制任务。相应的,所述将获 取到的绘制任务配置最高优先级,并按照各调度任务各自对应的优先级调度各调度任务之后,所述方法还包括:
当检测到绘制任务申请内存时,将所述绘制任务内存分配给所述绘制任务。
具体地,在终端设备的内核运行绘制任务时,会实时检测绘制任务是否申请内存,当绘制任务申请内存时,直接将绘制任务内存中的空余内存分配给绘制任务,这样内核在为绘制任务分配内存时,可以跳过内存路径查询过程,避免查询内存路径所花费的时间,从而可以提高绘制任务所需内存的分配速度,从而可以进一步降低用户感知操作的延迟,提高用户的使用感受。在本实施例的一个实现方式中,所述绘制任务内存可以配置有绘制任务标识,当内核需要为绘制任务配置内存时,调用标记有绘制任务标识的绘制任务内存,这样内核可以快速确定绘制任务内存,提高绘制任务内存分配速度。
在本实施例的一个实现方式中,所述当检测到绘制任务申请内存时,将所述绘制任务内存分配给所述绘制任务具体包括:
当检测到绘制任务申请内存时,检测终端设备的内核是否处于内核锁状态;
若检测终端设备的内核处于内核锁状态,则将所述绘制任务传递至等待队列头部,并在终端设备的内核唤醒时优先将所述绘制任务内存分配给所述绘制任务;
若未处于锁等待状态,则将所述绘制任务内存分配给所述绘制任务。
具体地,所述锁等待状态指的是终端设备的内核发生锁等待,并且当内核发生锁等待时,终端设备的内核不进行内存分配。此外,需要申请内存的各任务进程需要排队等待内核唤醒(即,解除锁等待状态)后,当内核唤醒后,内核会按照排队顺序依次为各任务进程分配内存。在本实施例中,在绘制任务需要内存分配且内核发送锁等待时,将将所述绘制任务传递至等待队列头部,以使得在锁等待状态唤醒时优先将所述绘制任务内存分配给所述绘制任务,减少绘制任务等待时间,从而可以保证绘制任务内存分配速度。在本实施例的一个具体实现方式中,在内核发生锁等待时,可以通过android的虚拟机ART,通知到内核(mutex/rwsem/futex)接口传递给内核锁的持有者,将绘制任务添加到等待队列的头部,当内核锁唤醒时,等待队列中具有绘制线程标识的绘制任务会优先唤醒,从而可以保证绘制任务优先获得资源。
在本实施例的一个实现方式中,所述终端设备预先配置有若干专用IO下发通道,所述若干专用IO下发通道中的每个专用IO下发通道均用于下发绘制任务的IO请求。可以理解的是,终端设备预先配置若干绘制任务专用的专用IO下发通道,每个专用IO下发通道仅用于绘制任务的IO下发,这样可以避免绘制任务的IO下发因IO下发通道队列满而阻塞。例如,终端设备包括IO下发通道1、IO下发通道2、IO下发通道3以及IO下发通道4,将IO下发通道1作为绘制任务对应的专用IO下发通道,当接收到绘制任务的IO请求时,通过IO下发通道1下发该绘制任务的IO请求。此外,可以为绘制任务对应的IO请求配置绘制标志,以使得绘制任务对应的IO请求携带有绘制标志,这样可以快速确定绘制任务对应的IO请求,并通过若干专用IO下发通道来下发IO请求,从而可以提高绘制任务的响应速度。
在本实施例的一个实现方式中,在通过若干专用IO下发通道来下发IO请求,可以检测各专用IO下发通道对应的请求队列中的任务数量,以选取任务数量最少的专用IO下发通道来下发绘制任务。此外,在检测各专用IO下发通道对应的请求队列中的任务数量的同时,还可以检测终端装置配置的其它IO下发通道对应的请求队列中的任务数量,若其它IO下发通道中存在请求队列中的任务数量小于专用IO下发通道对应的请求队列中的任务数量的目标下发通道时,可以通过目标下发通道来下发绘制任务的IO请求。当然,在实际应用中,也可以在各专用IO下发通道对应的请求队列中的任务数量均达到预设阈值时,将绘制任务的IO请求插入其它IO下发通道对应的请求队列的队列最前方,以提高该绘制任务的IO请求的响应速度。
举例说明:终端设备包括IO下发通道1、IO下发通道2、IO下发通道3以及IO下发通道4, 将IO下发通道1作为绘制任务对应的专用IO下发通道,IO下发通道1对应的请求队列a包括2个IO请求,IO下发通道2对应的请求队列b包括1个IO请求,IO下发通道3对应的请求队列c包括4个IO请求,IO下发通道4对应的请求队列c包括4个IO请求,那么可以将绘制任务的IO请求添加到IO下发通道2对应的请求队列b,以通过IO下发通道2来下发绘制任务的IO请求。又如,IO下发通道2对应的请求队列b包括3个IO请求,其他请求队列包括的IO请求的数量不变,那么可以通过专用IO下发通道来下发绘制任务的IO请求,也可以将绘制任务的IO请求插入请求队列b、请求队列c或者请求队列d中的一个目标请求队列的队首,以通过目标请求队列对应的IO下发通道来下发绘制任务的IO请求。
为了进一步说明本实施例提供的基于终端设备的调度方法,本实施例对本实施例提供的基于终端设备的调度方法进行测试,具体测试项目以及测试结果如表1所示。
表1测试项目以及测试结果
Figure PCTCN2022072220-appb-000001
由表1可以知道,终端设备通过平均每一帧的绘制耗时小于16.6ms的场景下,系统才能够达到60fps的绘制帧率,使用起来会比较流畅,可以看到在1和3两种场景下,终端设备的系统绘制都超过了16.6ms,已经处于30fps的低帧率模式。在当终端设备应用本实施例提供的基于终端设备的调度方法后,系统绘制帧率达到60fps,平均帧绘制时间缩短20%。
综上所述,本实施例提供了一种基于终端设备的调度方法,所述方法包括获取调度任务中的绘制任务;将获取到的绘制任务配置为最高优先级,并按照各调度任务各自对应的优先级调度各调度任务。本申请通过将调度任务中的绘制任务配置有最高优先级,使得终端设备可以优先调度绘制任务以保证绘制任务的执行时间,这样可以避免因终端设备后台的调度任务过多导致绘制任务调度延迟,进而导致的终端设备显示卡顿的问题,从而提高了用户的使用感受。
基于上述基于终端设备的调度方法,本实施例提供了一种调度装置,如图2所示,所述调度装置包括:
获取模块100,用于获取调度任务中的绘制任务;
调度模块200,用于将获取到的绘制任务配置为最高优先级,并按照各调度任务各自对应的优先级调度各调度任务。
在一个实施例中,所述绘制任务包括绘制任务进程以及与绘制任务进程通信的任务进程。在一个实施例中,所述调度模块具体用于:
将获取到的绘制任务存储于预先配置的绘制任务队列,其中,所述绘制任务队列配置有最高优先级,并且所述绘制任务队列配置有绝对公平调度算法。
在一个实施例中,所述绘制任务队列中的各绘制任务各自对应的优先级相同。
在一个实施例中,所述终端设备预先设置有绘制任务内存;所述调度装置还包括分配模块,所述分配模块用于当检测到绘制任务申请内存时,将所述绘制任务内存分配给所述绘制任务。
在一个实施例中,所述分配模块具体用于:
当检测到绘制任务申请内存时,检测终端设备的内核是否处于内核锁状态;若检测终端设备 的内核处于内核锁状态,则将所述绘制任务传递至等待队列头部,并在终端设备的内核唤醒时优先将所述绘制任务内存分配给所述绘制任务。
在一个实施例中,所述终端设备预先配置有若干专用IO下发通道,所述若干专用IO下发通道中的每个专用IO下发通道均用于下发绘制任务的IO请求。
基于上述基于终端设备的调度方法,本实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现如上述实施例所述的基于终端设备的调度方法中的步骤。
基于上述基于终端设备的调度方法,本申请还提供了一种终端设备,如图3所示,其包括至少一个处理器(processor)20;显示屏21;以及存储器(memory)22,还可以包括通信接口(Communications Interface)23和总线24。其中,处理器20、显示屏21、存储器22和通信接口23可以通过总线24完成相互间的通信。显示屏21设置为显示初始设置模式中预设的用户引导界面。通信接口23可以传输信息。处理器20可以调用存储器22中的逻辑指令,以执行上述实施例中的方法。
此外,上述的存储器22中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。
存储器22作为一种计算机可读存储介质,可设置为存储软件程序、计算机可执行程序,如本公开实施例中的方法对应的程序指令或模块。处理器20通过运行存储在存储器22中的软件程序、指令或模块,从而执行功能应用以及数据处理,即实现上述实施例中的方法。
存储器22可包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端设备的使用所创建的数据等。此外,存储器22可以包括高速随机存取存储器,还可以包括非易失性存储器。例如,U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等多种可以存储程序代码的介质,也可以是暂态存储介质。
此外,上述存储介质以及移动终端中的多条指令处理器加载并执行的具体过程在上述方法中已经详细说明,在这里就不再一一陈述。
最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。

Claims (20)

  1. 一种基于终端设备的调度方法,其中,所述方法包括:
    获取调度任务中的绘制任务;
    将获取到的绘制任务配置为最高优先级,并按照各调度任务各自对应的优先级调度各调度任务。
  2. 根据权利要求1所述的基于终端设备的调度方法,其中,绘制任务携带有绘制标识,所述获取调度任务中的绘制任务具体包括:
    检测调度任务是否携带绘制标识;
    根据检测结果,从所述调度任务中获取绘制任务。
  3. 根据权利要求1所述的基于终端设备的调度方法,其中,所述绘制任务包括绘制任务进程以及与绘制任务进程通信的任务进程。
  4. 根据权利要求1所述的基于终端设备的调度方法,其中,所述将获取到的绘制任务配置为最高优先级具体包括:
    将获取到的绘制任务存储于预先配置的绘制任务队列,其中,所述绘制任务队列配置有最高优先级,并且所述绘制任务队列配置有绝对公平调度算法。
  5. 根据权利要求4所述的基于终端设备的调度方法,其中,所述绘制任务队列中的各绘制任务各自对应的优先级相同。
  6. 根据权利要求4所述的基于终端设备的调度方法,其中,所述绝对公平调度算法用于从所述绘制任务队列中选取目标绘制任务,确定所述目标绘制任务的调度顺序,并基于所述调度顺序调度所述目标绘制任务。
  7. 根据权利要求1所述的基于终端设备的调度方法,其中,所述终端设备预先设置有绘制任务内存;所述将获取到的绘制任务配置为最高优先级,并按照各调度任务各自对应的优先级调度各调度任务之后,所述方法还包括:
    当检测到绘制任务申请内存时,将所述绘制任务内存分配给所述绘制任务。
  8. 根据权利要求7所述的基于终端设备的调度方法,其中,所述当检测到绘制任务申请内存时,将所述绘制任务内存分配给所述绘制任务具体包括:
    当检测到绘制任务申请内存时,将所述绘制任务内存中的空余内存分配给所述绘制任务。
  9. 根据权利要求7所述的基于终端设备的调度方法,其中,所述绘制任务内存配置有绘制任务标识,所述当检测到绘制任务申请内存时,将所述绘制任务内存分配给所述绘制任务具体包括:
    当检测到绘制任务申请内存时,将标记有所述绘制任务标识的绘制任务内存分配给所述绘制任务。
  10. 根据权利要求1所述的基于终端设备的调度方法,其中,所述当检测到绘制任务申请内存时,将所述绘制任务内存分配给所述绘制任务具体包括:
    当检测到绘制任务申请内存时,检测终端设备的内核是否处于内核锁状态;
    若检测终端设备的内核处于内核锁状态,则将所述绘制任务传递至等 待队列头部,并在终端设备的内核唤醒时优先将所述绘制任务内存分配给所述绘制任务。
  11. 根据权利要求1所述的基于终端设备的调度方法,其中,所述终端设备预先配置有若干专用IO下发通道,所述若干专用IO下发通道中的每个专用IO下发通道均用于下发绘制任务的IO请求。
  12. 根据权利要求11所述的基于终端设备的调度方法,其中,所述IO请求配置有绘制标志。
  13. 根据权利要求11所述的基于终端设备的调度方法,其中,所述绘制任务的IO请求通过目标专用IO下发通道下发,所述目标专用IO下发通道为对应的请求队列中任务数量最少的专用IO下发通道。
  14. 根据权利要求11所述的基于终端设备的调度方法,其中,所述终端设备还配置有若干非专用IO下发通道,所述绘制任务的IO请求通过目标非专用IO下发通道下发,所述目标非专用IO下发通道对应的请求队列中的任务数量少于所述专用IO下发通道对应的请求队列中的任务数量。
  15. 根据权利要求11所述的基于终端设备的调度方法,其中,所述终端设备还配置有若干非专用IO下发通道,所述专用IO下发通道对应的请求队列中的任务数量均达到预设阈值,所述绘制任务的IO请求通过所述非专用IO下发通道下发。
  16. 根据权利要求15所述的基于终端设备的调度方法,其中,所述绘制任务的IO请求位于所述非专用IO下发通道对应的请求队列的队列最前方。
  17. 一种调度装置,其中,所述调度装置包括:
    获取模块,用于获取调度任务中的绘制任务;
    调度模块,用于将获取到的绘制任务配置为最高优先级,并按照各调度任务各自对应的优先级调度各调度任务。
  18. 根据权利要求17所述的调度装置,其中,所述调度模块具体用于:
    将获取到的绘制任务存储于预先配置的绘制任务队列,其中,所述绘制任务队列配置有最高优先级,并且所述绘制任务队列配置有绝对公平调度算法。
  19. 一种计算机可读存储介质,其中,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现如权利要求1-16任意一项所述的基于终端设备的调度方法中的步骤。
  20. 一种终端设备,其中,包括:处理器、存储器及通信总线;所述存储器上存储有可被所述处理器执行的计算机可读程序;
    所述通信总线实现处理器和存储器之间的连接通信;
    所述处理器执行所述计算机可读程序时实现如权利要求1-16任意一项所述的基于终端设备的调度方法中的步骤。
PCT/CN2022/072220 2021-01-21 2022-01-17 基于终端设备的调度方法、装置、存储介质及终端设备 WO2022156612A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202110084232.XA CN112799805A (zh) 2021-01-21 2021-01-21 基于终端设备的调度方法、装置、存储介质及终端设备
CN202110084232.X 2021-01-21

Publications (1)

Publication Number Publication Date
WO2022156612A1 true WO2022156612A1 (zh) 2022-07-28

Family

ID=75811115

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2022/072220 WO2022156612A1 (zh) 2021-01-21 2022-01-17 基于终端设备的调度方法、装置、存储介质及终端设备

Country Status (2)

Country Link
CN (1) CN112799805A (zh)
WO (1) WO2022156612A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112799805A (zh) * 2021-01-21 2021-05-14 惠州Tcl移动通信有限公司 基于终端设备的调度方法、装置、存储介质及终端设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150347189A1 (en) * 2014-05-30 2015-12-03 Apple Inc. Quality of service classes
CN109284179A (zh) * 2018-08-07 2019-01-29 北京达佳互联信息技术有限公司 解决应用程序卡顿的方法、装置、电子设备及存储介质
US20190079781A1 (en) * 2016-01-21 2019-03-14 Alibaba Group Holding Limited System, method, and apparatus for rendering interface elements
CN111831410A (zh) * 2020-07-01 2020-10-27 Oppo广东移动通信有限公司 任务处理方法、装置、存储介质及电子设备
CN112799805A (zh) * 2021-01-21 2021-05-14 惠州Tcl移动通信有限公司 基于终端设备的调度方法、装置、存储介质及终端设备

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9250953B2 (en) * 2013-11-12 2016-02-02 Oxide Interactive Llc Organizing tasks by a hierarchical task scheduler for execution in a multi-threaded processing system
CN107273130B (zh) * 2017-06-20 2020-08-04 深圳市万普拉斯科技有限公司 加速界面绘制的方法、装置和终端
CN111813536B (zh) * 2019-04-11 2024-06-11 华为技术有限公司 任务处理方法、装置、终端以及计算机可读存储介质
CN110162418B (zh) * 2019-05-30 2023-06-27 努比亚技术有限公司 应用冷启动方法、移动终端及计算机可读存储介质

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150347189A1 (en) * 2014-05-30 2015-12-03 Apple Inc. Quality of service classes
US20190079781A1 (en) * 2016-01-21 2019-03-14 Alibaba Group Holding Limited System, method, and apparatus for rendering interface elements
CN109284179A (zh) * 2018-08-07 2019-01-29 北京达佳互联信息技术有限公司 解决应用程序卡顿的方法、装置、电子设备及存储介质
CN111831410A (zh) * 2020-07-01 2020-10-27 Oppo广东移动通信有限公司 任务处理方法、装置、存储介质及电子设备
CN112799805A (zh) * 2021-01-21 2021-05-14 惠州Tcl移动通信有限公司 基于终端设备的调度方法、装置、存储介质及终端设备

Also Published As

Publication number Publication date
CN112799805A (zh) 2021-05-14

Similar Documents

Publication Publication Date Title
US10628216B2 (en) I/O request scheduling method and apparatus by adjusting queue depth associated with storage device based on hige or low priority status
US9135059B2 (en) Opportunistic multitasking
WO2019218708A1 (zh) 一种任务处理方法及处理装置、计算机系统
US10437639B2 (en) Scheduler and CPU performance controller cooperation
US20190155656A1 (en) Method and system for scheduling threads for execution
JP6320520B2 (ja) 多数の優先順キューに対するスレッドの割り当ておよびスケジューリング
EP2893444B1 (en) Quota-based resource management
WO2021098182A1 (zh) 资源管理方法和装置、电子设备及存储介质
CN110300328B (zh) 一种视频播放控制方法、装置及可读存储介质
CN111597042A (zh) 业务线程运行方法、装置、存储介质及电子设备
US11100604B2 (en) Multiple application cooperative frame-based GPU scheduling
US20080229319A1 (en) Global Resource Allocation Control
US8856407B2 (en) USB redirection for write streams
WO2020063041A1 (zh) 多核处理器的调度方法、装置、终端及存储介质
WO2022156612A1 (zh) 基于终端设备的调度方法、装置、存储介质及终端设备
WO2023142905A1 (zh) 任务调度方法、装置、终端设备及存储介质
CN111831436A (zh) Io请求的调度方法、装置、存储介质及电子设备
CN111767138A (zh) 资源分配方法、存储介质和电子设备
CN112114967A (zh) 一种基于服务优先级的gpu资源预留方法
CN113495787A (zh) 资源分配方法、装置、存储介质及电子设备
KR20160026651A (ko) 호스트 장치에 의해 기억 장치의 작업을 관리하는 방법 및 시스템
AU2013205570A1 (en) Opportunistic multitasking

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 22742091

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 22742091

Country of ref document: EP

Kind code of ref document: A1