GPU爆炸式发展的背后及未来挑战趋势
移动设备已经成为最主要的游戏平台,由于移动游戏的便捷性,玩家人数持续增加,并进一步推动游戏数量的上升。从免费的独立游戏到数百万美元投资的工作室游戏,现代玩家有丰富的游戏类型、价格和质量等级可供选择。随着可选游戏数量的上升,视觉效果也得到显著改善。GPU刚刚引入移动设备时,3D游戏简单粗暴,不堪入目。而现在呢?游戏画面丰富多彩,景色怡人,动态感十足,在上一代的手柄游戏机时代都是前所未闻的。
本文引用地址://m.amcfsurvey.com/article/201701/343150.htm![GPU爆炸式发展的背后及未来挑战趋势](http://m.amcfsurvey.com/editerupload/201701/66df5da7a379a18a0035003ceb746001.jpg)
上图是ARM演示团队制作的三张示意图。我们先来看看相对简单(以今天的标准)的3D内容,演示游戏为2010年推出的True Force,运行于2011年款的Galaxy S2。每帧图元16k,片段处理每像素时钟周期3.7次,基于OpenGL ES 2.0。
3年后的2013年,OpenGL ES 3.0正式推出,改善了GPU对GPU运算的支持(并不是OpenGL ES 3.0 API的主打特色,而随OpenGL ES 3.1正式推出);允许开发商使用更多高级渲染技术。结合基础硬件后,视觉质量显著提升。将Trollheim演示与TrueForce比较一下便可一目了然,前者的复杂性比后者高了不少。TrueForce的每帧图元为16k,而Trollheim为150k,TrueForce的片段处理每像素时钟周期为3.7次,而Trollheim则为16次。
2016年,Vulkan正式推出,API效率大幅提高,与OpenGL ES相比能够以更低的开销帮助开发商更好地发挥硬件性能。当然,硬件本身也快速发展,比较一下Lofoten和Trollheim演示,我们即可清楚地看到复杂度的提升:每帧图元提高了300%,片段复杂度提高了150%。
智能手机设计的挑战与趋势
使用场景的变化仅是一个方面,移动设备本身也经历大幅升级。智能手机市场最初主打旗舰机型,随着智能化程度的不断提高,很多 PC特性已经可以实现,但通讯依旧是其主要功能。然而,过去短短几年间,智能手机用途不断扩展,打电话已不再是智能手机的主要功能,图像显示成为了关注焦点。
过去,手机电池寿命一般用单次充电支持的通话时长来衡量,而现在的标准则是网络浏览或高端游戏的续航时间,GPU与显示性能一起备受关注。用户希望体验更高质量的视觉效果,到目前为止,这一目标都是经由智能手机设计改善,以及显示内容的美感和流畅性来实现,一个证据就是屏幕边框变得越来越窄。市场的大致趋势是朝着屏幕包裹设备的方向发展,设计美感更多由UI而非硬件来实现。下图中,我们可以看出屏幕占整个设备的比例不断增加。这一趋势在三星Galaxy S7 Edge等机型上体现得尤为明显,已经实现屏幕对设备的全包裹。
![GPU爆炸式发展的背后及未来挑战趋势](http://m.amcfsurvey.com/editerupload/201701/23c7e98a49c7279b7851cd1358646c7d.jpg)
除了打电话,现代智能手机还能提供极为丰富的功能,如邮件、社交媒体、导航定位、支付、浏览网页、游戏、拍照和视频等等。用户在期待功能升级的同时,也希望电池寿命不断延长。但是,即便使用当前所有最先进的技术,智能手机的电池容量还是要不断增大,具体变化趋势见下图。
![GPU爆炸式发展的背后及未来挑战趋势](http://m.amcfsurvey.com/editerupload/201701/9ab865620b91aaf974baf5e8fbd2e9f8.png)
除了电池容量变大,智能手机还变得越来越薄。一些机型的厚度甚至已经达到了7毫米以下,考虑到现代智能手机的技术含量,如此纤薄实在令人惊讶。
这样的发展方向并非完全没有弊端。屏幕增大导致电池尺寸变大,机身变薄,设备散热能力下降,因为屏幕的散热效率不如金属机身。此外,机身变薄后,用以散热的表面积也会减少。现代高端智能手机的性能上限很大程度上被散热能力牵制,如何保证机身内部元器件不因为高温而受损则因此成为另一大挑战。
现代智能手机装有多种耗电发热的核心元件,如摄像头子系统、屏幕、调制解调器、Wi-Fi、非易失性存储器、DRAM和主芯片本身(包括CPU、GPU和其他处理器)。因为总功耗一致,所以其中任何一个元件功耗的减少,都可以增加其他元件可以使用的配额,这也是系统功耗配比由用例决定的原因。
现代GPU非常复杂,严重依赖CPU运行驱动程序,以实现基于软件与应用程序进行交互。多亏了Vulkan这样的现代API,驱动程序的开销下降了,但是CPU依然需要运行驱动程序,所以不能完全避免耗电。由于所有元件功耗预算共享,因此在CPU中使用的、用于GPU交互的功耗就是不能应用于GPU本身的功耗。基于上述原因,降低CPU功耗势在必行,不仅是为GPU发展扫清瓶颈,更是要为尽可能的提高GPU可用功耗铺平道路。
与之类似,在运行复杂3D游戏的现代系统中,GPU会消耗大量DRAM带宽。由于要处理大量数据(上述提及的Lofoten每帧处理600,000个三角),消耗带宽责无旁贷,但DRAM的读写本身就是耗电的过程,也需要占用系统的总功耗预算。减少DRAM带宽可以降低其功耗,并用于其他元件。
评论