A graphics processor, an interlaced display method and a storage medium
Patent Information
- Application Number
- CN202611433584.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2026-09-16
- Publication Date
- 2026-10-23
AI Technical Summary
这种方式下,CPU被频繁唤醒会引起较大的系统功耗,并且大量的CPU指令线程会导致GPU任务执行效率缓慢;
[0019]本发明实施例提供的技术方案,通过图形处理器中的硬件调度器接收画面渲染任务和画面翻转任务,在全部任务中筛选满足强制发射条件的目标任务,将目标任务分发至任务执行器;通过任务执行器执行目标任务,并将执行结果反馈至硬件调度器;通过硬件调度器根据任务执行器针对画面翻转任务的执行结果,对原始图像帧进行插值处理得到目标插帧,并将目标插帧提交至硬件翻转任务管理器;通过硬件翻转任务管理器根据显卡内核中画面翻转的运行状态,调整目标插帧的数量;通过显示控制系统控制显示器对原始图像帧和调整后的目标插帧进行显示的技术手段,可以大幅提升图形处理器的任务执行效率,降低中央处理器的负载,改善插帧显示卡顿的问题,提升画面显示的流畅度和用户的观看体验。
Smart Images

Figure CN122966427A_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of graphics processor technology, and more particularly to a graphics processor, a frame interpolation display method, and a storage medium. Background Technology
[0002] Currently, task scheduling in graphics processing units (GPUs) primarily relies on instruction threads of the central processing unit (CPU) for coordination and management. For example, the CPU is responsible for creating rendering and flip tasks, monitoring task execution progress, submitting tasks to the execution engine, and managing task priorities. In this approach, frequent CPU wake-ups lead to significant system power consumption, and a large number of CPU instruction threads results in slow GPU task execution efficiency. Secondly, with the development of artificial intelligence (AI), the screen flipping task requires AI to generate multiple interpolated frames for transitioning the screen. The existing interpolation display method is completed by the CPU instruction thread. Due to the communication delay between the CPU and the GPU, the interpolation display will be stuttered, which will seriously affect the user's viewing experience. Summary of the Invention
[0003] This invention provides a graphics processor, a frame interpolation display method, and a storage medium, which can significantly improve the task execution efficiency of the graphics processor, reduce the load on the central processing unit, improve the stuttering problem of frame interpolation display, and enhance the smoothness of the screen display and the user's viewing experience.
[0004] According to one aspect of the present invention, a graphics processor is provided, the graphics processor including a hardware scheduler, a task executor and a display control system; the display control system includes a hardware flip task manager; The hardware scheduler is used to receive screen rendering tasks and screen flipping tasks triggered by the application through the user driver and kernel driver respectively, filter target tasks that meet the forced launch conditions from all tasks, and distribute the target tasks to the task executor. The task executor is used to execute the target task and feed back the execution result to the hardware scheduler; The hardware scheduler is also used to perform interpolation processing on the original image frame to obtain the target interpolated frame based on the execution result of the task executor for the screen flipping task, and submit the target interpolated frame to the hardware flipping task manager. The hardware flip task manager is used to adjust the number of target interpolated frames based on the running status of screen flipping in the graphics card kernel. The display control system is used to control the display to show the original image frame and the adjusted target interpolated frame.
[0005] Optionally, the hardware scheduler is further configured to divide the received multiple screen rendering tasks and screen flipping tasks into multiple task groups according to task type; the multiple tasks in each task group have a contextual relationship. The hardware scheduler is also used to filter target tasks that meet the forced launch conditions in each task group according to the priority, dwell time and dependency of each task in each task group.
[0006] Optionally, the hardware scheduler is further configured to distribute the target task to the corresponding command parser in the task executor; The command parser is used to parse the target task into multiple operation instructions, and send the multiple operation instructions to the corresponding execution engine so that the execution engine executes the operation instructions; The execution engine includes a 3D engine, a computing engine, a video engine, and a copy engine.
[0007] Optionally, the hardware scheduler is further configured to determine a standard time interval based on the current refresh rate of the display, the number of target interpolated frames, and the rendering speed of the task executor. The hardware scheduler is also used to submit the target interpolated frame to the hardware flip task manager according to the standard time interval.
[0008] Optionally, the hardware scheduler is further configured to use the graphics processor timestamp as a time reference benchmark, determine the submission time based on the time reference benchmark and the standard time interval, and submit the target interpolated frame to the hardware flip task manager based on the submission time.
[0009] Optionally, the hardware scheduler is further configured to update the target interpolated frame according to the changed user input parameters after detecting a change in the user input parameters; The hardware scheduler is also used to submit the original image frame and the updated target interpolated frame to the hardware flip task manager according to the standard time interval.
[0010] Optionally, the hardware flip task manager is also used to monitor the frame rate of the graphics card kernel in real time and dynamically adjust the number of target interpolated frames according to the frame rate of the graphics card kernel.
[0011] According to another aspect of the present invention, a frame interpolation display method is provided, applied to the hardware scheduler described in any embodiment of the present invention, the method comprising: After receiving the screen rendering task and screen flipping task triggered by the application through the user driver and kernel driver respectively, the system filters the target tasks that meet the forced launch conditions from all tasks and distributes the target tasks to the task executor so that the task executor can execute the target tasks. If the target task is a screen flipping task, then according to the execution result of the target task, the original image frame is interpolated to obtain the target interpolated frame, and the target interpolated frame is submitted to the hardware flipping task manager. The number of target interpolated frames can be adjusted using the hardware flip task manager; The display control system controls the monitor to display the original image frame and the adjusted target interpolated frame.
[0012] Optionally, target missions that meet the mandatory launch conditions can be selected from all missions, including: According to the task type, the received multiple screen rendering tasks and screen flipping tasks are divided into multiple task groups; the multiple tasks in each task group have a contextual relationship. Based on the priority, dwell time, and dependencies of each task in each task group, target tasks that meet the mandatory launch conditions are selected from each task group.
[0013] Optionally, distributing the target task to a task executor so that the task executor executes the target task includes: The target task is distributed to the corresponding command parser in the task executor; The command parser parses the target task into multiple operation instructions and sends the multiple operation instructions to the corresponding execution engine so that the execution engine executes the operation instructions; The execution engine includes a 3D engine, a computing engine, a video engine, and a copy engine.
[0014] Optionally, submitting the target interpolated frame to the hardware flip task manager includes: The standard time interval is determined based on the current refresh rate of the display, the number of target interpolated frames, and the rendering speed of the task executor. The target interpolated frame is submitted to the hardware flip task manager according to the standard time interval.
[0015] Optionally, the target interpolated frame is submitted to the hardware flip task manager according to the standard time interval, including: After detecting a change in the user input parameters, the target interpolated frame is updated according to the changed user input parameters; The original image frame and the updated target interpolated frame are submitted to the hardware flip task manager at the standard time interval.
[0016] According to another aspect of the present invention, an electronic device is provided, the electronic device comprising: At least one graphics processor; and a memory communicatively connected to said at least one graphics processor; The memory stores a computer program that can be executed by the at least one graphics processor, and the computer program is executed by the at least one graphics processor to enable the at least one graphics processor to perform the frame interpolation display method according to any embodiment of the present invention.
[0017] According to another aspect of the present invention, a computer-readable storage medium is provided, the computer-readable storage medium storing computer instructions for causing a graphics processor to execute and implement the frame interpolation display method according to any embodiment of the present invention.
[0018] According to another aspect of the present invention, a computer program product is provided, the computer program product comprising a computer program that, when executed by a graphics processor, implements the frame interpolation display method according to any embodiment of the present invention.
[0019] The technical solution provided by this invention involves receiving image rendering and image flipping tasks through a hardware scheduler in the graphics processor, selecting target tasks that meet the forced launch conditions from all tasks, and distributing the target tasks to task executors. The task executors then execute the target tasks and feed the execution results back to the hardware scheduler. Based on the execution results of the task executors for the image flipping tasks, the hardware scheduler interpolates the original image frames to obtain target interpolated frames and submits them to the hardware flipping task manager. The hardware flipping task manager adjusts the number of target interpolated frames according to the image flipping running status in the graphics card kernel. Finally, the display control system controls the monitor to display the original image frames and the adjusted target interpolated frames. This technical approach significantly improves the task execution efficiency of the graphics processor, reduces the load on the central processing unit, alleviates the problem of stuttering during frame interpolation display, and enhances the smoothness of the image display and the user's viewing experience.
[0020] It should be understood that the description in this section is not intended to identify key or essential features of the embodiments of the present invention, nor is it intended to limit the scope of the invention. Other features of the invention will become readily apparent from the following description. Attached Figure Description
[0021] To more clearly illustrate the technical solutions in the embodiments of the present invention, the accompanying drawings used in the description of the embodiments will be briefly introduced below. Obviously, the accompanying drawings described below are only some embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0022] Figure 1 This is a schematic diagram of the structure of a graphics processor according to an embodiment of the present invention; Figure 2 This is a schematic diagram of the structure of another graphics processor provided according to an embodiment of the present invention; Figure 3 This is a flowchart of a frame interpolation display method provided according to an embodiment of the present invention; Figure 4 This is a flowchart of another frame interpolation display method provided according to an embodiment of the present invention; Figure 5 This is a schematic diagram of a scenario where frame interpolation is submitted based on user input parameters, according to an embodiment of the present invention. Figure 6 This is a schematic diagram of the structure of an electronic device that implements the frame interpolation display method of the present invention. Detailed Implementation
[0023] To enable those skilled in the art to better understand the present invention, the technical solutions of the present invention will be clearly and completely described below with reference to the accompanying drawings of the embodiments of the present invention. Obviously, the described embodiments are only some embodiments of the present invention, and not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort should fall within the scope of protection of the present invention.
[0024] It should be noted that the terms "first," "second," etc., in the specification, claims, and accompanying drawings of this invention are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence. It should be understood that such data can be interchanged where appropriate so that the embodiments of the invention described herein can be implemented in orders other than those illustrated or described herein. Furthermore, the terms "comprising" and "having," and any variations thereof, are intended to cover a non-exclusive inclusion; for example, a process, method, system, product, or apparatus that comprises a series of steps or units is not necessarily limited to those steps or units explicitly listed, but may include other steps or units not explicitly listed or inherent to such processes, methods, products, or apparatus.
[0025] Figure 1 A schematic diagram of the structure of a graphics processor provided in an embodiment of the present invention is shown below. Figure 1 As shown, the graphics processor includes a hardware scheduler, a task executor, and a display control system; the display control system includes a hardware flip task manager.
[0026] In this embodiment, the hardware scheduler is used to receive screen rendering tasks and screen flipping tasks triggered by the application through the user driver and kernel driver, respectively, filter target tasks that meet the forced launch conditions from all tasks, and distribute the target tasks to the task executor.
[0027] Specifically, users can trigger screen rendering tasks through the user driver (Runtime user mode driver) in the application (APP), or trigger screen flipping tasks through the kernel driver (Dxgkrnl software flipqueue). After receiving the above tasks, the hardware scheduler in the graphics processor can create multiple task groups, then filter target tasks that meet the forced launch conditions from the multiple task groups, and distribute the target tasks to the task executors.
[0028] Optionally, the hardware scheduler can filter target tasks based on task priority, task dwell time, etc., but this embodiment does not impose any restrictions on this.
[0029] like Figure 1 As shown, the task executor is used to execute the target task and feed back the execution result to the hardware scheduler; the hardware scheduler is also used to perform interpolation processing on the original image frame to obtain the target interpolated frame based on the execution result of the task executor for the screen flipping task, and submit the target interpolated frame to the hardware flipping task manager.
[0030] In this embodiment, after the task executor completes the execution of the target task, it can feed back the execution result to the hardware scheduler. If the target task is a screen flipping task, the corresponding execution result may include the motion features and timestamps of the original image frames. The hardware scheduler can use these motion features and timestamps to perform inter-frame interpolation calculations, generate a target interpolated frame with matching time and position, and submit the target interpolated frame to the hardware flipping task manager in the display control system.
[0031] The advantage of this setup is that by submitting the target frame interpolation directly to the hardware flip task manager through the hardware scheduler in the graphics processor, the entire task scheduling process of the graphics processor can be completed by the hardware in the graphics processor, avoiding frequent CPU wake-ups, thereby reducing system power consumption and improving the task execution efficiency of the graphics processor.
[0032] In this embodiment, as Figure 1As shown, the hardware flip task manager is used to adjust the number of target interpolated frames based on the running status of screen flipping in the graphics card kernel. The display control system is used to control the monitor to display the original image frames and the adjusted target interpolated frames.
[0033] Optionally, the hardware flip task manager can adjust the target number of interpolated frames based on the running status of screen flipping in the graphics card kernel, the current refresh rate of the display device, and the screen rendering speed. The advantage of this setting is that it can solve the problem of display stuttering caused by communication latency between the CPU and GPU, improving the smoothness of the display and the user's viewing experience.
[0034] The technical solution provided by this invention involves receiving image rendering and image flipping tasks through a hardware scheduler in the graphics processor, selecting target tasks that meet the forced launch conditions from all tasks, and distributing the target tasks to task executors. The task executors then execute the target tasks and feed the execution results back to the hardware scheduler. Based on the execution results of the task executors for the image flipping tasks, the hardware scheduler interpolates the original image frames to obtain target interpolated frames and submits these frames to the hardware flipping task manager. The hardware flipping task manager adjusts the number of target interpolated frames according to the image flipping running status in the graphics card kernel. By controlling the display to display the original image frames and the adjusted target interpolated frames through a display control system, this technical approach can significantly improve the task execution efficiency of the graphics processor, reduce the load on the central processing unit, alleviate the problem of stuttering during frame interpolation display, and enhance the smoothness of the image display and the user's viewing experience.
[0035] Figure 2 A schematic diagram of another graphics processor provided in an embodiment of the present invention, as shown below. Figure 2 As shown, the graphics processor includes a hardware scheduler, a task executor, and a display control system; the display control system includes a hardware flip task manager.
[0036] Figure 2 The dashed part in the diagram represents the specific execution process of the hardware scheduler, such as... Figure 2 As shown, the hardware scheduler is also used to divide the received multiple screen rendering tasks and screen flipping tasks into multiple task groups according to task type, and the multiple tasks in each task group have contextual relationships. The hardware scheduler can perform operations such as creation, updating and destruction on each task group, and can also perform operations such as creation, updating and destruction on the tasks in each task group.
[0037] In one embodiment of this example, the hardware scheduler is further configured to filter target tasks that meet the forced launch conditions in each task group based on the priority, dwell time, and dependencies of each task in each task group, and distribute the target tasks to the corresponding command parsers in the task executors. The dependencies refer to the fact that whether a task can start depends on whether another task has completed execution; for example, the output of one task is the input of another task.
[0038] Specifically, the command parser is used to parse the target task into multiple operation instructions and send these instructions to the corresponding execution engine, so that the execution engine can execute the instructions. For example... Figure 2 As shown, multiple execution engines can be deployed in the task executor, such as a 3D engine, a computing engine, a video engine, and a copy engine.
[0039] In this embodiment, the hardware scheduler is further configured to determine a standard time interval based on the current refresh rate of the display, the number of target interpolated frames, and the rendering speed of the task executor, and submit the target interpolated frames to the hardware flip task manager according to the standard time interval. Optionally, the hardware scheduler can use the graphics processor timestamp as a time reference base, determine the submission time based on the time reference base and the standard time interval, and submit the target interpolated frames to the hardware flip task manager according to the submission time.
[0040] In practical applications, the extreme imbalance between the generation speed of interpolated frames and the rendering speed of the original image can easily cause stuttering in the interpolated frame display. To solve this problem, this embodiment provides a way to precisely control the timing of interpolated frame submission.
[0041] Specifically, the graphics processor timestamp can be used as a time reference, and the hardware scheduler can evenly submit the image frames to be displayed per second to the hardware flip task manager. For example, assuming the monitor's current refresh rate is 240Hz, the task executor can complete the rendering of 4 frames every 1 / 30th of a second. If 1 original image frame corresponds to 3 target interpolated frames, the rendering interval for each image frame can be calculated as (1 / 30 divided by 4) 1 / 120th of a second. The hardware scheduler can submit each original image frame and its corresponding 3 target interpolated frames to the hardware flip task manager at 1 / 120th-second intervals, which can effectively solve the problem of stuttering during frame interpolation and improve the smoothness of the screen display.
[0042] In this embodiment, the hardware scheduler is also used to update the target interpolated frame according to the changed user input parameters after detecting a change in the user input parameters; and to submit the original image frame and the updated target interpolated frame to the hardware flip task manager at standard time intervals.
[0043] In one specific embodiment, if the user's input parameters change during the execution of a task by the graphics processor (e.g., the control screen suddenly flips to the left or right), the hardware scheduler can adjust the currently generated target interpolation frame according to the user's input parameters to adapt to the change in user needs.
[0044] In this embodiment, the hardware flip task manager is also used to monitor the rendering frame rate in the graphics card kernel in real time and dynamically adjust the number of target interpolated frames based on the rendering frame rate.
[0045] Specifically, the hardware flip task manager can collect the graphics card kernel's running data in real time, monitor the screen rendering frame rate based on the running data, and dynamically calculate the target number of interpolated frames to adapt to the current performance state based on the screen rendering frame rate, thereby balancing the screen display smoothness and the hardware load of the graphics processor.
[0046] The technical solution provided in this invention divides multiple received rendering and flipping tasks into multiple task groups according to task type using a hardware scheduler. Based on the priority, dwell time, and dependencies of each task in each task group, target tasks meeting the forced launch conditions are selected from each task group, and the target tasks are distributed to the corresponding command parsers in the task executors. The hardware scheduler determines a standard time interval based on the current refresh rate of the display, the number of target interpolated frames, and the rendering speed of the task executors. Target interpolated frames are submitted to the hardware flipping task manager according to the standard time interval. The hardware flipping task manager monitors the rendering frame rate in the graphics card kernel in real time and dynamically adjusts the number of target interpolated frames based on the rendering frame rate. This technique can significantly improve the task execution efficiency of the graphics processor, reduce the load on the central processing unit, alleviate display stuttering issues, and enhance the smoothness of the display and the user's viewing experience.
[0047] Figure 3 This is a flowchart illustrating a frame interpolation display method provided in an embodiment of the present invention. This embodiment is applicable to situations where a graphics processor displays interpolated frames during the rendering process. The method can be executed by a frame interpolation display device, which can be implemented in hardware and / or software and configured in the hardware scheduler of the graphics processor, such as... Figure 3 As shown, the method includes: Step 110: After receiving the screen rendering task and screen flipping task triggered by the application through the user driver and kernel driver respectively, filter the target tasks that meet the forced launch conditions from all tasks, and distribute the target tasks to the task executor so that the task executor can execute the target tasks.
[0048] Step 120: If the target task is a screen flipping task, then according to the execution result of the target task, the original image frame is interpolated to obtain the target interpolated frame, and the target interpolated frame is submitted to the hardware flipping task manager.
[0049] Step 130: Adjust the number of target interpolated frames using the hardware flip task manager.
[0050] Step 140: Control the display system to display the original image frame and the adjusted target interpolated frame on the monitor.
[0051] The technical solution provided by this invention, through a hardware scheduler receiving screen rendering and screen flipping tasks triggered by an application via user drivers and kernel drivers respectively, filters target tasks that meet the forced launch conditions from all tasks and distributes the target tasks to task executors for execution. If the target task is a screen flipping task, the original image frame is interpolated based on the execution result to obtain a target interpolated frame, which is then submitted to the hardware flipping task manager. The number of target interpolated frames is adjusted by the hardware flipping task manager, and the display is controlled by the display control system to display the original image frame and the adjusted target interpolated frame. This technical means can significantly improve the task execution efficiency of the graphics processor, reduce the load on the central processing unit, improve the problem of stuttering in frame interpolation display, and enhance the smoothness of screen display and the user's viewing experience.
[0052] Figure 4 This is a flowchart of another frame interpolation display method provided by an embodiment of the present invention. The method is applied to the hardware scheduler of the graphics processor, such as... Figure 4 As shown, the method includes: Step 210: After receiving the screen rendering task and screen flipping task triggered by the application through the user driver and kernel driver respectively, divide the received screen rendering task and screen flipping task into multiple task groups according to the task type.
[0053] In this embodiment, multiple tasks in each task group have contextual relationships.
[0054] Step 220: Based on the priority, dwell time, and dependencies of each task in each task group, select target tasks that meet the mandatory launch conditions in each task group.
[0055] Step 230: Distribute the target task to the corresponding command parser in the task executor; the command parser parses the target task into multiple operation instructions, and sends the multiple operation instructions to the corresponding execution engine so that the execution engine can execute the operation instructions.
[0056] The execution engine includes a 3D engine, a computing engine, a video engine, and a copy engine.
[0057] Step 240: If the target task is a screen flipping task, then based on the execution result of the target task, interpolate the original image frame to obtain the target interpolated frame.
[0058] Step 250: Determine the standard time interval based on the current refresh rate of the monitor, the number of target interpolated frames, and the rendering speed of the task executor. Submit the target interpolated frames to the hardware flip task manager according to the standard time interval.
[0059] In one embodiment of this example, submitting the target interpolated frame to the hardware flip task manager at standard time intervals includes: updating the target interpolated frame according to the changed user input parameters after detecting a change in user input parameters; and submitting the original image frame and the updated target interpolated frame to the hardware flip task manager at standard time intervals.
[0060] In one specific embodiment Figure 5 This can be illustrated as a scenario where interpolated frames are submitted based on user input parameters, such as... Figure 5 As shown, the target interpolated frame can be updated according to the changed user input parameters to obtain the updated target interpolated frame. Then, the original image frame and the updated target interpolated frame are combined to generate the final image frame to be displayed, and the final image frame to be displayed is submitted to the hardware flip task manager.
[0061] Step 260: Adjust the number of target interpolated frames using the Hardware Flip Task Manager.
[0062] In this embodiment, the hardware flip task manager can monitor the rendering frame rate in the graphics card kernel in real time and dynamically adjust the number of target interpolated frames based on the rendering frame rate.
[0063] Step 270: Control the display system to display the original image frame and the adjusted target interpolated frame on the monitor.
[0064] The technical solution provided in this invention involves a hardware scheduler receiving screen rendering and screen flipping tasks triggered by an application through user drivers and kernel drivers, respectively. The scheduler then divides these tasks into multiple task groups based on task type. According to the priority, dwell time, and dependencies of each task in each group, target tasks meeting the forced launch conditions are selected from each group and distributed to the corresponding command parsers in the task executors. The command parsers parse the target tasks into multiple operation instructions and send these instructions to the corresponding execution engines, enabling the execution engines to execute the operation instructions. If the target task... For screen flipping tasks, the original image frames are interpolated to obtain target frames based on the execution results of the target task. A standard time interval is determined based on the current refresh rate of the monitor, the number of target frames, and the rendering speed of the task executor. The target frames are submitted to the hardware flipping task manager according to the standard time interval. The number of target frames is adjusted through the hardware flipping task manager. The display control system controls the monitor to display the original image frames and the adjusted target frames. This technique can significantly improve the task execution efficiency of the graphics processor, reduce the load on the central processing unit, improve the problem of stuttering in frame interpolation display, and enhance the smoothness of screen display and the user's viewing experience.
[0065] Figure 6 A schematic diagram of an electronic device 10, which can be used to implement embodiments of the present invention, is shown. The electronic device is intended to represent various forms of digital computers, such as laptop computers, desktop computers, workstations, personal digital assistants, servers, blade servers, mainframe computers, and other suitable computers. The electronic device can also represent various forms of mobile devices, such as personal digital processors, cellular phones, smartphones, wearable devices (e.g., helmets, glasses, watches, etc.), and other similar computing devices. The components shown herein, their connections and relationships, and their functions are merely illustrative and are not intended to limit the implementation of the invention described and / or claimed herein.
[0066] like Figure 6As shown, the electronic device 10 includes at least one graphics processor 11 and a memory, such as read-only memory (ROM) or random access memory (RAM), communicatively connected to the graphics processor 11. The memory stores computer programs executable by the graphics processor 11. The graphics processor 11 can perform various appropriate actions and processes based on the computer program stored in the read-only memory 12 or loaded from the storage unit 18 into the random access memory 13. The random access memory 13 can also store various programs and data required for the operation of the electronic device 10. The graphics processor 11, read-only memory 12, and random access memory 13 are interconnected via a bus 14. Input / output (I / O) interfaces are also connected to the bus 14.
[0067] Multiple components in electronic device 10 are connected to input / output interface 15, including: input unit 16, such as keyboard, mouse, etc.; output unit 17, such as various types of monitors, speakers, etc.; storage unit 18, such as disk, optical disk, etc.; and communication unit 19, such as network card, modem, wireless transceiver, etc. Communication unit 19 allows electronic device 10 to exchange information / data with other devices through computer networks such as the Internet and / or various telecommunications networks. Graphics processor 11 executes the various methods and processes described above, such as frame interpolation display methods.
[0068] In some embodiments, the frame interpolation display method may be implemented as a computer program tangibly contained in a computer-readable storage medium, such as storage unit 18. In some embodiments, part or all of the computer program may be loaded and / or installed on electronic device 10 via read-only memory 12 and / or communication unit 19. When the computer program is loaded into random access memory 13 and executed by graphics processor 11, one or more steps of the frame interpolation display method described above may be performed. Alternatively, in other embodiments, graphics processor 11 may be configured to perform the frame interpolation display method by any other suitable means (e.g., by means of firmware).
[0069] Various embodiments of the systems and techniques described above herein can be implemented in digital electronic circuit systems, integrated circuit systems, field programmable gate arrays (FPGAs), application-specific integrated circuits (ASICs), application-specific standard products (ASSPs), systems-on-chips (SoCs), complex programmable logic devices (CPLDs), computer hardware, firmware, software, and / or combinations thereof. These various embodiments may include implementations in one or more computer programs that can be executed and / or interpreted on a programmable system including at least one programmable processor, which may be a dedicated or general-purpose programmable processor, capable of receiving data and instructions from a storage system, at least one input device, and at least one output device, and transmitting data and instructions to the storage system, the at least one input device, and the at least one output device.
[0070] Computer programs used to implement the methods of the present invention can be written in any combination of one or more programming languages. These computer programs can be provided to the graphics processor of a general-purpose computer, a special-purpose computer, or other programmable data processing device, such that when executed by the graphics processor, the computer programs cause the functions / operations specified in the flowcharts and / or block diagrams to be implemented. The computer programs can be executed entirely on a machine, partially on a machine, as a standalone software package partially on a machine and partially on a remote machine, or entirely on a remote machine or server.
[0071] In the context of this invention, a computer-readable storage medium can be a tangible medium that may contain or store a computer program for use by or in conjunction with a frame interpolation display system, apparatus, or device. A computer-readable storage medium may include, but is not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, apparatus, or devices, or any suitable combination thereof. Alternatively, a computer-readable storage medium may be a machine-readable signal medium. More specific examples of machine-readable storage media include electrical connections based on one or more wires, portable computer disks, hard disks, RAM, ROM, erasable programmable read-only memory (EPROM or flash memory), optical fibers, portable compact disc read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination thereof.
[0072] To provide interaction with a user, the systems and techniques described herein can be implemented on an electronic device having: a display device (e.g., a cathode ray tube (CRT) or a liquid crystal display (LCD)) for displaying information to the user; and a keyboard and pointing device (e.g., a mouse or trackball) through which the user provides input to the electronic device. Other types of devices can also be used to provide interaction with the user; for example, feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user can be received in any form (including sound input, voice input, or tactile input).
[0073] The systems and technologies described herein can be implemented in computing systems that include backend components (e.g., as data servers), or middleware components (e.g., application servers), or frontend components (e.g., user computers with graphical user interfaces or web browsers through which users can interact with implementations of the systems and technologies described herein), or any combination of such backend, middleware, or frontend components. The components of the system can be interconnected via digital data communication of any form or medium (e.g., communication networks). Examples of communication networks include local area networks (LANs), wide area networks (WANs), blockchain networks, and the Internet.
[0074] A computing system can include clients and servers. Clients and servers are generally geographically separated and typically interact via communication networks. The client-server relationship is created by computer programs running on the respective computers and having a client-server relationship with each other. The server can be a cloud server, also known as a cloud computing server or cloud host, which is a hosting product within the cloud computing service system. It addresses the shortcomings of traditional physical hosts and Virtual Private Servers (VPS) in terms of management difficulty and weak business scalability.
[0075] It should be understood that the various forms of processes shown above can be used, with steps reordered, added, or deleted. For example, the steps described in this invention can be executed in parallel, sequentially, or in different orders, as long as the desired result of the technical solution of this invention can be achieved, and this is not limited herein.
[0076] The specific embodiments described above do not constitute a limitation on the scope of protection of this invention. Those skilled in the art should understand that various modifications, combinations, sub-combinations, and substitutions can be made according to design requirements and other factors. Any modifications, equivalent substitutions, and improvements made within the spirit and principles of this invention should be included within the scope of protection of this invention.
Claims
1. A graphics processor, characterized in that, The graphics processor includes a hardware scheduler, a task executor, and a display control system; the display control system includes a hardware flip task manager. The hardware scheduler is used to receive screen rendering tasks and screen flipping tasks triggered by the application through the user driver and kernel driver respectively, filter target tasks that meet the forced launch conditions from all tasks, and distribute the target tasks to the task executor. The task executor is used to execute the target task and feed back the execution result to the hardware scheduler; The hardware scheduler is also used to perform interpolation processing on the original image frame to obtain the target interpolated frame based on the execution result of the task executor for the screen flipping task, and submit the target interpolated frame to the hardware flipping task manager. The hardware flip task manager is used to adjust the number of target interpolated frames based on the running status of screen flipping in the graphics card kernel. The display control system is used to control the display to show the original image frame and the adjusted target interpolated frame.
2. The graphics processor according to claim 1, characterized in that, The hardware scheduler is also used to divide the received multiple screen rendering tasks and screen flipping tasks into multiple task groups according to the task type; the multiple tasks in each task group have a contextual relationship. The hardware scheduler is also used to filter target tasks that meet the forced launch conditions in each task group according to the priority, dwell time and dependency of each task in each task group.
3. The graphics processor according to claim 1, characterized in that, The hardware scheduler is also used to distribute the target task to the corresponding command parser in the task executor; The command parser is used to parse the target task into multiple operation instructions, and send the multiple operation instructions to the corresponding execution engine so that the execution engine executes the operation instructions; The execution engine includes a 3D engine, a computing engine, a video engine, and a copy engine.
4. The graphics processor according to claim 1, characterized in that, The hardware scheduler is also used to determine a standard time interval based on the current refresh rate of the display, the number of target interpolated frames, and the rendering speed of the task executor. The hardware scheduler is also used to submit the target interpolated frame to the hardware flip task manager according to the standard time interval.
5. The graphics processor according to claim 4, characterized in that, The hardware scheduler is further configured to use the graphics processor timestamp as a time reference benchmark, determine the submission time based on the time reference benchmark and the standard time interval, and submit the target interpolated frame to the hardware flip task manager based on the submission time.
6. The graphics processor according to claim 4, characterized in that, The hardware scheduler is also used to update the target interpolated frame according to the changed user input parameters after detecting a change in the user input parameters; The hardware scheduler is also used to submit the original image frame and the updated target interpolated frame to the hardware flip task manager according to the standard time interval.
7. The graphics processor according to claim 1, characterized in that, The hardware flip task manager is also used to monitor the rendering frame rate in the graphics card kernel in real time and dynamically adjust the number of target interpolated frames based on the rendering frame rate.
8. A frame interpolation display method, characterized in that, Applied to the hardware scheduler of claim 1, the method includes: After receiving the screen rendering task and screen flipping task triggered by the application through the user driver and kernel driver respectively, the system filters the target tasks that meet the forced launch conditions from all tasks and distributes the target tasks to the task executor so that the task executor can execute the target tasks. If the target task is a screen flipping task, then according to the execution result of the target task, the original image frame is interpolated to obtain the target interpolated frame, and the target interpolated frame is submitted to the hardware flipping task manager. The number of target interpolated frames can be adjusted using the hardware flip task manager; The display control system controls the monitor to display the original image frame and the adjusted target interpolated frame.
9. The method according to claim 8, characterized in that, Select target missions from all missions that meet the mandatory launch conditions, including: According to the task type, the received multiple screen rendering tasks and screen flipping tasks are divided into multiple task groups; the multiple tasks in each task group have a contextual relationship. Based on the priority, dwell time, and dependencies of each task in each task group, target tasks that meet the mandatory launch conditions are selected from each task group.
10. The method according to claim 8, characterized in that, Distributing the target task to a task executor so that the task executor executes the target task includes: The target task is distributed to the corresponding command parser in the task executor; The command parser parses the target task into multiple operation instructions and sends the multiple operation instructions to the corresponding execution engine so that the execution engine executes the operation instructions; The execution engine includes a 3D engine, a computing engine, a video engine, and a copy engine.
11. The method according to claim 8, characterized in that, Submitting the target frame interpolation to the hardware flip task manager includes: The standard time interval is determined based on the current refresh rate of the display, the number of target interpolated frames, and the rendering speed of the task executor. The target interpolated frame is submitted to the hardware flip task manager according to the standard time interval.
12. The method according to claim 11, characterized in that, According to the aforementioned standard time interval, the target interpolated frame is submitted to the hardware flip task manager, including: After detecting a change in the user input parameters, the target interpolated frame is updated according to the changed user input parameters; The original image frame and the updated target interpolated frame are submitted to the hardware flip task manager at the standard time interval.
13. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores computer instructions that cause the hardware scheduler to execute the frame interpolation display method according to any one of claims 8-12.