CN106683033B - 一种乱序OpenGL接口处理方法 - Google Patents

一种乱序OpenGL接口处理方法 Download PDF

Info

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
Application number
CN201611140678.5A
Other languages
English (en)
Other versions
CN106683033A (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.)
Xian Aeronautics Computing Technique Research Institute of AVIC
Original Assignee
Xian Aeronautics Computing Technique Research Institute of AVIC
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 Xian Aeronautics Computing Technique Research Institute of AVIC filed Critical Xian Aeronautics Computing Technique Research Institute of AVIC
Priority to CN201611140678.5A priority Critical patent/CN106683033B/zh
Publication of CN106683033A publication Critical patent/CN106683033A/zh
Application granted granted Critical
Publication of CN106683033B publication Critical patent/CN106683033B/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

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接口处理方法。
背景技术
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接口可只包含影响绘图效果类操作或不影响绘图效果类操作的一种,或者两种都包含;若两种都包含需要顺序处理。
CN201611140678.5A 2016-12-12 2016-12-12 一种乱序OpenGL接口处理方法 Active CN106683033B (zh)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (6)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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