CN109726023B - 一种支持多线程多上下文的图形任务同步管理方法 - Google Patents
一种支持多线程多上下文的图形任务同步管理方法 Download PDFInfo
- Publication number
- CN109726023B CN109726023B CN201811520599.6A CN201811520599A CN109726023B CN 109726023 B CN109726023 B CN 109726023B CN 201811520599 A CN201811520599 A CN 201811520599A CN 109726023 B CN109726023 B CN 109726023B
- Authority
- CN
- China
- Prior art keywords
- context
- graph
- contexts
- graphic
- management
- 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.)
- Active
Links
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Image Generation (AREA)
Abstract
本发明属于计算机图形领域,提供一种支持多线程多上下文的图形任务同步管理方法,以此保证图形绘制结果的正确性,提高程序执行效率,包括:(1)图形绘制线程管理;(2)图形上下文管理;(3)公共资源存取;(4)同步管理;(5)当前绘制图形上下文;(6)图形绘制。本发明通过同时接收多个图形绘制线程,同时生成多个图形上下文,根据图形上下文的作用范围和作用结果,对图形上下文进行划分,执行并且帧式切换,达到提高程序执行效率的目的。
Description
技术领域
本发明属于计算机图形领域,尤其涉及一种支持多线程多上下文的图形任务同步管理方法。
背景技术
图形处理器作为可视设备的核心处理单元,具有高实时、高可靠、可视化的特点,未来将大规模的应用于国防事业的各个领域中。本发明提出了一种支持多线程多上下文的图形任务同步管理方法,保证了图形绘制结果的正确性,提高了程序执行效率。
发明内容
本发明的目的是:
本发明主要提供一种支持多线程多上下文的图形任务同步管理方法,以此保证图形绘制结果的正确性,提高程序执行效率。
本发明的解决方案是:
一种支持多线程多上下文的图形任务同步管理方法,包括:
(1)图形绘制线程管理;
接收一个或多个图形绘制任务并起相应的图形绘制线程,同时将不同线程的图形绘制任务按其特征的不同发送给步骤(2)进行上下文记录;
(2)图形上下文管理;
接收步骤(1)的不同绘制线程的图形绘制任务按其特征的不同分为公共资源上下文以及非公共资源上下文,同时将相关的上下文管理信息发送至步骤(3)进行相应的资源存储操作,所有图形绘制任务的公共资源共用一套上下文管理,每个图形绘制线程与一个非公共资源的图形上下文一一对应,不同的图形绘制任务通过步骤(4)进行上下文切换;
(3)公共资源存取;
接收步骤(2)中的公共资源上下文管理的资源配置信息,对公共资源进行相应的存取操作,并将存取的公共资源数据发送至步骤(6)进行图形绘制;
(4)同步管理;
当不同的图形绘制线程间进行切换时实现对不同的图形绘制上下文的同步管理,保证上一图形任务绘制的正确性,同时将下一将要使用的图形上下文发送至步骤(5)为下一图形绘制任务做准备;
(5)当前绘制图形上下文;
接收步骤(4)发送来的图形绘制上下文并覆盖上一次的上下文,当前绘制图形上下文只有唯一一个,不同的上下文间进行切换时通过步骤(4)将要使用的图形上下文复制至当前上下文,并将当前图形上下文发送至步骤(6)进行图形绘制;
(6)图形绘制。
接收步骤(3)的公共资源数据以及步骤(5)的当前图形上下文继续切换后的图形任务的绘制。
步骤(2)的公共资源上下文包括与公共资源相关的上下文管理。
与公共资源相关的上下文管理包括纹理、显示列表、缓冲区对象以及属性堆栈。
步骤(2)的非公共资源上下文包括与非公共资源相关的上下文的记录管理,。
与非公共资源相关的上下文的记录管理包括:求值器、缓冲区、雾。
步骤(3)的公共资源数据包括纹理存储空间、显示列表存储空间、缓冲区对象存储空间以及属性堆栈。
本发明的优点是:本发明提供的一种支持多线程多上下文的图形任务同步管理方法,通过同时接收多个图形绘制线程,同时生成多个图形上下文,根据图形上下文的作用范围和作用结果,对图形上下文进行划分,执行并且帧式切换,达到提高程序执行效率的目的。
附图说明
图1为本发明的方法示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
下面结合附图和具体实施例对本发明的技术方案做进一步详细描述。
如图1所示,一种支持多线程多上下文的图形任务同步管理方法,包括:
(1)图形绘制线程管理;
接收一个或多个图形绘制任务并起相应的图形绘制线程,同时将不同线程的图形绘制任务按其特征的不同发送给步骤(2)进行上下文记录;
(2)图形上下文管理;
接收步骤(1)的不同绘制线程的图形绘制任务按其特征的不同分为公共资源上下文以及非公共资源上下文,公共资源上下文包括与公共资源相关的上下文管理,如纹理、显示列表、缓冲区对象以及属性堆栈;非公共资源上下文包括与非公共资源相关的上下文的记录管理,如求值器、缓冲区、雾。同时将相关的上下文管理信息发送至步骤(3)进行相应的资源存储操作,所有图形绘制任务的公共资源共用一套上下文管理,每个图形绘制线程与一个非公共资源的图形上下文一一对应,不同的图形绘制任务通过步骤(4)进行上下文切换;
(3)公共资源存取;
接收步骤(2)中的公共资源上下文管理的资源配置信息,公共资源数据包括纹理存储空间、显示列表存储空间、缓冲区对象存储空间以及属性堆栈,对公共资源进行相应的存取操作,并将存取的公共资源数据发送至步骤(6)进行图形绘制;
(4)同步管理;
当不同的图形绘制线程间进行切换时实现对不同的图形绘制上下文的同步管理,保证上一图形任务绘制的正确性,同时将下一将要使用的图形上下文发送至步骤(5)为下一图形绘制任务做准备;
(5)当前绘制图形上下文;
接收步骤(4)发送来的图形绘制上下文并覆盖上一次的上下文,当前绘制图形上下文只有唯一一个,不同的上下文间进行切换时通过步骤(4)将要使用的图形上下文复制至当前上下文,并将当前图形上下文发送至步骤(6)进行图形绘制;
(6)图形绘制。
接收步骤(3)的公共资源数据以及步骤(5)的当前图形上下文继续切换后的图形任务的绘制。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细地说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (6)
1.一种支持多线程多上下文的图形任务同步管理方法,其特征在于,包括:
(1)图形绘制线程管理;
接收一个或多个图形绘制任务并起相应的图形绘制线程,同时将不同线程的图形绘制任务按其特征的不同发送给步骤(2)进行上下文记录;
(2)图形上下文管理;
接收步骤(1)的不同绘制线程的图形绘制任务按其特征的不同分为公共资源上下文以及非公共资源上下文,同时将相关的上下文管理信息发送至步骤(3)进行相应的资源存储操作,所有图形绘制任务的公共资源共用一套上下文管理,每个图形绘制线程与一个非公共资源上下文一一对应,不同的图形绘制任务通过步骤(4)进行上下文切换;
(3)公共资源存取;
接收步骤(2)中的公共资源上下文管理的资源配置信息,对公共资源进行相应的存取操作,并将存取的公共资源数据发送至步骤(6)进行图形绘制;
(4)同步管理;
当不同的图形绘制线程间进行切换时实现对不同的图形上下文的同步管理,保证上一图形任务绘制的正确性,同时将下一将要使用的图形上下文发送至步骤(5)为下一图形绘制任务做准备;
(5)当前绘制图形上下文;
接收步骤(4)发送来的图形上下文并覆盖上一次的上下文,当前图形上下文只有唯一一个,不同的上下文间进行切换时通过步骤(4)将要使用的图形上下文复制至当前上下文,并将当前图形上下文发送至步骤(6)进行图形绘制;
(6)图形绘制;
接收步骤(3)的公共资源数据以及步骤(5)的当前图形上下文继续切换后的图形任务的绘制。
2.如权利要求1所述的一种支持多线程多上下文的图形任务同步管理方法,其特征在于,步骤(2)的公共资源上下文包括与公共资源相关的上下文管理。
3.如权利要求2所述的一种支持多线程多上下文的图形任务同步管理方法,其特征在于,与公共资源相关的上下文管理包括纹理、显示列表、缓冲区对象以及属性堆栈。
4.如权利要求1所述的一种支持多线程多上下文的图形任务同步管理方法,其特征在于,步骤(2)的非公共资源上下文包括与非公共资源相关的上下文的记录管理。
5.如权利要求4所述的一种支持多线程多上下文的图形任务同步管理方法,其特征在于,与非公共资源相关的上下文的记录管理包括:求值器、缓冲区、雾。
6.如权利要求1所述的一种支持多线程多上下文的图形任务同步管理方法,其特征在于,步骤(3)的公共资源数据包括纹理存储空间、显示列表存储空间、缓冲区对象存储空间以及属性堆栈。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811520599.6A CN109726023B (zh) | 2018-12-12 | 2018-12-12 | 一种支持多线程多上下文的图形任务同步管理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811520599.6A CN109726023B (zh) | 2018-12-12 | 2018-12-12 | 一种支持多线程多上下文的图形任务同步管理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109726023A CN109726023A (zh) | 2019-05-07 |
CN109726023B true CN109726023B (zh) | 2023-05-23 |
Family
ID=66295247
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811520599.6A Active CN109726023B (zh) | 2018-12-12 | 2018-12-12 | 一种支持多线程多上下文的图形任务同步管理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109726023B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110673918B (zh) * | 2019-09-27 | 2021-10-01 | 北京猎户星空科技有限公司 | 智能设备的控制方法、装置以及智能设备、存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE10353268B3 (de) * | 2003-11-14 | 2005-07-28 | Infineon Technologies Ag | Paralleler Multithread-Prozessor (PMT) mit geteilten Kontexten |
CN1801101A (zh) * | 2006-01-17 | 2006-07-12 | 浙江大学 | Java操作系统中线程的实现和线程状态切换的方法 |
CN101091166A (zh) * | 2004-12-30 | 2007-12-19 | 英特尔公司 | 保存多个执行上下文的方法和装置 |
CN103902369A (zh) * | 2012-12-27 | 2014-07-02 | 辉达公司 | 陷阱处理期间的协作线程阵列的粒度上下文切换 |
CN108009977A (zh) * | 2017-11-10 | 2018-05-08 | 上海华元创信软件有限公司 | 多线程环境下支持多个远程图形终端的方法及系统 |
-
2018
- 2018-12-12 CN CN201811520599.6A patent/CN109726023B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE10353268B3 (de) * | 2003-11-14 | 2005-07-28 | Infineon Technologies Ag | Paralleler Multithread-Prozessor (PMT) mit geteilten Kontexten |
CN101091166A (zh) * | 2004-12-30 | 2007-12-19 | 英特尔公司 | 保存多个执行上下文的方法和装置 |
CN1801101A (zh) * | 2006-01-17 | 2006-07-12 | 浙江大学 | Java操作系统中线程的实现和线程状态切换的方法 |
CN103902369A (zh) * | 2012-12-27 | 2014-07-02 | 辉达公司 | 陷阱处理期间的协作线程阵列的粒度上下文切换 |
CN108009977A (zh) * | 2017-11-10 | 2018-05-08 | 上海华元创信软件有限公司 | 多线程环境下支持多个远程图形终端的方法及系统 |
Non-Patent Citations (3)
Title |
---|
"Context-switching techniques for decoupled multithreaded processors";J. Kreuzinger等;《Proceedings 25th EUROMICRO Conference. Informatics: Theory and Practice for the New Millennium》;20020806;全文 * |
"CUDA到异构众核架构的线程映射模型";余勇等;《计算机工程》;20120505;第38卷(第9期);第282-287页 * |
基于事务存储的事务级线程切换;张铎等;《计算机工程》;20090420(第08期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN109726023A (zh) | 2019-05-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9244802B2 (en) | Resource user interface | |
DE102013017509B4 (de) | Effiziente Speichervirtualisierung in mehrsträngigen Verarbeitungseinheiten | |
US9977619B2 (en) | Transfer descriptor for memory access commands | |
US9424617B2 (en) | Graphics command generation device and graphics command generation method | |
DE102013202173A1 (de) | Einheitliche Lade-Verarbeitung für Teilsätze von parallelen Threads | |
US9038080B2 (en) | Method and system for heterogeneous filtering framework for shared memory data access hazard reports | |
CN106293953B9 (zh) | 一种访问共享显示数据的方法及系统 | |
US11210343B2 (en) | Graph data processing method and apparatus thereof | |
US20220066846A1 (en) | Method for aggregating notification messages, and electronic device | |
US11635904B2 (en) | Matrix storage method, matrix access method, apparatus and electronic device | |
US20230206578A1 (en) | Method for generating virtual character, electronic device and storage medium | |
CN109726023B (zh) | 一种支持多线程多上下文的图形任务同步管理方法 | |
CN110046132B (zh) | 一种元数据请求处理方法、装置、设备及可读存储介质 | |
CN107133072B (zh) | 一种操作执行方法和装置 | |
CN106095417A (zh) | 一种前景应用程序界面刷新同步方法及系统 | |
US11049477B2 (en) | Configuration display apparatus, configuration display method, and recording medium | |
US11347532B2 (en) | Hot-swapping storage pool backend functional modules | |
CN112130977B (zh) | 一种任务调度方法、装置、设备及介质 | |
EP3321793A1 (en) | Method and system for real-time slide displaying of scanned image | |
US20220405135A1 (en) | Scheduling in a container orchestration system utilizing hardware topology hints | |
CN110825477A (zh) | 图形界面的加载方法、装置、设备及存储介质 | |
CN115964084A (zh) | 数据交互方法、电子设备、存储介质 | |
DE102019101853A1 (de) | Dynamische Partitionierung von Ausführungsressourcen | |
CN118332147B (zh) | 多图层图斑数据的差异对比方法、装置及电子设备 | |
CN116991600B (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 |