基于贴块的延迟渲染_PowerVR给汽车应用带来哪些巨变?

处理器/DSP

892人已加入

描述

汽车市场是技术生态系统中最令人兴奋的领域之一,其总是不断发展,努力走在新技术的前沿。这意味着,驱动底层的硬件系统不仅要传输良好的性能,还需满足多样化的需求。汽车行业是Imagination Technologies的关键领域,我们的PowerVR图形核心可谓贯穿整个汽车市场。

本文,我们将描述PowerVR架构的一些特性如何使之成为最新汽车图像应用程序的最佳选择。我们还将讨论现代图形API如Vulkan如何造福未来的汽车应用程序。

基于贴块的延迟渲染(TBDR)

所有PowerVR图形核心都采用了公认的TBDR架构。理解这些关键概念非常重要,这样才能认识到这种架构的优势。这里我们会做简要的阐述。

TBDR使图形核心能最有效地利用系统内存总线,其方式是,使所有的数据用于基元的光栅化及片上缓冲区单个贴图(通常是32×32像素)中每个像素的着色,直至贴图全部渲染完成。一旦贴图的渲染任务完成,结果将会写入系统主内存中的帧缓冲区。这种方法将大幅减少图形核心和主存之间的内存传输,有助于降低整个片上系统(SoC)的功耗。

架构“延迟”的部分使图形核心可以舍弃大部分的几何图形,这些几何图形原本在片段处理前隐藏在最终图像的其他片段后。这种方法将大幅降低处理覆盖片段的时间,因此可以明显减少帧处理时所花费的时钟周期。通过使用这种类型的架构,PowerVR图形核心展示了出色的可延展性能,同时保持有极高的效率。

为了更深入地了解基于贴块的延迟架构,请阅读此文 。

车载GPU加速显示屏

汽车市场要求图像处理器能提供高像素的填充率,以驱动各种用于信息/娱乐功能的高分辨率显示屏。如下所述:

? 信息娱乐系统是现代汽车的中心部分。通常情况下,仪表盘被转换成一个综合多媒体中心,可以与智能手机等其他智能设备通讯,甚至可以通过移动网络与云端连接。同时,用户界面需清晰且响应及时,可以显示图像和视频。

? 仪表板是另一种通用的尖端技术,其旨在多个高分辨率屏幕上给驾驶员提供实时信息。

? 导航技术已经存在了很长时间,但现在已不断细化。其中一项改进是,部署在车内的嵌入式设备,其导航应用程序的视觉保真度有所提高。这要得益于图像技术的进步。

? 最后便是平视显示器——一项由航空航天业首创的技术,目前已应用在汽车应用中,用于向汽车的挡风玻璃投射有用的信息。这使驾驶员在获取关键信息的同时,又能时刻关注路况。

目前,大多数现代车辆通常配备了这些功能和系统。展望未来,这些功能不仅会变得更加普遍,而且随着制造商向更高分辨率的显示器(如4K等)推进,其视觉质量也会不断提升。显然,这将给底层硬件带来更大的压力。

随着显示技术的改进,系统将不可避免地需要更多的图像功率和内存带宽,以推动高分辨率显示命令的数百万像素。且由于嵌入式和移动设备的内存带宽历来相当有限,而TBDR允许在芯片上进行处理,这样,我们有更多的理由来研究基于贴块的延迟架构,如PowerVR。正如之前提到,这种架构设计大幅减少了内存总线上不必要的数据传输量,从而明显提升整个系统的效率。

除了基于贴块的架构允许减少的内存传输,早期深度测试和隐藏的表面移除(架构的“延迟”部分)明显降低了浪费的时钟周期量。这一点尤其重要,因为显示屏分辨率和应用程序的复杂性不断增加。由于在极致的分辨率下有大量的片段要进行处理,这项技术将允许一个适当优化的应用程序在稳定的交互式帧速率上运行,提高卫星导航、信息娱乐等方面的用户体验。

在运行车内仪表盘时,要达到目标帧速率是可取的,且是必要的,因为向驾驶员提供可靠的信息对系统的安全至关重要。

Vulkan

对于新兴技术,在未来的几年里,由于API不断被平台制造商采用,Vulkan图像API将在汽车行业扮演重要的角色。这一转变将对未来的汽车应用如卫星导航等将产生深远的影响。

关于导航应用程序的一些问题和技术之前已经在 罗宾·布里顿的博客文章 中讨论过,该文介绍了使用OpenGL ES和Vulkan图像API高效渲染导航应用程序的一些技术。它还讨论了Vulkan图像API的优点,及优化Vulkan图像API后渲染效率的改善。

使用现代API如Vulkan的原因在于其非常高效。使用Vulkan,CPU所需做的工作将大量减少。这就降低了CPU的使用率,对于移动/嵌入式设备来说是一个特别重要的方面,因为减少CPU的使用将大幅降低热输出和功耗。

在OpenGL ES中,Vulkan API的第二个重要优势在于,它非常适合基于贴块的架构,并且具有一些优于OpenGL ES的可度量的优势——以下是优势简述:

? Vulkan允许同步细粒度控制,这表明图像驱动程序更了解对象和内存之间的依赖关系,意味着仅有缓存(片上存储)需要刷新,有助于减少内存带宽。

? Vulkan可以确保,所有依赖项都是提前声明的,这就消除了驱动程序在绘制时猜测状态的需要。对于驱动程序而言,更容易将工作打包,传输至贴图器和光栅化任务中,并直接由硬件使用,从而使图形核心更有效地执行工作。

? Vulkan提供的API对象(渲染层)不允许任何操作,在栅格化过程中会导致中间帧刷新,这将引起图像设备暂停。此外,这些API对象允许图形核心更有效地使用片上存储,因为不需要进行存储的中间FBO附件永远不会被写回主存。同样,这大幅降低了内存带宽,尤其是对于更高的分辨率,从而降低了整个SoC的功耗。

如果想更深入地了解基于贴块的架构使用Vulkan的优势,例如PowerVR图形核心,可以了解托拜厄斯赫·赫克托写的相关 文章 。

无论是使用OpenGL ES还是Vulkan,有一些相对简单的技巧可以用来提升应用程序的性能。在物体表面使用背面剔除和正确设置可能看似无关紧要,但却明显减少了图像硬件的负载。这是因为当在固定函数阶段中减少多边形的输入时,将使贴图硬件和光栅化受益。实际上,对于有成千上万或数百万多边形的高度复杂的工作负载,这样做将有利于性能的提升。

此外,在应用程序中使用压缩纹理(如PVRTC)不仅可以减少所需的内存量,还可以大幅降低纹理采样所需的内存带宽。这是因为,压缩纹理以压缩格式传输,只有硬件芯片没有压缩。压缩纹理可以明显提升缓存命中率,因为压缩纹理是紧密压缩的,使更多的纹理可以放入缓存中。这将改善内存延迟,因为硬件可以从芯片缓存而不是主内存中获取数据。这大幅加快了请求被服务的时间,降低了统一着色程序集群(USC)等待数据的时间,并减少了耗能的内存传输操作的数量。

小结

随着对汽车高质量应用的需求不断增长,车载显示系统扩展底层图形硬件被认为是汽车制造商进一步创新和发展的关键技术。对于寻求以有限内存占用和功率预算便能获取高性能的汽车制造商来说,PowerVR图像的有效性至关重要。

除了要完成任务的硬件之外,还需要通过识别和消除瓶颈来尽可能地优化软件,以充分利用硬件,使更复杂的应用程序能以交互式帧速率运行。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分