Rogue Swarm demo:将Vulkan和PowerVR Series8XE带入我们的生活

作者:ANDREW GIRDLER

在今年初举办的GDC 2018大会上,我们推出了最新的图形技术演示Demo,重点介绍了PowerVR Series8XE系列GPU。尽管PowerVR Series8XE系列GPU高度集成尺寸小巧的设计,但从项目之初我们就准备展示其强大功能,这一系列集成丰富的内核,比如PowerVR GE8300(4pixels/clock,64 FLOPS/clock)和PowerVR GE8100(1pixel/clock,32FLOPS/clock)。这对于那些成本敏感的市场具有非常大的吸引力,因为在这些领域传统上普遍认为不可能执行高端模拟和效果,然而有了Vulkan和我们Rogue架构的结合我们才能够颠覆一成不变的传统。市场上采用这一系列内核的设备包括Acer Iconia One 10、Lenovo Tab7 Essential平板电脑、HTC Desire 12和华为Honor Play 7智能手机,自动驾驶领域包括瑞萨 R-Car D3系统等。

Rogue Swarm demo虽然很小但是非常的重要,它很好的展示了这些小型化集成了Vulkan®1.1标准的GPU能实现的一系列功能,精彩的场景包括高能量的太空船在小行星带高速飞行,领先的大飞船被一群较小的敌舰追赶,它们甚至发射激光来阻止领先的大飞船逃走,整个Demo都是动态的,比如小行星、追逐的飞船以及激光等,每个场景都略有不同。

Rogue Swarm demo:将Vulkan和PowerVR Series8XE带入我们的生活

展示Vulkan的功能

这个demo从图形技术到计算性能都充分利用了Vulkan。追逐领先飞船的舰队都是模拟场景的一部分,这其中包括主要的飞船、小行星和激光束。这个模拟场景采用的是集群算法,不仅能够让飞船成群结队的飞行,而且还能模拟它们进行激光射击,避免彼此发生碰撞以及躲避小行星。

所有这些元素都是GPU上高速复杂的Vulkan着色器计算出来的,在Vulkan中它用作每帧执行命令的缓冲区,并更新模拟场景中各种元素的位置。命令缓冲区不会逐帧的发生更改,因此能够充分利用Vulkan预先记录在缓冲区内的命令,并根据更新后的输入变量一遍又一遍的执行。在之前这种模拟场景不得不在CPU上运行,而且仅限于高端平台。借助Vulkan现在可以在GPU上以极高的效率运行这些高级的仿真场景,从而可以提高应用程序的性能并降低CPU的开销,这无疑显现出一定的优势。

Rogue Swarm demo:将Vulkan和PowerVR Series8XE带入我们的生活

在场景渲染方面,当GPU更新模拟场景后就会开始渲染每帧场景中的各种元素,飞船的网格数据只会被提交一次,实例化渲染特性会根据场景的需要创建尽可能多的飞行敌舰,材质都根据大小进行了优化,并且使用PVRTC工具进行了压缩,从而保证应用程序的带宽要求尽可能的低。比如我们内部艺术团队设计的深度空间背景,它实际上是一个令人难以置信的高质量的立方体贴图材质。

说到艺术,我们认为这是使得这个demo如此引人注目的一个重要因素,我们团队设计的飞船、行星和背景不仅采用了先进的图形技术同时也结合了艺术特色。这有力的证明了即使小型的GPU也能够运行一些视觉上令人印象深刻的应用。

开发

我们开发采用的具体设备是Acer Iconia One 10 FHD,它是一款非常小型的平板电脑,集成了PowerVR GE8300 GPU,尺寸是10.1英寸以及1920 x 1200分辨率的显示屏。

在开发早期阶段,我们充分利用了Imagination SDK,从而在很短的时间内让测试程序在设备上运行。SDK包括OpenGL ES和Vulkan示例应用程序,我们充分利用了Vulkan-Compute粒子模拟,而且将其作为代码库。

最初我们专注于在Vulkan计算着色器中创建集群算法,并将数据传递给渲染管道,这种方法的一大好处就是模拟场景在整个渲染过程中都保留在GPU内存中,从而进一步降低了带宽,使得这种方法成为那些成本敏感应用的理想选择。

Rogue Swarm demo:将Vulkan和PowerVR Series8XE带入我们的生活

借助这些工作我们能够专注于调整计算性能和分片着色器的性能,我们的SDK ShaderEditor工具可以用于脱机状态下的分析,PVRTune工具可以用来进行设备性能指标检测和分析。这些工具非常的有用,PVRTune还能够在非root用户设备上工作,这与其他供应商提供的类似工具不同,使得其成为在真实平台上开发应用制造商的理想选择。

随着大部分功能特性的实现,我们的艺术团队才能够设计出令人惊叹的场景,使得我们的demo能够脱颖而出。高分辨率的行星、小行星材质和网格都是我们内部团队创建的,并且借助SDK PVRTexTool工具进行了压缩处理,这款工具能够帮助移动开发人员轻松的完成材质压缩操作,支持各种格式,当然也包括我们的PVRTC。

我们对于最终的demo效果感到非常的自豪,而且我们收到了来自GDC 18大会上开发人员大量的反馈。现在我们已经可以在PowerVR GE8100平台上运行这款应用,支持的设备包括HTC Desire 12、华为Honor Play 7和Ulefone Armour X等。这个demo在这些设备上运行的很好,具有非常高的帧率且非常的流畅。现在我们在Series8XE的基础上推出了更加先进的PowerVR Series 9XE系列GPU。这些内核被我们的很多半导体制造商合作伙伴所采用,并将很快进入到消费电子产品中,结合对Vulkan的全面支持意味着像Rogue Swarm这样出色的应用会越来越多。

最后,从类似的这些应用和我们收到的业界反馈可以很容易的理解为什么采用Vulkan的应用程序运行的速度如此之快,真正实现了“一次编程,快速运行,随处兼容”的承诺。

原文链接: https://www.imgtec.com/blog/rogue-swarm-demo-bringing-vulkan-to-life-wit...

声明:本文为原创文章,转载需注明作者、出处及原文链接,否则,本网站将保留追究其法律责任的权利

最新文章