本发明专利技术公开了一种基于自适应虚拟化绘制流水线的云‑端绘制计算框架,包括以下步骤:定义绘制流水线,包括定义绘制资源、绘制算法以及绘制算法与绘制资源的读写关系;根据框架用户自行定义的优化目标和预算,实时从包含各绘制资源分配到云或终端计算的云‑端计算分布方案集中优选最优的云‑端计算分布方案;依据该云‑端计算分布方案,云上和/或终端执行相应的绘制算法,获得绘制结果。该绘制计算框架可以自适应地选择云‑端结合绘制时的云‑端计算分布方案,并可以随着优化参数的变化动态调整。
【技术实现步骤摘要】
一种基于自适应虚拟化绘制流水线的云-端绘制计算框架
本专利技术属于实时绘制领域,尤其涉及一种基于自适应虚拟化绘制流水线的绘制计算框架。
技术介绍
随着移动设备的普及及其计算能力的提高,在移动设备上实时绘制真实感图像的需求也逐步提高,然而相比于PC,移动设备的计算能力仍然不足以支撑复杂的真实感绘制算法。解决这个问题的一个方法就是把云上强大的计算能力利用起来。如CN1856819B《通过分布式应用程序的图形数据的网络传输的系统和方法》提出了一个在强计算能力的服务器上完成绘制操作再把结果压缩传输到端的方法。然而如何在保持端上低延迟、高帧率的同时保证较高的图像质量将是这个方法的一大挑战。CN101971625B《用于压缩流动互动式视频的系统和方法》花了大篇幅说明低延迟的重要性,如“对于缓慢的非正式游戏或慢动作角色扮演游戏而言,100毫秒的延时可能是可以容忍的,但在快动作游戏中,超过70毫秒或80毫秒的延时可引起用户在游戏中更拙劣地表现,且因此不可接受”。该专利于是提出了一种基于传统视频编码改进出来的流式传输(视频串流)方法试图解决该问题。由于近几年虚拟现实头盔的流行,人们要求更低的延迟来降低因画面反馈不及时导致的眩晕感。于是有工作指出,可以在端上通过重投影对画面进行预测来实现快速响应。然而这些都是建立在“网络上传输的是绘制的最终结果”的前提下。实际上,现在的图形程序都有复杂的绘制流水线,绘制流水线的很多中间结果也可以通过网络传输。于是除了云上要执行一部分绘制流水线,端上也要执行一部分绘制流水线,这样就将端上的计算能力也利用了起来。那么,选择不同的中间结果放到云上计算就能得到各种不同的云-端结合绘制方案。美国专利US6384821B1《Methodandapparatusfordelivering3Dgraphicsinanetworkedenvironmentusingtransparentvideo(利用透明视频在网络环境下呈现三维图形的装置与方法)》还提出了将一部分物体在服务器上绘制,一部分物体在端上绘制,最后将服务器上绘制的结果与端上绘制的结果混合(composite)得到最终结果的方案。但是无论选用何种方案,都是开发人员基于一定的取舍事先做出的选择。而由于交互式图形绘制动态的特性,往往需要在程序执行的过程中实时调整选用的方案。通常的做法是,事先由人工设计几种较优方案,程序运行时再根据人工设计的特定的(adhoc)选择方法对这几种方案进行选择、切换。而如何设计这些较优的方案、如何对方案进行选择就成为了一个待解决的问题。
技术实现思路
本专利技术的目的提供了一种基于自适应虚拟化绘制流水线的绘制计算框架,该绘制计算框架可以自适应地选择云-端结合绘制时的云-端计算分布方案,并可以随着优化参数的变化动态调整。为实现上述专利技术目的,本专利技术提供的技术方案为:一种基于自适应虚拟化绘制流水线的绘制计算框架,包括以下步骤:定义绘制流水线,包括定义绘制资源、绘制算法以及绘制算法与绘制资源的读写关系,其中,绘制资源包括输入场景、中间计算结果以及最终画面资源;根据框架用户自定义的优化目标和优化目标的预算,实时从包含各绘制资源分配到云或终端计算的云-端计算分布方案集中优选最优的云-端计算分布方案;依据该云-端计算分布方案,云上和/或终端执行相应的绘制算法,获得绘制结果。在该框架下,用户针对不同输入场景和对象用框架提供的绘制语言描述绘制算法来实现不同的效果,框架将在考虑不同的优化目标的前提下,进行整体全局的自动优化,优化的结果再转换为当前硬件支持的绘制过程,该绘制过程最终在云或端的图形硬件上运行,获得最终的结果。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图做简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动前提下,还可以根据这些附图获得其他附图。图1是本专利技术实施例提供的基于自适应虚拟化绘制流水线的绘制计算框架的整体流程;图2~图4是本专利技术实施例提供的一组绘制流水线示例;图5是本专利技术中对应于图2绘制流水线的描述语言示例。具体实施方式为使本专利技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例对本专利技术进行进一步的详细说明。应当理解,此处所描述的具体实施方式仅仅用以解释本专利技术,并不限定本专利技术的保护范围。图1是本专利技术实施例提供的基于自适应虚拟化绘制流水线的绘制计算框架的整体流程。参见图1,实施例提供的基于自适应虚拟化绘制流水线的绘制计算框架的流程如下所示:步骤1,采用资源显式表示的流水线描述语言来定义绘制流水线。具体定义绘制资源、绘制算法以及绘制算法与绘制资源的读写关系。其中,绘制资源可以分为输入场景、中间计算结果以及最终画面资源这三类。输入场景是将要绘制的源数据。最终画面资源是绘制的最终结果,一般用于显示到屏幕上,如颜色贴图。中间计算结果是指执行绘制算法得到的不是输入场景或最终画面资源的计算结果,如实例(instance)数量。以图2所示的一条绘制流水线,采用如图5所示的资源显式表示的流水线描述语言进行定义,具体定义如下内容:(a)绘制算法([EFFECT]):准备渲染队列、计算instance数量、PBS着色绘制、呈现绘制结果;(b)绘制资源([RESOURCE]):输入场景渲染队列、中间计算结果instance数量、最终画面颜色贴图;(c)绘制算法与绘制资源之间的关系([GRAPH]):绘制算法可以从绘制资源读取数据,也可以向绘制资源写入数据。如绘制算法计算instance数量将计算结果写到绘制资源instance数量中,而绘制算法PBS着色绘制从绘制资源instance数量中读取数据。步骤2,根据框架用户自定义的优化目标和优化目标的预算,实时从包含各绘制资源分配到云或终端计算的云-端计算分布方案集中优选最优的云-端计算分布方案。框架用户指的是将本方法/思想实际应用于软件中的程序员/工程师。框架用户并不是从预先设定好的几种优化目标中选择/组合出想要的优化情况,而是需要设计出所需的优化目标,并能够向框架提供量化指标以及优化的方向。框架用户可以根据画面质量、终端计算能力(也就是终端运行帧率)以及网络传输带宽定义优化目标。如用数字0~1表示画面质量,0表示高质量,1表示低质量,0~1之间的实数表示画质劣化程度,数值越小越优。又如网络传输延迟就是一般意义上的网络传输延迟,取值范围0~正无穷,数值越小越优。又如终端计算能力可以用FPS表示,0表示计算能力极弱,数值越大表示计算能力越强,数值越大越优。显而易见地,终端运行帧率的优化方向为数值越大越好,网络传输延迟的优化方向为数值越小越好。框架用户还需定义优化目标的预算(budget),即优化目标所期待满足的阈值。可以只设置一个优化目标的预算,也可以设置多个优化目标的预算,还可以按照一定的优先级依次考虑本文档来自技高网...
【技术保护点】
1.一种基于自适应虚拟化绘制流水线的云-端绘制计算框架,包括以下步骤:/n定义绘制流水线,包括定义绘制资源、绘制算法以及绘制算法与绘制资源的读写关系,其中,绘制资源包括输入场景、中间计算结果以及最终画面资源;/n根据框架用户自定义的优化目标和优化目标的预算,实时从包含各绘制资源分配到云或终端计算的云-端计算分布方案集中优选最优的云-端计算分布方案;/n依据所述云-端计算分布方案,云上和/或终端执行相应的绘制算法,获得绘制结果。/n
【技术特征摘要】
1.一种基于自适应虚拟化绘制流水线的云-端绘制计算框架,包括以下步骤:
定义绘制流水线,包括定义绘制资源、绘制算法以及绘制算法与绘制资源的读写关系,其中,绘制资源包括输入场景、中间计算结果以及最终画面资源;
根据框架用户自定义的优化目标和优化目标的预算,实时从包含各绘制资源分配到云或终端计算的云-端计算分布方案集中优选最优的云-端计算分布方案;
依据所述云-端计算分布方案,云上和/或终端执行相应的绘制算法,获得绘制结果。
2.如权利要求1所述的基于自适应虚拟化绘制流水线的绘制计算框架,其特征在于,所述实时从包含各绘制资源分配到云或终端计算的云-端计算分布方案集中优选最优的云-端计算分布方案包括:
对绘制流水线表示的每个绘制资源,枚举选择是否在云上计算,所有绘制资源是否在云上计算的分布情况形成一个云-端计算分布方案,组成云-端计算分布方案集;
根据绘制算法与绘制资源的读写关系,从云-端计算分布方案集中剔除无效云-端计算分布方案;
根据优化目标从剩余云-端计算分布方案中选出满足帕累托最优的所有配置,得到一系列较优的云-端计算分布方案;
运行时根据运行预算从一系列较优的云-端计算分布方案中选出一个最优的云-端计算分布方案。
3.如权利要求1所述的基于自适应虚拟化绘制流水线的云-端绘制计算框架,其特征在于,当云-端计算分布方案中所有绘制资源均在终端上执行时,终端按照定义的绘制...
【专利技术属性】
技术研发人员:鲍虎军,王锐,兰威举,
申请(专利权)人:浙江大学,
类型:发明
国别省市:浙江;33
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。