减少视觉模拟循环的总计算时间的方法包括通过在执行特定阶段的计算之前使公用数据结构适应每个特定阶段的要求来在视觉模拟循环的每个阶段上共享公用数据结构。
【技术实现步骤摘要】
本专利技术公开的实施例一般涉及计算机生成的图像,更具体地涉及提高计算机生成的图像的效率的方法。
技术介绍
虚拟世界应用一般包括在服务器和客户机二者上执行的不同阶段以给予用户3D 真实性的感觉。例如,服务器执行物理模拟和AI (人工智能)来发展对象并使用可见度计算来计算传送至客户机的可见集。同样,客户机执行(基于效果的)物理模拟和渲染(利用光线跟踪和/或光栅化)来显示场景。这些“计算内核”中的每一个维持并构建其自身的数据结构以加速其各自的计算。这些计算内核彼此不同,因为它们中的每一个都针对其自身的任务优化(如加速邻近计算相对于使每个节点中的三角形的数量最小化相对于使节点中的空白空间最小化)。(本文中使用的术语“阶段”、“内核”和“计算内核”含义相同。)附图简述通过阅读以下的详细描述并结合附图将更好地理解所公开的实施例,在附图中附图说明图1是根据现有技术围绕计算机生成图像的创建的现有进程的图示;图2是根据本专利技术的实施例围绕计算机生成图像的创建的进程的图示;图3示出根据本专利技术的实施例根据数据结构修改在叶节点上的一组渐进细化;图4是示出根据本专利技术的实施例减少视觉模拟循环的总计算时间的方法的流程图;图5是示出根据本专利技术的实施例启用由视觉模拟循环生成的虚拟场景的电子显示上的视觉表示的方法的流程图;以及图6是示出根据本专利技术的实施例在虚拟世界应用中处理视觉模拟循环的方法的流程图。为了简化和清楚说明的目的,附图示出一般的构造方式,且省略公知特征和技术的描述和细节,以避免不必要地使所述本专利技术的实施例的讨论晦涩。另外,附图中的元件不一定是按比例绘制的。例如,附图中的某些元件的尺寸相对于其它元件被放大,以有助于改进对本专利技术的实施例的理解。相同的附图标记在不同的附图中指示相同的元件,但相似的附图标记可能但不一定指示相似的元件。在说明书和权利要求书中的术语“第一”、“第二”、“第三”、“第四”等(如果有的话)用于在类似元件之间进行区分,且未必是用于描述特定次序或时间顺序。应该理解如此使用的数据在适当情况下是可以互换的,使得本文所述的本专利技术的实施例例如能够以本文示出或以其它方式描述的次序以外的次序操作。类似地,如果本文中方法被描述为包括一系列步骤,则如本文呈现的这些步骤的顺序不一定是可执行这些步骤的唯一顺序,且某些所述步骤可被省略和/或可能将本文未描述的某些其它步骤添加到该方法中。此外,术语“包括”、“包含”、“具有”及其任何变形旨在适用非排他地包括,使得包括一系列要素的过程、方法、制品或装置不一定限于那些要素,但可包括未明确列出或这些过程、方法、制品或装置所固有的其它要素。在说明书和权利要求书中的术语“左”、“右”、“前”、“后”、“顶”、“底”、“上”、“下”等(如果有的话)用于描述的目的,且不一定用于描述永久的相对位置。应该理解如此使用的数据在适当情况下是可以互换的,使得本文所述的本专利技术的实施例例如能够以本文示出或以其它方式描述的方向以外的其它方向操作。如本文所使用的术语“耦合”被定义为电或非电方式的直接或间接连接。在本文中描述为彼此“相邻”的物体按照适于使用该短语的上下文可以在物理上彼此接触、彼此紧邻或彼此处于同一通用区域或区。在本文中短语 “在一个实施例中”的出现不一定全指同一实施例。附图的详细描述在本专利技术的一个实施例中,减少视觉模拟循环的总计算时间的方法包括通过在执行特定阶段的计算之前使公用数据结构适应于每个特定阶段的要求来在视觉模拟循环的每个阶段上共享公用数据结构。随着多核架构的出现,前面提到的不同计算内核很可能在同一处理器上执行,且共享如高速缓存、存储器控制器、总线等的资源。因此,构建并维持其自身的状态不仅增加用于构建这些数据结构的时间而且需要更多的资源来存储它们。作为示例,物理模拟通常占用总处理时间(每帧)的约10%至20%用于加速数据结构(例如,包围体层次(BVH)、 kd-树等)的构造,且光线跟踪占用处理时间(每帧)的约30%至40%来构建其数据结构。 数据结构的大小对于每个操作通常均相同,导致总处理时间的双倍增加。构建数据结构(或加速层次)来使特定计算任务加速是公知的。然而,这些数据结构隔离地构建和维持,没有共享的交叉应用信息且没有用于所有任务(如视觉模拟情况下的物理、图形和Al)的一个数据结构。相反,本专利技术的实施例在整个视觉模拟循环上构建并维持一个公用数据结构。这种“公用数据结构”能以低成本修改以实现几乎与单独优化的数据结构的性能一样好的性能。这允许构造成本的显著降低,且仅少量增加每个单独算法的运行时间同时实现共享架构的所有优点。结果是构造加使用成本方面的净提高,即,净帧速率的增加。本专利技术的实施例在不同的应用中共享公用数据结构,使它们按需要适应于各应用的要求。这种高时间效率和高空间效率的数据结构共享实现资源的高效率使用以及性能增强。对于在同一平台上运行这些应用的多核和很多核架构,本专利技术的实施例还节省存储空间、改进高速缓存局部性并减少数据结构构建时间。现在参考附图,图1是根据现有技术围绕计算机生成图像的创建的现有进程100 的图示。图1示出由物理模拟和光线跟踪内核构成的应用。这些内核中的每一个构建专用于该内核的其本身的加速数据结构(示出kd-树但可使用任何数据结构)。因此现有技术支付了每帧构造两个kd-树的成本。图2是根据本专利技术的实施例围绕计算机生成图像的创建的进程200的图示。如图 2所示,进程200构造用于物理模拟的一个kd-树,然后使该数据结构适应于光线跟踪。作为示例,物理模拟引擎可基于称为WiysBAM的源码库(来自斯坦福大学)。已经确定以低构造成本使数据结构快速适应于不同视觉计算内核的技术(由图2中的“使数据结构适应” 框表示);这些保留了用于每个内核的专门数据结构的大部分效率。这导致对于两个内核合起来在构造加计算时间方面的新节省。作为示例,采用由物理模拟引擎构建的kd-树并使其适应于光线跟踪引擎(即图2描述的情形)可通过使表面积启发式(Surface Area Heuristic)适应于细化WiysBAM树的叶节点来完成,为权利要求1.一种启用由视觉模拟循环生成的虚拟场景的电子显示上的视觉表示的方法,所述方法包括针对所述视觉模拟循环的第一阶段构建数据结构; 利用所述数据结构执行第一阶段的第一计算; 使所述数据结构适应于所述视觉模拟循环的第二阶段;以及利用经适应的数据结构执行所述第二阶段的第二计算。2.如权利要求1所述的方法,其特征在于,还包括使所述数据结构适应于所述视觉模拟循环的每个附加阶段;以及使用经适应的数据结构中相应的一个执行所述视觉模拟循环的每个附加阶段的后续计算。3.如权利要求1所述的方法,其特征在于所述视觉模拟循环包括物理模拟阶段、可见度计算阶段、人工智能阶段和渲染阶段。4.如权利要求3所述的方法,其特征在于所述视觉模拟循环由第一处理设备和第二处理设备处理;所述第一处理设备执行人工智能阶段、可见度计算阶段和物理模拟阶段的第一实例;以及所述第二处理设备执行渲染阶段和物理模拟阶段的第二实例。5.如权利要求1所述的方法,其特征在于 所述数据结构包括kd-树和包围体层次之一。6.如权利要求1所述的方法,其特征在于所述第一阶段是物理模拟阶段而所述第二阶段是渲染阶段;以及使所述数本文档来自技高网...
【技术保护点】
1.一种启用由视觉模拟循环生成的虚拟场景的电子显示上的视觉表示的方法,所述方法包括:针对所述视觉模拟循环的第一阶段构建数据结构;利用所述数据结构执行第一阶段的第一计算;使所述数据结构适应于所述视觉模拟循环的第二阶段;以及利用经适应的数据结构执行所述第二阶段的第二计算。
【技术特征摘要】
...
【专利技术属性】
技术研发人员:J·查乌加尼,B·卡坦扎罗,S·库马,金昌奎,N·R·萨蒂什,
申请(专利权)人:英特尔公司,
类型:发明
国别省市:US
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。