CN106683033B - 一种乱序OpenGL接口处理方法 - Google Patents
一种乱序OpenGL接口处理方法 Download PDFInfo
- Publication number
- CN106683033B CN106683033B CN201611140678.5A CN201611140678A CN106683033B CN 106683033 B CN106683033 B CN 106683033B CN 201611140678 A CN201611140678 A CN 201611140678A CN 106683033 B CN106683033 B CN 106683033B
- Authority
- CN
- China
- Prior art keywords
- drawing effect
- instructions
- executed
- opengl
- affect
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/20—Processor architectures; Processor configuration, e.g. pipelining
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Image Generation (AREA)
Abstract
本发明属于计算机图形领域,尤其涉及一种乱序OpenGL接口处理方法,包括:OpenGL接口执行时分为影响绘图效果类操作和不影响绘图效果类操作;将影响绘图效果类操作生成的图形指令和不影响绘图效果类操作生成的图形指令发送给同步管理/性能决策;不影响绘图类的操作生成的图形指令经过同步管理/性能决策单元,将最终的设置参数放入顺序执行缓冲;将能够提前执行的数据搬运操作指令立即执行;影响绘图类的操作生成的图形指令经过同步管理/性能决策单元,将在当前视口范围内需要绘制的图元绘制指令、像素操作指令放入顺序执行缓冲。本方法将OpenGL接口分类处理,在不影响OpenGL接口执行功能的情况下乱序执行,提高OpenGL处理性能。
Description
技术领域
本发明属于计算机图形学领域,尤其涉及一种乱序OpenGL接口处理方法。
背景技术
OpenGL接口规定了API接口定义及图形功能处理过程,但未规定其实现形式,目前公开资料中,OpenGL接口实现以顺序的ringbuffer存储图形指令形式实现,无乱序操作的相关研究。
发明内容
本发明的目的是:
本发明主要提供一种乱序OpenGL接口处理方法,通过调整OpenGL API所包含操作的运行顺序,提高处理性能。
本发明的解决方案是:
一种乱序OpenGL接口处理方法,包括:
步骤1:OpenGL接口执行时分为影响绘图效果类操作和不影响绘图效果类操作;
其中,影响绘图效果类操作指执行该操作后会导致帧缓冲中的绘图效果;
不影响绘图效果类操作指执行该操作不后会导致帧缓冲中的绘图效果;
步骤2:将影响绘图效果类操作生成的图形指令和不影响绘图效果类操作生成的图形指令发送给同步管理/性能决策;
步骤3:不影响绘图类的操作生成的图形指令包括当前运行状态设置指令、属性设置指令和数据搬运操作指令,经过同步管理/性能决策单元,将根据当前运行状态设置指令、属性设置指令多次设置的同一属性参数按照最终的设置参数放入顺序执行缓冲;将能够提前执行的数据搬运操作指令立即执行,与图形命令处理并行操作,加速数据处理;
影响绘图类的操作生成的图形指令包括图元绘制指令、像素操作指令,经过同步管理/性能决策单元,将在当前视口范围内需要绘制的图元绘制指令、像素操作指令放入顺序执行缓冲。
一个OpenGL接口可只包含影响绘图效果类操作或不影响绘图效果类操作的一种,或者两种都包含;若两种都包含需要顺序处理。
本发明的优点是:本发明提供的一种染色器驱动运行时重构方法,通过搜集染色器应用运行时所包含的染色器属性信息、染色器处理数据信息、染色器运行管理信息、染色器驱动软件,然后本次染色器运行有针对的优化染色器驱动软件,使得染色器应用在保证功能正确的情况下高性能的运行。
附图说明
图1为本发明的方法模块图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
下面结合附图和具体实施例对本发明的技术方案做进一步详细描述。
如图1所示,本发明实施例的一种乱序OpenGL接口处理方法,包括:
步骤1:OpenGL接口执行时分为影响绘图效果类操作和不影响绘图效果类操作;
其中,影响绘图效果类操作指执行该操作后会导致帧缓冲中的绘图效果;
不影响绘图效果类操作指执行该操作不后会导致帧缓冲中的绘图效果;
步骤2:将影响绘图效果类操作生成的图形指令和不影响绘图效果类操作生成的图形指令发送给同步管理/性能决策;
步骤3:不影响绘图类的操作生成的图形指令包括当前运行状态设置指令、属性设置指令和数据搬运操作指令,经过同步管理/性能决策单元,将根据当前运行状态设置指令、属性设置指令多次设置的同一属性参数按照最终的设置参数放入顺序执行缓冲;将能够提前执行的数据搬运操作指令立即执行,与图形命令处理并行操作,加速数据处理;
影响绘图类的操作生成的图形指令包括图元绘制指令、像素操作指令,经过同步管理/性能决策单元,将在当前视口范围内需要绘制的图元绘制指令、像素操作指令放入顺序执行缓冲。
一个OpenGL接口可只包含影响绘图效果类操作或不影响绘图效果类操作的一种,或者两种都包含;若两种都包含需要顺序处理。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细地说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (2)
1.一种乱序OpenGL接口处理方法,其特征在于,包括:
步骤1:OpenGL接口执行时分为影响绘图效果类操作和不影响绘图效果类操作;
其中,影响绘图效果类操作指执行该操作后会导致帧缓冲中的绘图效果;
不影响绘图效果类操作指执行该操作不后会导致帧缓冲中的绘图效果;
步骤2:将影响绘图效果类操作生成的图形指令和不影响绘图效果类操作生成的图形指令发送给同步管理/性能决策;
步骤3:不影响绘图类的操作生成的图形指令包括当前运行状态设置指令、属性设置指令和数据搬运操作指令,经过同步管理/性能决策单元,将根据当前运行状态设置指令、属性设置指令多次设置的同一属性参数按照最终的设置参数放入顺序执行缓冲;将能够提前执行的数据搬运操作指令立即执行,与图形命令处理并行操作,加速数据处理;
影响绘图类的操作生成的图形指令包括图元绘制指令、像素操作指令,经过同步管理/性能决策单元,将在当前视口范围内需要绘制的图元绘制指令、像素操作指令放入顺序执行缓冲。
2.如权利要求1所述的一种乱序OpenGL接口处理方法,其特征在于,
一个OpenGL接口可只包含影响绘图效果类操作或不影响绘图效果类操作的一种,或者两种都包含;若两种都包含需要顺序处理。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611140678.5A CN106683033B (zh) | 2016-12-12 | 2016-12-12 | 一种乱序OpenGL接口处理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611140678.5A CN106683033B (zh) | 2016-12-12 | 2016-12-12 | 一种乱序OpenGL接口处理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106683033A CN106683033A (zh) | 2017-05-17 |
CN106683033B true CN106683033B (zh) | 2020-09-22 |
Family
ID=58868072
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611140678.5A Active CN106683033B (zh) | 2016-12-12 | 2016-12-12 | 一种乱序OpenGL接口处理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106683033B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107945099B (zh) * | 2017-11-24 | 2021-06-01 | 中国航空工业集团公司西安航空计算技术研究所 | 一种面向OpenGL实现的属性配置优化方法 |
CN108121566A (zh) * | 2017-12-06 | 2018-06-05 | 中国航空工业集团公司西安航空计算技术研究所 | 一种图形指令解析设计方法 |
CN112579409B (zh) * | 2020-12-05 | 2024-06-04 | 西安翔腾微电子科技有限公司 | 一种OpenGL图形任务分析方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6362825B1 (en) * | 1999-01-19 | 2002-03-26 | Hewlett-Packard Company | Real-time combination of adjacent identical primitive data sets in a graphics call sequence |
WO2008049110A3 (en) * | 2006-10-19 | 2008-07-17 | Qualcomm Inc | Programmable blending in a graphics processing unit |
CN101447091A (zh) * | 2006-12-04 | 2009-06-03 | Arm挪威股份有限公司 | 用于处理图形的设备及其方法 |
CN104503950A (zh) * | 2014-12-09 | 2015-04-08 | 中国航空工业集团公司第六三一研究所 | 一种面向OpenGL API的图形处理器 |
CN105573752A (zh) * | 2015-12-11 | 2016-05-11 | 中国航空工业集团公司西安航空计算技术研究所 | 一种基于OpenGL的MiniGUI窗口系统支持方法 |
CN105630441A (zh) * | 2015-12-11 | 2016-06-01 | 中国航空工业集团公司西安航空计算技术研究所 | 一种基于统一染色技术的gpu体系架构 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10255075B2 (en) * | 2013-07-18 | 2019-04-09 | Nvidia Corporation | System, method, and computer program product for managing out-of-order execution of program instructions |
-
2016
- 2016-12-12 CN CN201611140678.5A patent/CN106683033B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6362825B1 (en) * | 1999-01-19 | 2002-03-26 | Hewlett-Packard Company | Real-time combination of adjacent identical primitive data sets in a graphics call sequence |
WO2008049110A3 (en) * | 2006-10-19 | 2008-07-17 | Qualcomm Inc | Programmable blending in a graphics processing unit |
CN101447091A (zh) * | 2006-12-04 | 2009-06-03 | Arm挪威股份有限公司 | 用于处理图形的设备及其方法 |
CN104503950A (zh) * | 2014-12-09 | 2015-04-08 | 中国航空工业集团公司第六三一研究所 | 一种面向OpenGL API的图形处理器 |
CN105573752A (zh) * | 2015-12-11 | 2016-05-11 | 中国航空工业集团公司西安航空计算技术研究所 | 一种基于OpenGL的MiniGUI窗口系统支持方法 |
CN105630441A (zh) * | 2015-12-11 | 2016-06-01 | 中国航空工业集团公司西安航空计算技术研究所 | 一种基于统一染色技术的gpu体系架构 |
Non-Patent Citations (1)
Title |
---|
图形处理显示列表的设计与实现;刘晖等;《计算机技术与发展》;20160322;第26卷(第4期);第119-122页 * |
Also Published As
Publication number | Publication date |
---|---|
CN106683033A (zh) | 2017-05-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11249811B2 (en) | Method, apparatus, and computer program product for processing computing task | |
CN106683033B (zh) | 一种乱序OpenGL接口处理方法 | |
US10824537B2 (en) | Method, device, and computer readable medium for tracing computing system | |
CN106340055A (zh) | 一种基于多线程的OpenGL快速绘制方法 | |
CN107945099B (zh) | 一种面向OpenGL实现的属性配置优化方法 | |
CN109213607B (zh) | 一种多线程渲染的方法和装置 | |
CN109981715B (zh) | 一种会话管理的方法及装置 | |
CN103677870A (zh) | 系统升级方法及采用该方法升级的系统 | |
JP2015125509A (ja) | 画像処理装置、画像処理方法およびプログラム | |
CN115150471A (zh) | 数据处理方法、装置、设备、存储介质及程序产品 | |
CN108519894B (zh) | 一种音乐盒加载初始化的方法 | |
US20200013137A1 (en) | Fixed-stride draw tables for tiled rendering | |
CN106648335A (zh) | 一种二级联动菜单的创建方法及装置 | |
US20200371854A1 (en) | Method, device and computer program product for optimizing remote call | |
CN103019865B (zh) | 虚拟机监控方法和系统 | |
CN107025105B (zh) | 代码生成方法及装置 | |
EP4073639A1 (en) | Gpu packet aggregation system | |
CN106708472A (zh) | 一种非阻塞图形命令处理方法 | |
WO2024040844A1 (zh) | 模型调试方法、装置、电子设备及存储介质 | |
CN116866661A (zh) | 一种视频预渲染方法、装置、设备及存储介质 | |
CN106709861B (zh) | 一种染色器驱动静态重构方法 | |
CN107622063B (zh) | 一种避免白页的页面切换方法和装置 | |
US9905038B2 (en) | Customizable state machine for visual effect insertion | |
CN114445682A (zh) | 训练模型的方法、装置、电子设备、存储介质及产品 | |
CN106708594B (zh) | 一种层次化OpenGL运行时编译软件实现方法 |
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 |