对于XR设备,渲染是耗能大户,所以管理渲染负载是一个重要课题。在名为“Rendering workload management for extended reality”的专利申请中,Meta就提出了用于XR的渲染负载管理,在设备向用户渲染和显示帧时减少处理能力、功耗和热影响的各种渲染负载管理技术。
在具体实施例中,设备的计算系统可以接收请求以渲染包含一个或多个虚拟内容的帧。设备的计算系统随后可以为每一个或多个虚拟内容确定一个相关的特征。例如,通过确定注视点区域的一个或多个、对象维度或浏览距离来确定一个或多个虚拟内容的每一个相关特征。
接下来,可以确定是否减少与渲染所述帧相关的渲染工作负载,或则何时以及以何种方式根据预定的处理能力约束、功耗约束和热约束来改变设备的渲染工作负载的参数,从而满足与所述设备相关的一个或多个功率或热约束。
图2示出了用于提供各种渲染工作负载管理技术。计算设备可以包括头部姿态追踪功能块202、渲染引擎204、3D重新投影扭曲功能块206、资源管理器208、内容管理器210和应用程序212。
在具体实施例中,计算设备106可以通过渲染引擎204生成与图像帧序列对应的帧。计算设备106同时可以访问与所述框架对应的一个或多个深度图,并且可以维护和追踪由头部姿态功能块210计算的帧内的一个或多个对象的姿态信息和从XR设备102接收的姿态数据。
可以通过内容管理器208来分析和管理应用212或其他XR内容。资源管理器210可以包括追踪用于托管和服务应用程序212或其他XR内容的可用硬件和/或软件组件的任何系统。
在一个实施例中给XR设备可包括集中式内容和资源管理器222,其可用于执行各种渲染工作负载管理技术,以在XR设备102向用户渲染和显示帧时减少处理能力、功耗和热影响。
计算设备106的内容管理器208和/或资源管理器210可以向集中式内容和资源管理器222提供与要由XR设备102渲染和显示的一个或多个应用程序212相关联的帧的请求,并且集中式内容和资源管理器222随后可以确定渲染和显示所请求的帧的方式。
然后,集中式内容和资源管理器222可以通过指示和利用渲染引擎224和3D重新投影扭曲功能块226来执行所请求的帧的渲染和显示。
根据发明所述方法,集中式内容和资源管理器222可以从计算设备106接收渲染一个或多个帧的请求。然后可以确定相对于一个或多个帧的内容的每个对象的相关图像特征。
根据图像特征,集中式内容和资源管理器222然后可以确定是否减少与渲染一个或多个帧相关的渲染工作负载,以满足与XR设备102相关的一个或多个功率、处理或热约束。
例如,XR设备可以监视例设备操作温度、环境温度、照明变化、处理工作负载、功耗和用户活动等,并将监控的数据作为传感器数据220提供给集中的内容和资源管理器222。
为了响应减少渲染工作负载的决定,集中的内容和资源管理器222然后可以生成一组渲染参数,以减少渲染工作负载。在具体实施例中,可以根据注视点区域等特征来确定渲染参数集中的至少一个渲染参数。
根据渲染工作负载管理技术,集中式内容和资源管理器222可以进一步确定在不违反功率和热约束的情况下执行应用程序212的性能容量。性能容量是指系统能够提供的性能级别。在一个实施例中,性能级别基于即时功率/热条件并指定短持续时间的性能能力。随着工作负载的继续执行,性能容量可能会发生变化。
集中式内容和资源管理器222然后可以基于XR设备102的当前渲染工作负载和当前性能容量生成用于渲染一个或多个帧的持续时间的预测。例如,集中式内容和资源管理器222可以基于可能与特定应用212相关联的一个或多个参数或指令,生成用于渲染一个或多个帧的持续时间的预测。
基于渲染一个或多个帧的持续时间的预测,从多个预定渲染工作负载模式中选择一个。例如,在特定实施例中,多个预定的渲染工作负载模式可包括高性能渲染工作负载模式、中等性能工作负载处理模式和低性能渲染工作负载模式。
例如,集中式内容和资源管理器222可以将预测的渲染工作负载映射到确定的处理性能容量,以便通过尽可能最佳的QoS渲染一个或多个帧。
在具体实施例中,集中式内容和资源管理器222随后可致使渲染引擎224根据多个预定渲染工作负载模式中的选定一种渲染所述帧,以便满足用于确定系统性能容量的一种或多种功率、处理或热约束。
例如,具有较短的预测持续时间的应用程序可以按照高性能渲染工作负载模式进行渲染。相比之下,具有更长的预测持续时间的游戏应用程序可以根据低性能渲染工作负载模式进行渲染。
在一个实施例中,XR设备可以将计算卸载到计算设备。与计算设备的第二个或多个GPU相比,XR设备的第一个或多个GPU包括较少的处理能。集中式内容和资源管理器222可以确定与渲染一个或多个帧相关的渲染工作负载,以利用XR设备的一个或多个第一GPU,以及计算设备的一个或多个第二GPU来渲染一个或多个帧。
因此,可以优化设备管道,使其运行在最高的能效水平上,并通过动态管理渲染工作负载来减少总功耗和热影响。
图3示出了用于提供渲染工作负载管理技术的流程图。
从302开始,一个或多个处理设备接收渲染包含一个或多个虚拟内容的帧的请求。
在304,继续使用一个或多个处理设备,为每一个或多个虚拟内容确定相关特征。
在306,继续使用一个或多个处理设备确定是否减少与渲染帧相关的渲染工作负载,以满足与设备相关的一个或多个功率或热约束。
在308,响应减少渲染工作量的决定,生成一组用于渲染帧的渲染参数,以减少渲染工作量,其中渲染参数集合中的至少一个渲染参数是基于与至少一个或多个虚拟内容中的一个相关的特征确定的。
在310,一个或多个处理设备根据渲染参数集渲染帧,以便满足一个或多个功率或热约束。
图4A示出了用于提供渲染工作负载管理技术的流程图,主要用于生成用于渲染帧的持续时间的预测,从而降低设备的处理能力、功耗和热影响。
从402开始,一个或多个处理设备接收一个渲染包含一个或多个虚拟内容的帧的请求。
在404,一个或多个处理设备基于设备的当前渲染工作负载和与该设备相关的一个或多个功率或热约束,生成用于渲染该帧的持续时间的预测。
在406,一个或多个处理设备基于渲染帧的持续时间的预测选择多个预定渲染工作负载模式中的一个。
在408,一个或多个处理设备根据多个预定渲染工作负载模式中的选定一种渲染所述帧,以便满足一个或多个功率或热约束。
图4B示出了另一种方法400B的流程图,主要涉及动态切换GPU的方法。
从410开始,一个或多个处理设备接收一个渲染包含一个或多个虚拟内容的帧的请求。
在412,一个或多个处理设备确定与渲染帧相关的渲染工作负载,以满足与设备相关的一个或多个功率或热约束以及目标服务质量(QoS)。
在414处,一个或多个处理设备基于一个或多个功率或热约束和目标QoS,动态切换一个或多个第一处理器和利用一个或多个第二处理器。
名为“Rendering workload management for extended reality”的Meta专利申请最初在2022年1月提交,并在日前由美国专利商标局公布。