欢迎光临KOTOO财情




从点到面、从黑白到彩色,一步步绘出奇幻世界的显卡

2024-05-07 217

每当要购买新电脑时,商家大多会询问是否有游玩游戏的需求。如果答案为是,商家便会在销售时,特别强调该款电脑采用哪一张独立显卡,可以完美的游玩该年度的游戏大作。此外,Apple 在 3 月 21 日的发表会中,发表了 iPhone SE。在会中,便强调 A9 芯片的 GPU 效能和 iPhone 5s 相比,提升了 3 倍,为使用者带来更佳的游戏体验。究竟是什么因素,让电脑商总是将显卡和游戏拉上等号?

显卡,正式名称为图形处理器(Graphics Processing Unit),常以 GPU 做简称。GPU 主要是负责绘制影像以及影像输出,像是绘出游戏的画面以及将 3D 制图的画面输出至屏幕上。因此,对于游戏玩家或是做电脑绘图、动画的人而言,显卡扮演着至关重要的角色。

 

逐年增加的画面品质要求,将 GPU 推上舞台

在第一台个人电脑发表时,因为电脑主要是给工程师使用而且电脑游戏才刚起步,对图形的需求仅为基本的文字显示和点线间的相连,因此画面处理的功能大多是隶属于 CPU 下的一项功能。也因为尚未注意到图形处理的重要性,所以还没有图形处理器这个名词。

后来,在 Apple 发表具有视窗界面 Macintosh 后,各类采用图形界面的应用程序开始发展,CPU 开始无法负荷与日渐增的图形处理需求。此外,随着图形界面开发工具的成熟,电脑游戏的画面变得越来越细致。庞大的显示负担,一举让显示加速卡跃上舞台,取代 CPU 的图形工作。

直到 1999 年,Nvidia 发表了 Geforce 256,将显示加速卡重新命名为 GPU。从此,显卡取得一个专业的名称,并成了和 CPU 一样重要的电脑元件。然而,绘制影像究竟有哪些事情要处理,而会造成 CPU 庞大的负担?

 

图形处理,化虚拟为真实

电脑的图形处理,可以大致分成 5 个步骤,如下图箭头的部分。分别为 vertex shader、primitive processing、rasterisation、fragment shader、testing and blending。

▲ 三维座标绘图并产生屏幕输出的图形。(Source:enlightenment.org)

第一步,vertex shader。是将三维空间中数个(x,y,z)顶点放进 GPU 中。在这一步骤中,电脑会在内部模拟出一个三维空间,并将这些顶点放置在这一空间内部。接着,投影在同一平面上,也是我们将看到的画面。同时,存下各点距离投影面的垂直距离,以便做后续的处理。

这个过程就像是在地球观看星星一般。地球的天空,就像是一个投影面,所有的星星,不管远近皆投影在同一面上。在地球的我们,抬起头来观看星星,分不出星星的远近,只能分辨出亮度。GPU 所投影出的结果,和这个情况类似。

▲ 从地球所看到的星空,星星就像是投影到一球面上,除非使用特别的仪器,不然分不出星星和地球的距离。(Source:By Tauʻolunga (Own work) [GFDL, CC-BY-SA-3.0 or CC BY-SA 2.5-2.0-1.0], via Wikimedia Commons)

第二步,primitive processing。是将相关的点连结在一起,以形成图形。在一开始输入数个顶点进入 GPU 时,程式会特别注记哪些点是需要组合在一起,以形成一线或面。就像是看星座的时候一样,将相关连的星星连起来,形成特定的图案。

第三步,rasterisation。因为电脑的屏幕是由一个又一个的像素组成,因此,需要将一条连续的直线,使用绘图的算法,以方格绘出该直线。图形也是以此方式,先标出边线,再用方格填满整个平面。

第四步,fragment shader。将格点化后的图形著上颜色。所需著上的颜色也是于输入时便被注记。在游玩游戏时,这一步相当耗费 GPU 的计算资源,因为光影的效果、物体表面材质皆是在这一步进行,这些计算决定着游戏画面的精细程度。因此在游玩游戏时,调高游戏画面品质大幅增加这一步的计算负担,降低游戏品质。

▲ 将一个三角形,用方格呈现近似原始图案,并著上颜色。一块又一块的方格,就是显示器上的像素。(Source:enlightenment.org)

最后一步,testing and blending。便是将第一步所获得的投影垂直距离取出,和第四步的结果一同做最后处理。在去除被会被其他较近距离的物体挡住的物体后,让剩下的图形放进 GPU 的输出内存。之后,结果便会被送到电脑屏幕显示。

 

显卡效能,决定游戏画面的分辨率及品质

至此,我们了解要将游戏画面输出到屏幕上需要经过相当多的步骤。一步又一步的繁复计算流程,让 CPU 吃不消。此外,现行屏幕分辨率有不断提升的趋势,此趋势将大幅增加显卡的负担,因为越高的分辨率便代表有更多的点需要被计算,需要用更多时间才能完成上述的步骤。

另外,当我们调高游戏的画面品质,将大幅增加第四步的计算量,因为有更多的细节需要被加进游戏的画面里。因此,才会有前两代的顶级显卡,将等于现行高等显卡效能的说法。毕竟游戏是能吃掉大量计算资源的怪物。

也因此,在 GTC 2016 上,GPU 大厂 Nvidia 的 CEO 黄仁勋便说到:

“We love games and we love graphics, games and graphics has really pushed the boundary of advanced computing for many years. For nearly 25 years, we’ve seen how quickly computer games has evolved and how hard to pushes technology”

总体而言,说游戏是推动科技发展的其中一个推力也不为过呢!

  • A Closer Look at GPUs
  • 3D Graphics with OpenGL Basic Theory
  • Evas GL Programming Guide

(首图来源:shutterstock)

2019-04-01 20:30:00

标签:   资讯头条 kotoo科技资讯 kotoo科技 kotoo科技资讯头条 科技资讯头条 KOTOO商业产经 新闻网 科技新闻网 科技新闻 Kotoo科技新闻网 Kotoo Kotoo科技新闻网 科技新闻 科技新闻网 新闻网 KOTOO商业产经 kotoo科技资讯头条 kotoo科技 kotoo科技资讯 资讯头条 Kotoo科技新闻网 科技新闻 科技新闻网 新闻网 KOTOO商业产经 科技资讯头条 kotoo科技资讯头条 kotoo科技 kotoo科技资讯 资讯头条
0