一种帧、页同步的GPU图形指令缓冲同步方法技术

技术编号:17704596 阅读:51 留言:0更新日期:2018-04-14 17:40
本发明专利技术属于计算机应用领域,涉及一种帧、页同步的GPU图形指令缓冲同步方法。本发明专利技术的实现依赖于以下模块:图形API指令处理接口(1)、页管理(2)、ringbuffer管理(3)、ringbuffer IO控制(4)。本发明专利技术通过构建Ringbuffer页式管理和虚拟IO管理的方法,提高GPU图形指令生成与图形指令处理之间的同步粒度,且减少图形API执行过程中的IO操作,提升图形操作执行效率。

【技术实现步骤摘要】
一种帧、页同步的GPU图形指令缓冲同步方法
本专利技术属于软件设计领域,涉及一种帧、页同步的GPU图形指令缓冲同步方法。
技术介绍
OpenGL、DirectX图形接口标准定义的图形指令同步方式都是强制图形指令执行的帧同步方式,但帧同步方式将图形指令执行与图形指令处理串行执行,影响绘图效率。公开的资料中未发现有关帧、页同步的GPU图形指令缓冲同步方法。
技术实现思路
本专利技术的目的是:为了解决现有技术中的问题,本专利技术通过构建页式管理和ringbuffer虚拟IO管理方法,提高GPU图形指令生成与图形指令处理之间的同步粒度,且减少图形API执行过程中的IO操作,提升图形操作执行效率。本专利技术的技术方案是:一种帧、页同步的GPU图形指令缓冲同步方法,所述方法的实现依赖于以下模块:图形API指令处理接口模块(1)、页管理模块(2)、ringbuffer管理模块(3)、ringbufferIO控制模块(4);所述图形API指令处理接口模块(1),接收图形应用程序,转化为直接帧同步操作和指令存储操作,将帧同步操作发送给ringbuffer管理模块(3)处理,将指令存储操作发送给页管理模块(2)。所述页管理模块(2),接收图形API指令处理接口模块(1)的指令存储操作请求,根据当前页空闲空间大小处理指令存储操作,若当前页空闲空间大小满足当前指令的存储需求,向ringbuffer管理模块(3)发送写指针请求;若当前页空闲空间大小不满足当前指令的存储需求,则将页同步操作发送给ringbuffer管理模块(3);所述ringbuffer管理模块(3),包含写指针操作和空闲空间管理;写指针操作是更新ringbuffer写指针地址,空闲空间管理是更新空闲空间大小;写指针在接收到图形API指令处理接口模块(1)的帧同步操作请求或接收到页管理模块(2)的写指针请求,将指针更新到ringbufferIO控制模块(4);空闲空间管理在接收到页管理模块(2)的页同步操作请求,根据当前空闲空间大小处理页同步操作,若当前空闲空间大小能够分出新的页空间,则页同步成功并将页空闲空间大小反馈给页管理模块(2),否则页同步失败,向ringbufferIO控制模块(4)发送IO操作请求;所述ringbufferIO控制模块(4),包含读指针、写指针、ringbuffer大小、数据传输启动控制。a)读指针:表示当前ringbuffer数据搬移到的地址或地址标记;b)写指针:表示当前ringbuffer数据存储的地址或者地址标记;c)ringbuffer大小:ringbuffer空间总大小;d)数据传输启动:用于控制ringbuffer中当前存储数据的搬移,可被动启动搬移,也可自动启动搬移;自动启动搬移可由一定的触发条件触发,触发条件可以是容量信息、时间信息等。本专利技术的优点是:本专利技术提供了一种帧、页同步的GPU图形指令缓冲同步方法,通过构建页式管理和ringbuffer管理方法,减少图形API执行过程中频繁的IO操作,提升图形操作映射效率,降低GPU主机接口通信仲裁开销,提高带宽利用率,图形API执行效率大幅度上升。附图说明图1为一种帧、页同步的GPU图形指令缓冲同步方法;图2为本专利技术中具体帧、页同步的GPU图形指令缓冲实施方式。具体实施方式下面结合附图和实施例对本专利技术做进一步的说明:参见图1,一种帧、页同步的GPU图形指令缓冲同步方法,所述方法的实现依赖于以下模块:图形API指令处理接口模块(1)、页管理模块(2)、ringbuffer管理模块(3)、ringbufferIO控制模块(4);所述图形API指令处理接口模块(1),接收图形应用程序,转化为直接帧同步操作和指令存储操作,将帧同步操作发送给ringbuffer管理模块(3)处理,将指令存储操作发送给页管理模块(2)。所述页管理模块(2),接收图形API指令处理接口模块(1)的指令存储操作请求,根据当前页空闲空间大小处理指令存储操作,若当前页空闲空间大小满足当前指令的存储需求,向ringbuffer管理模块(3)发送写指针请求;若当前页空闲空间大小不满足当前指令的存储需求,则将页同步操作发送给ringbuffer管理模块(3);所述ringbuffer管理模块(3),包含写指针操作和空闲空间管理;写指针操作是更新ringbuffer写指针地址,空闲空间管理是更新空闲空间大小;写指针在接收到图形API指令处理接口模块(1)的帧同步操作请求或接收到页管理模块(2)的写指针请求,将指针更新到ringbufferIO控制模块(4);空闲空间管理在接收到页管理模块(2)的页同步操作请求,根据当前空闲空间大小处理页同步操作,若当前空闲空间大小能够分出新的页空间,则页同步成功并将页空闲空间大小反馈给页管理模块(2),否则页同步失败,向ringbufferIO控制模块(4)发送IO操作请求;所述ringbufferIO控制模块(4),包含读指针、写指针、ringbuffer大小、数据传输启动控制。a)读指针:表示当前ringbuffer数据搬移到的地址或地址标记;b)写指针:表示当前ringbuffer数据存储的地址或者地址标记;c)ringbuffer大小:ringbuffer空间总大小;d)数据传输启动:用于控制ringbuffer中当前存储数据的搬移,可被动启动搬移,也可自动启动搬移;自动启动搬移可由一定的触发条件触发,触发条件可以是容量信息、时间信息等。具体帧、页同步的GPU图形指令缓冲实施方式如图2所示,绘制一帧时间由为SW和HW的较大时间,在图形API处理过程中仅帧同步或者页同步失败才进行实际IO操作,大大提升了图形API处理性能。本文档来自技高网...
一种帧、页同步的GPU图形指令缓冲同步方法

【技术保护点】
一种帧、页同步的GPU图形指令缓冲同步方法,其特征为:所述方法的实现依赖于以下模块:图形API指令处理接口模块(1)、页管理模块(2)、ringbuffer管理模块(3)、ringbuffer IO控制模块(4);所述图形API指令处理接口模块(1),接收图形应用程序,转化为直接帧同步操作和指令存储操作,将帧同步操作发送给ringbuffer管理模块(3)处理,将指令存储操作发送给页管理模块(2)。所述页管理模块(2),接收图形API指令处理接口模块(1)的指令存储操作请求,根据当前页空闲空间大小处理指令存储操作,若当前页空闲空间大小满足当前指令的存储需求,向ringbuffer管理模块(3)发送写指针请求;若当前页空闲空间大小不满足当前指令的存储需求,则将页同步操作发送给ringbuffer管理模块(3);所述ringbuffer管理模块(3),包含写指针操作和空闲空间管理;写指针操作是更新ringbuffer写指针地址,空闲空间管理是更新空闲空间大小;写指针在接收到图形API指令处理接口模块(1)的帧同步操作请求或接收到页管理模块(2)的写指针请求,将指针更新到ringbuffer IO控制模块(4);空闲空间管理在接收到页管理模块(2)的页同步操作请求,根据当前空闲空间大小处理页同步操作,若当前空闲空间大小能够分出新的页空间,则页同步成功并将页空闲空间大小反馈给页管理模块(2),否则页同步失败,向ringbuffer IO控制模块(4)发送IO操作请求;所述ringbuffer IO控制模块(4),包含读指针、写指针、ringbuffer大小、数据传输启动控制。...

【技术特征摘要】
1.一种帧、页同步的GPU图形指令缓冲同步方法,其特征为:所述方法的实现依赖于以下模块:图形API指令处理接口模块(1)、页管理模块(2)、ringbuffer管理模块(3)、ringbufferIO控制模块(4);所述图形API指令处理接口模块(1),接收图形应用程序,转化为直接帧同步操作和指令存储操作,将帧同步操作发送给ringbuffer管理模块(3)处理,将指令存储操作发送给页管理模块(2)。所述页管理模块(2),接收图形API指令处理接口模块(1)的指令存储操作请求,根据当前页空闲空间大小处理指令存储操作,若当前页空闲空间大小满足当前指令的存储需求,向ringbuffer管理模块(3)发送写指针请求;若当前页空闲空间大小不满足当前指令的存储需求,则将页同步操作发送给ring...

【专利技术属性】
技术研发人员:马城城聂曌刘晖许宏杰张骏
申请(专利权)人:中国航空工业集团公司西安航空计算技术研究所
类型:发明
国别省市:陕西,61

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1