CN111598767A - 基于多核处理器的3d图形加速的方法、系统以及介质 - Google Patents

基于多核处理器的3d图形加速的方法、系统以及介质 Download PDF

Info

Publication number
CN111598767A
CN111598767A CN202010419333.3A CN202010419333A CN111598767A CN 111598767 A CN111598767 A CN 111598767A CN 202010419333 A CN202010419333 A CN 202010419333A CN 111598767 A CN111598767 A CN 111598767A
Authority
CN
China
Prior art keywords
module
processor
graphics
graphic
core
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202010419333.3A
Other languages
English (en)
Other versions
CN111598767B (zh
Inventor
刘旺
王俊红
杨波
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Yinwo Automotive Technology Co ltd
Original Assignee
Beijing Yinwo Automotive Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Yinwo Automotive Technology Co ltd filed Critical Beijing Yinwo Automotive Technology Co ltd
Priority to CN202010419333.3A priority Critical patent/CN111598767B/zh
Priority claimed from CN202010419333.3A external-priority patent/CN111598767B/zh
Publication of CN111598767A publication Critical patent/CN111598767A/zh
Application granted granted Critical
Publication of CN111598767B publication Critical patent/CN111598767B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/04Indexing scheme for image data processing or generation, in general involving 3D image data

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Graphics (AREA)
  • Image Generation (AREA)

Abstract

本发明提供了基于多核处理器的3D图形加速的方法、系统以及介质,多个核心分别处理不同事务,图形加速效果得以提高,包括第一处理器中的图形应用程序通过图形程序接口提交绘图的命令请求;Libdrm库模块允许图形程序接口与DRM模块进行通讯;DRM模块管理、调度命令请求,控制GPU模块进行图形渲染;GPU模块将渲染结果返回给图形应用程序;图形应用程序将图形数据发送给图形服务器;图形服务器将图形数据传给DRM模块中的显示控制器模块;显示控制器模块将图形数据开放给第一处理器的第一核间通信应用;第一核间通信应用将图形数据发送给第二处理器中的第二核间通信应用;第二处理器的显示模块接收来的图形数据并进行显示。

Description

基于多核处理器的3D图形加速的方法、系统以及介质
技术领域
本发明涉及图像处理技术领域,具体涉及基于多核处理器的3D图形加速的方法、系统以及介质。
背景技术
在多媒体如此盛行的今天,人们享受着各种精彩的视觉盛宴,这一切都得益于一项基本技术的发展:图形加速技术。
3D加速技术就是将3D图形处理技术中固定的算法,诸如设定、贴图、光照、渲染等全部交给显卡,用显卡中的电子线路完成这些工作,CPU只用提供这些运算所需要的参数,从而控制固件工作。3D加速技术让CPU进一步从繁重的图形运算中解脱出来,从而提高了处理速度。但是在嵌入式系统中,对于多核处理器,有多个CPU,多个操作系统,相对于单核处理器,有更强大的功能,目前的3D图形加速方案在多核架构中运行时,仍然只调用单核心,效率较低,没有发挥出多核处理器的优势。
发明内容
针对上述问题,本发明提供了基于多核处理器的3D图形加速的方法、系统以及介质,充分利用多核处理器多个核心的优势,多个核心分别处理不同的事务,使得图形加速效果得以提高。
其技术方案是这样的:基于多核处理器的3D图形加速的方法,其特征在于,包括以下步骤:
第一处理器中的图形应用程序通过图形程序接口提交绘图的命令请求;
Libdrm库模块进行封装,允许图形程序接口与DRM模块进行通讯;
DRM模块管理、调度来自图形应用程序的命令请求,控制GPU模块进行图形渲染;
GPU模块进行图形渲染;
所述GPU模块在图形渲染完成后,将渲染结果返回给所述图形应用程序;
所述图形应用程序将待显示的图形数据发送给Wayland compositor图形服务器;
Wayland compositor图形服务器将图形数据传给DRM模块中的显示控制器模块;
显示控制器模块将图形数据开放给第一处理器的第一核间通信应用;
第一核间通信应用将图形数据发送给第二处理器中的第二核间通信应用;
第二处理器的显示模块接收来自第二核间通信应用的图形数据并进行显示。
进一步的,所述DRM模块通过虚拟渲染设备接口与所述GPU模块进行通讯,所述Wayland compositor图形服务器通过虚拟显示设备接口将的图形数据传给DRM模块中的显示控制器模块,所述DRM模块中的显示控制器模块通过虚拟数据帧接口将图形数据开放给第一处理器的核间通信应用。
进一步的,所述第二处理器的显示模块采用SYS/BIOS内核上的用户应用,用于控制硬件进行显示。
进一步的,所述第一处理器为搭载SYS/BIOS系统的Cortex-M4芯片,所述第二处理器为搭载Linux系统的ARM芯片。
基于多核处理器的3D图形加速的系统,其特征在于,包括通讯连接的第一处理器、GPU模块和第二处理器;
GPU模块,用于进行图形渲染;
所述第一处理器包括:
图形应用程序,用于输入绘图的命令请求;
图形程序接口,用于将来自所述图形应用程序的命令请求抽象成指令;
Libdrm库模块,用于允许所述图形程序接口与DRM模块进行通讯;
DRM模块,用于管理、调度图形应用程序向GPU模块发送的命令请求,控制所述GPU模块进行图形渲染,并将渲染结果返回给图形应用程序;
Wayland compositor图形服务器,用于接收来自所述图形应用程序的待显示的图形数据,并将图形数据传递给DRM模块的显示控制器模块;
第一核间通讯应用,用于监控所述DRM模块的显示控制器模块中的图形数据,并将图形数据传输给第二处理器;
所述第二处理器包括:
第二核间通讯应用,用于与第一核间通讯应用通讯,接收图形数据并将图形数据发送给显示模块;
显示模块,用于接收来自第二核间通信应用的图形数据并进行显示。
进一步的,所述DRM模块通过虚拟渲染设备接口与所述GPU模块进行通讯,所述Wayland compositor图形服务器通过虚拟显示设备接口将的图形数据传给DRM模块中的显示控制器模块,所述DRM模块中的显示控制器模块通过虚拟数据帧接口将图形数据开放给第一处理器的核间通信应用。
进一步的,所述第二处理器的显示模块采用SYS/BIOS内核上的用户应用,用于控制硬件进行显示。
进一步的,所述第一处理器为搭载Linux系统的ARM芯片,所述第二处理器为搭载SYS/BIOS系统的Cortex-M4芯片。
进一步的,使用的图形程序接口包括OpenGL|ES、EGL接口。
一种计算机存储介质,其上存储有程序,其特征在于:所述程序被处理器执行时实现如上述的基于多核处理器的3D图形加速的方法。
本发明具有以下优点:在满足3D图像加速的条件下,充分利用了嵌入式系统的多核的优点,充分利用各个核心,ARM核负责图形应用的运行,GPU负责图像的渲染,Cortex-M4核负责图像的显示,采用本发明的基于多核处理器的3D图形加速的方法,每个处理器得到了充分的利用,3D图像加速的应用开发也没有变的更加复杂,开发难度和之前保值一致,大大的提高了整体的性能。
附图说明
图1为本发明的基于多核处理器的3D图形加速的方法的流程示意图;
图2为本法的基于多核处理器的3D图形加速的系统的组成框图。
具体实施方式
见图1,基于多核处理器的3D图形加速的方法,包括以下步骤:
第一处理器中的图形应用程序通过图形程序接口提交绘图的命令请求;
Libdrm库模块进行封装,允许图形程序接口与DRM模块进行通讯;
DRM模块管理、调度来自图形应用程序的命令请求,控制GPU模块进行图形渲染;
GPU模块进行图形渲染;
GPU模块在图形渲染完成后,将渲染结果返回给图形应用程序;
图形应用程序将待显示的图形数据发送给Wayland compositor图形服务器;
Wayland compositor图形服务器将图形数据传给DRM模块中的显示控制器模块;
显示控制器模块将图形数据开放给第一处理器的第一核间通信应用;
第一核间通信应用将图形数据发送给第二处理器中的第二核间通信应用;
第二处理器的显示模块接收来自第二核间通信应用的图形数据并进行显示。
进一步的,DRM模块通过虚拟渲染设备接口与GPU模块进行通讯,Waylandcompositor图形服务器通过虚拟显示设备接口将的图形数据传给DRM模块中的显示控制器模块,DRM模块中的显示控制器模块通过虚拟数据帧接口将图形数据开放给第一处理器的核间通信应用。
进一步的,第二处理器的显示模块采用SYS/BIOS内核上的用户应用,用于控制硬件进行显示。
进一步的,第一处理器为搭载SYS/BIOS系统的Cortex-M4芯片,第二处理器为搭载Linux系统的ARM芯片。
见图2,本发明提供了一种基于多核处理器的3D图形加速的系统,包括通讯连接的第一处理器1、GPU模块2和第二处理器3,在本实施例中,第一处理器1为搭载Linux系统的ARM芯片,第二处理器3为搭载SYS/BIOS系统的Cortex-M4芯片,;
GPU模块2,用于进行图形渲染;
第一处理器1包括:
图形应用程序101,用于输入绘图的命令请求;
图形程序接口102,用于将来自图形应用程序101的命令请求抽象成指令;
Libdrm库模块103,用于允许图形程序接口102与DRM模块104进行通讯;
DRM模块104,用于管理、调度图形应用程序101向GPU模块2发送的命令请求,控制GPU模块2进行图形渲染,并将渲染结果返回给图形应用程序101,具体的,DRM模块104通过虚拟渲染设备接口与GPU模块2进行通讯;
Wayland compositor图形服务器105,用于接收来自图形应用程序101的待显示的图形数据,并将图形数据传递给DRM模块的显示控制器模块,Wayland compositor图形服务器通过虚拟显示设备接口将的图形数据传给DRM模块中的显示控制器模块,DRM模块中的显示控制器模块通过虚拟数据帧接口将图形数据开放给第一处理器的核间通信应用;
第一核间通讯应用106,用于监控DRM模块的显示控制器模块中的图形数据,并将图形数据传输给第二处理器;
第二处理器3包括:
第二核间通讯应用301,用于与第一核间通讯应用106通讯,接收图形数据并将图形数据发送给显示模块302;
显示模块302,用于接收来自第二核间通信应用301的图形数据并进行显示,具体的,第二处理器的显示模块采用SYS/BIOS内核上的用户应用,用于控制硬件进行显示,包括屏幕分辨率、颜色深度、屏幕刷新率参数的控制。
在本实施例中,使用的图形程序接口包括OpenGL|ES、EGL接口。
在本实施例中,Linux操作系统,是指大多数操作系统的核心部分。它由操作系统中用于管理存储器、文件、外设和系统资源的那些部分组成。操作系统内核通常运行进程,并提供进程间的通信。
SYS/BIOS内核,是一个可扩展的实时内核(或者说是操作系统),其提供了许多模块化的APIs(应用程序接口),支持抢占式多线程,硬件抽象,实时分析和配置工具,其设计目的是为了最大限度地减少对内存和CPU的要求。其拥有很多实时嵌入式操作系统的功能,如任务的调度,任务间的同步和通信,内存管理,实时时钟管理,中断服务管理等。
Wayland compositor图形服务器,是一套display server(Wayland compositor)与client间的通信协议,它们定位于在Linux上替换X图形系统。X图形系统经历了30年左右的发展,其设计在今天看来已略显陈旧。在X系统中,X Server作为中心服务,连接client和硬件以及Wayland compositor。但时至今日,原本在X Server中做的事很多已被移到kernel或者单独的库中,因此X Server就显得比较累赘了。Wayland compositor在架构上去掉了这个中间层,将Wayland compositor作为display server,使client与Waylandcompositor直接通信,从而在灵活性和性能等方面上能够比前辈更加出色。
DRM模块,DRM(Direct Render Manager)是linux下的图形渲染架构。
GPU,图形处理器(英语:Graphics Processing Unit,缩写:GPU),又称显示核心、视觉处理器、显示芯片,是一种专门在个人电脑、工作站、游戏机和一些移动设备(如平板电脑、智能手机等)上做图像和图形相关运算工作的微处理器,主要用于图像的渲染。
本发明具有以下优点:在满足3D图像加速的条件下,充分利用了嵌入式系统的多核的优点,充分利用各个核心,ARM核负责图形应用的运行,GPU负责图像的渲染,Cortex-M4核负责图像的显示,采用本发明的基于多核处理器的3D图形加速的方法,每个处理器得到了充分的利用,3D图像加速的应用开发也没有变的更加复杂,开发难度和之前保值一致,大大的提高了整体的性能。
在本发明的实施例中,还提供了一种计算机存储介质,其上存储有程序,程序被处理器执行时实现如上述的基于多核处理器的3D图形加速的方法。
在本申请基于多核处理器的3D图形加速的方法、多核处理器的3D图形加速的系统及计算机存储介质的实施例中,包含了上述多核处理器的3D图形加速的方法的实施例的全部技术特征,说明书拓展和解释内容与上述多核处理器的3D图形加速的方法各实施例基本相同,在此不做赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台移动终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本申请各个实施例所述的方法。
计算机存储介质可以是诸如闪存、EEPROM(电可擦除可编程只读存储器)、EPROM、硬盘或者ROM之类的电子存储器。可选地,计算机存储介质包括非易失性计算机可读介质(non-transitory computer-readable storage medium)。计算机存储介质具有执行上述方法中的任何方法步骤的程序代码的存储空间。这些程序代码可以从一个或者多个计算机程序产品中读出或者写入到这一个或者多个计算机程序产品中。程序代码可以例如以适当形式进行压缩。
以上仅为本申请的优选实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。

Claims (10)

1.基于多核处理器的3D图形加速的方法,其特征在于,包括以下步骤:
第一处理器中的图形应用程序通过图形程序接口提交绘图的命令请求;
Libdrm库模块进行封装,允许图形程序接口与DRM模块进行通讯;
DRM模块管理、调度来自图形应用程序的命令请求,控制GPU模块进行图形渲染;
GPU模块进行图形渲染;
所述GPU模块在图形渲染完成后,将渲染结果返回给所述图形应用程序;
所述图形应用程序将待显示的图形数据发送给Wayland compositor图形服务器;
Wayland compositor图形服务器将图形数据传给DRM模块中的显示控制器模块;
显示控制器模块将图形数据开放给第一处理器的第一核间通信应用;
第一核间通信应用将图形数据发送给第二处理器中的第二核间通信应用;
第二处理器的显示模块接收来自第二核间通信应用的图形数据并进行显示。
2.根据权利要求1所述的基于多核处理器的3D图形加速的方法,其特征在于:所述DRM模块通过虚拟渲染设备接口与所述GPU模块进行通讯,所述Wayland compositor图形服务器通过虚拟显示设备接口将的图形数据传给DRM模块中的显示控制器模块,所述DRM模块中的显示控制器模块通过虚拟数据帧接口将图形数据开放给第一处理器的核间通信应用。
3.根据权利要求1所述的基于多核处理器的3D图形加速的方法,其特征在于:所述第二处理器的显示模块采用SYS/BIOS内核上的用户应用,用于控制硬件进行显示。
4.根据权利要求3所述的基于多核处理器的3D图形加速的方法,其特征在于:所述第一处理器为搭载SYS/BIOS系统的Cortex-M4芯片,所述第二处理器为搭载Linux系统的ARM芯片。
5.基于多核处理器的3D图形加速的系统,其特征在于,包括通讯连接的第一处理器、GPU模块和第二处理器;
GPU模块,用于进行图形渲染;
所述第一处理器包括:
图形应用程序,用于输入绘图的命令请求;
图形程序接口,用于将来自所述图形应用程序的命令请求抽象成指令;
Libdrm库模块,用于允许所述图形程序接口与DRM模块进行通讯;
DRM模块,用于管理、调度图形应用程序向GPU模块发送的命令请求,控制所述GPU模块进行图形渲染,并将渲染结果返回给图形应用程序;
Wayland compositor图形服务器,用于接收来自所述图形应用程序的待显示的图形数据,并将图形数据传递给DRM模块的显示控制器模块;
第一核间通讯应用,用于监控所述DRM模块的显示控制器模块中的图形数据,并将图形数据传输给第二处理器;
所述第二处理器包括:
第二核间通讯应用,用于与第一核间通讯应用通讯,接收图形数据并将图形数据发送给显示模块;
显示模块,用于接收来自第二核间通信应用的图形数据并进行显示。
6.根据权利要求5所述的基于多核处理器的3D图形加速的系统,其特征在于:所述DRM模块通过虚拟渲染设备接口与所述GPU模块进行通讯,所述Wayland compositor图形服务器通过虚拟显示设备接口将的图形数据传给DRM模块中的显示控制器模块,所述DRM模块中的显示控制器模块通过虚拟数据帧接口将图形数据开放给第一处理器的核间通信应用。
7.根据权利要求5所述的基于多核处理器的3D图形加速的系统,其特征在于:所述第二处理器的显示模块采用SYS/BIOS内核上的用户应用,用于控制硬件进行显示。
8.根据权利要求7所述的基于多核处理器的3D图形加速的系统,其特征在于:所述第一处理器为搭载Linux系统的ARM芯片,所述第二处理器为搭载SYS/BIOS系统的Cortex-M4芯片。
9.根据权利要求5所述的基于多核处理器的3D图形加速的系统,其特征在于:图形程序接口包括OpenGL|ES、EGL接口。
10.一种计算机存储介质,其上存储有程序,其特征在于:所述程序被处理器执行时实现如权利要求1所述的基于多核处理器的3D图形加速的方法。
CN202010419333.3A 2020-05-18 基于多核处理器的3d图形加速的方法、系统以及介质 Active CN111598767B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010419333.3A CN111598767B (zh) 2020-05-18 基于多核处理器的3d图形加速的方法、系统以及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010419333.3A CN111598767B (zh) 2020-05-18 基于多核处理器的3d图形加速的方法、系统以及介质

Publications (2)

Publication Number Publication Date
CN111598767A true CN111598767A (zh) 2020-08-28
CN111598767B CN111598767B (zh) 2024-01-12

Family

ID=

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112860364A (zh) * 2021-02-07 2021-05-28 麒麟软件有限公司 一种基于Linux内核的Android图形显示方法
CN115665342A (zh) * 2022-09-09 2023-01-31 维沃移动通信有限公司 图像处理方法、图像处理电路、电子设备和可读存储介质

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112860364A (zh) * 2021-02-07 2021-05-28 麒麟软件有限公司 一种基于Linux内核的Android图形显示方法
CN115665342A (zh) * 2022-09-09 2023-01-31 维沃移动通信有限公司 图像处理方法、图像处理电路、电子设备和可读存储介质
CN115665342B (zh) * 2022-09-09 2024-03-05 维沃移动通信有限公司 图像处理方法、图像处理电路、电子设备和可读存储介质

Similar Documents

Publication Publication Date Title
RU2595909C2 (ru) Способ и аппарат для отображения образа прикладного объекта
EP2756481B1 (en) System and method for layering using tile-based renderers
TWI696952B (zh) 資源處理方法及裝置
US9026745B2 (en) Cross process memory management
CN107292807B (zh) 一种图形合成方法、窗口设置方法及系统
WO2021013019A1 (zh) 一种图片处理方法及装置
US7876328B2 (en) Managing multiple contexts in a decentralized graphics processing unit
US20230360321A1 (en) Shader binding management in ray tracing
US6177944B1 (en) Two phase rendering for computer graphics
US11908039B2 (en) Graphics rendering method and apparatus, and computer-readable storage medium
US8907979B2 (en) Fast rendering of knockout groups using a depth buffer of a graphics processing unit
CN114741044A (zh) 一种基于异构渲染的跨运行环境显示输出共享方法
WO2018103022A1 (zh) 帧缓存实现方法、装置、电子设备和计算机程序产品
CN116821040B (zh) 基于gpu直接存储器访问的显示加速方法、装置及介质
TW315449B (en) Graphics system
CN107003908B (zh) 低延时墨渲染管线
CN117058288A (zh) 图形处理器及方法、多核图形处理系统、电子装置及设备
US10733687B2 (en) Method and apparatus for data communication in virtualized environment, and processor
CN111598767B (zh) 基于多核处理器的3d图形加速的方法、系统以及介质
CN111598767A (zh) 基于多核处理器的3d图形加速的方法、系统以及介质
CN108460718B (zh) 基于低功耗飞腾的三维图形显示系统优化方法及装置
KR20100037721A (ko) 윈도우 시스템을 구현한 그래픽 처리 방법 및 그 장치
CN114998089A (zh) 计算系统和操作计算系统的方法
US10678553B2 (en) Pro-active GPU hardware bootup
CN112068908B (zh) 图形处理方法及相关装置和设备

Legal Events

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