转发过去。TBDR-我们的力量

是的,这些家伙!


Imagination Technologies是为数不多的能证明在这个世界上您可以同时存在于两个实体中的公司之一:阴暗处和盈利处。如果有人知道如何优化3D场景的渲染,那么Kristof Beets总是知道更多。在过去的几年中,这名男子是PowerVR(Imagination Technologies的一个部门,从事3D图形芯片的开发)的面孔,并向我们​​介绍了他是如何与几个人一起提出新的渲染方式的。在散布着每张基于其芯片的视频卡评论的手册中,您总能找到关于传统渲染方法及其辉煌发展的非常粗糙的解释-瓷砖渲染,这种技术在2001年如此风靡,以至于...您还没有听说过?但是声音很大

过去的3D管道


今天,我们在手术台上……您会怎么想?



PowerVR系列3哦,是的,我们会正确打开它,但先介绍一下历史。当他进入市场时,他不得不与ATI R100NVIDIA Giraffe 3等巨头竞争这些都是严肃的决定,但是PowerVR不会争夺兆赫。根据PowerVR的说法,他们两个都使用已建立的,毫无希望的传统方法绘制3D图形,或者可以将其称为即时模式渲染为了理解它是什么,我们将不得不扰乱诸如图形管线(以下称为3D管线)之类的概念
3D管线?
! , …

3D- - . : , ? 3D- (3-Dimensional Modelling) ( ), : xyz . (space), . - ,- . , , - …

, () () 3D- — . :


3D- , .

, , ( ) (3D-). 3D- — 3D- (, ).
, 3D- , , 3D-, .

() . 25 ( FPS — Frames per Second), , .

: VSync, fps . , HDD, CPU RAM. — , FPS. Unreal 3D-, , , , .
- FPS = 60, , FPS = 25. 60 , FPS > 60. , ;)


通过PowerVR观看经典的3D管线

好了,回到我们的牛 立即模式渲染(以下称为IMR)。多年来,PowerVR pc视频卡已经在市场上出现,它为我们提供了IMR视频卡中使用的经典3D管道的剪裁

图片

如果您相信该方案,那么经典3D管道就是
该应用程序在RAM中生成带有多边形的帧,并将其提供给视频卡以供食用。首先对gpu中的每个多边形进行栅格化和纹理处理,然后才进行检查以将其与场景中的另一个多边形重叠。也就是说,从本质上讲,事实证明,我们可以先在内存中准备一棵复杂的树,然后准备相同的复杂人,然后才意识到一个人将几乎完全覆盖整个树。是的,IMR有点无效。原来透支了

PowerVR提供什么

今年,PowerVR一直在为我们提供服务:“ 在开始渲染之前先考虑一下! ”。
看起来是如此简单!我们只需要交换图中的前两个阶段。

图片

但是,这背后隐藏着一个大问题:那时,整个3D管道都硬连接到硬件中的芯片中(从几何图形到输出再到帧缓冲区)。因此,PowerVR在其芯片中极大地改变了3D管线,同时发明了自己的渲染方法:基于图块的延迟渲染Deferred关键字,因为例如有Intel GMA视频卡使用了Coined Zone Rendering,该区域本质上也是基于图块的。

英特尔在其集成显卡解决方案中使用了类似的概念。但是,他们的方法,精铸区渲染,不能执行完全的隐藏表面去除(HSR)和延迟纹理化,因此浪费了最终图像中不可见的像素的填充率和纹理带宽。
...
en.wikipedia.org/wiki/PowerVR

实际上...


...当然不是那样的。即:

  1. (1995 — 2000 .) IMR TBDR , . 2001 PowerVR, , . IMR- , , , , 3D- . , , , z-buffer'.
    2001 , HyperZ ATI Lightspeed Memory Architecture NVIDIA. , overdraw , !

  2. , , PowerVR . 3D- IMR (. 3D- PowerVR) , 2 ( NSR). 2001 (ATI R100, NVIDIA 3) , « » 3D-.
    , TBDR !


由于上述原因,PowerVR 再次陷入了阴影,他们的进一步命运落在了另一个细分市场(iPhone所有者您好)。但是,PowerVR Series 3芯片真正具备的功能是什么?


在我眼角之外


对于诸如PowerVR卡之类的稀有产品,您必须对抢夺感到满意。也就是说,不会有像Videologic Vivid这样的不羁家伙Hercules 3D Prophet,但有这样的事情: 在照片中,PC领域中最新发布的PowerVR芯片上的SUMA Platinum K2 AGP视频卡是PowerVR Series 3。所有这些卡都是根据相同的参考设计制作的,但是在此韩语中没有PowerVR铭文,无知者可以从中经过。这里的散热器是华硕(Asus)的产品,因为所有这些板子都带有非常低调的低噪声散热器,因此很快命令它们寿命很长。另外,现在地图上的所有详细信息都就位了:)在地图上,我更新了最新的BIOS

图片







似乎该卡与5500伏都教徒之间的距离似乎还算遥遥无远:所有相同的350Mtexels,64米SDR内存,2像素管线,DX6(以及因此完全不包含着色器),所有相同的带有边带的AGP2x(以及没有bun头)... 但似乎只是

贴心


图片

PowerVR Series 3芯片本身诞生于2000年。这已经是人们的第三次(省略修订)现象了,这是第一次给人们加冠。显然,该芯片非常成功,以至于它能够在2004年再次继承历史:某家公司Pixel Perfect在其上制作了一张卡片(此外,根据参考设计,再加上一个已经过时的散热器,是的,还必须修复)。因此她的尸检表明该芯片根本不是PowerVR Series 3的 因此,请坐下,在这里您需要讲述一下现在真正具有传奇色彩的百慕大三角:Imagination Technologies-PowerVR-STMicroelectronics

图片

。这个三角形肯定在那里,但我们都没有遇到,现在绝对没有。传说中说,在那几年,PowerVR根本不是Imagination Technologies的一个部门,而仅仅是一个拥有一系列技术的品牌(他们拥有)。好吧,臭名昭著的意法半导体(STMicroelectronics)从Imagination Technologies购买了许可证,并凭借其创新能力铆接了这些创新的芯片。因为Imagination Technologies没有自己的设施。甚至很难说出这两个名称中的哪个实际上是KYRO的名字(但可以说这是开罗(开罗)的派生词)。好吧,具体地说,这种STG4500-X芯片(在KYRO II的普通人中)是PowerVR Series 3
好吧,正如您正确理解的那样,至少还有另外一个化身基本与KYRO II相同的PowerVR Series 3 - STG4000-X(或KYRO I)仅在较低的频率下工作

……但是KYRO II的内部已经摆在桌子上并冻结了:

  • 该芯片只有两个像素管线,但是它们始终可以工作,因此,是否在游戏中启用了多重纹理都没关系。因此,此处的Mpixels等于Mtexels(是的,就像在voodoo中一样)。

  • , . , — , .
    , Tile Based Deferred Rendering ( — TBDR), . , :

    … FPS . ? TBDR — 3D-, . ? ( IMR-), KYRO, TBDR, (display lists). KYRO , , , , . .

    ...
    Kristof Beets TBDR:

    , , PowerVR KYRO (), 1632px 3216px 32x32px .. . PowerVR KYRO tile-buffer . Tile-buffer , . 3D- :

    1. Tile Binning (Sorting).
      . , ( — ) , (Z) . KYRO .

      image

      . , . tile-buffer', , , . tile-buffer' . .

      image

    2. The Hidden Surface Removal Algorithm
      . , , , ( Z). , , ( ). , , , , , .
      , tile-buffer' №43. , , №43. . Z ( , ) , . tile-buffer', , - , , ( Z). , .

      image

      , . (-___) . , , tile buffer . PowerVR .

    3. Rendering
      , . Display List Rendering:

      image

      KYRO , , PowerVR.
      1 ( 60)




  • , PowerVR 8 , , . 2001 , , , , , EMBM. , , , ? , , , , , TBDR, ?

  • OGSS super-sampling anti-aliasing 4x, , PowerVR . , , - . , 16xAF , ?

  • , ? , , KYRO II AGP4x , , , , . , 5 .


但是,您在这里寻找,寻找和...找不到。是的,可惜啊,硬件转换和照明(以下简称HW T&L)也不在这里。这就是原因(从powervr.com在线存档中删除 FAQ ):
KYRO和T&L

“没有硬件T&L?你一定是在开玩笑! ”

实际上,KYRO和KYRO II硬件不支持硬件T&L。尽管此选择可能会令人惊讶,但此决定背后有充分的理由。

The truth is that most games available at the moment are fill-rate limited. As frame rate and resolution increase the graphic hardware reaches a point where it cannot transfer data as fast as the CPU would like to. This is the famous memory bandwidth problem. While the graphic hardware struggles, the CPU is idle waiting for the next frame to finish rendering. Why waste this precious CPU time when it could be used to handle transformations? As an example, consider a game at 1280x1024x32 resolution running at 60 frames per second. We’ll assume a depth complexity of 3 for this game, although this figure could easily be higher as games get more complicated. The fill-rate requirement for this game is 1280x1024x4x60x3 = 943 Mpixels/sec. This figure is at least twice the real fill-rate of other hardware, which means the game is fill-rated limited. Quake 3 Arena is fill-rate limited in this situation.

KYRO II被设计为主流部件,包括T&L单元不仅成本更高,而且在大多数情况下(取决于CPU和游戏)也不会提高性能。有时硬件T&L会显着提高性能,但现在还不是。如果游戏已经受到填充率限制,则向其添加硬件T&L不会使其运行更快!

好吧,就是说,如果Nvidia决定加速3D管线的几何部分,那么PowerVR会加速其余部分

实作


我敢于请您:KYRO在Windows XP中经过培训!(毕竟,Longhorn已经到了2001年)。因此,我因恐惧而逃离了千年管!为此,他获得了通过全新的MSI Afterburner进行游戏OSD监控的成熟机会,以及人机界面和OS稳定性。没错,您再也无法摆脱蓝屏了,这当然是个缺点。...

但是,Windows内置的KYRO柴火不多。但是另一方面,PowerVR本身有两个:最后一个和最后一个Beta(就像3dfx,是的……)。这是后者的外观:

  • 在主选项卡上有超频:)



  • 带有Pretzels的OpenGL



    谁不明白,F1




  • Direct3D与包子



    F1





通过大量的面包和椒盐脆饼,很明显,TBDR在游戏中进展不顺利。但是木柴开发人员已经照顾了最受欢迎的木柴。是的,没错,在驱动程序中,您肯定会找到一个文件,警告Windows porsche.exe应用程序将需要一个发bun(和椒盐脆饼!),但事实并非如此:



在此类应用程序(和游戏)的最后一个测试版中,有超过100个...
...但是,不幸的是,在佩剑右边的奇妙的《阿拉伯之夜》中,似乎有一个菜单:



在这里,您不能用KYRO来bun头。可能会有很多这样的游戏?以及所有原因:在DirectX成为事实上的标准的兴起之初,许多开发人员自行实施了最疯狂的3D渲染技术。那怎么办呢?是的,在IMR卡上,其3D管道自2000年诞生以来就没有发生过变化。但是,至少在DirectX6时代的游戏中,带有TBDR的KYRO仍然更好。

除此之外,滑雪也不会继续进行...考虑到我的两张卡都在维修后,一张带有缝合的BIOS,第二张带有2004年的自定义BIOS,很可能是第二张。但是,两张卡上的问题相同:您设置了一个分辨率,但您又获得了另一种分辨率(哪个分辨率取决于木柴的版本)。所以,在任何条件下,我都无法在任何一张卡上将1280x1024设置为3D。

应用等级




注意,配置:

MB:技嘉6vtxe(Apollo Pro133T芯片组)
CPU:奔腾3-S 1.4Ghz / 512Kb / 133FSB
RAM:3x256Mb PC133
HDD:健康的UDMA-5 WD,具有不错的2MB缓存和5400RPM
WinXP SP3
视频:II GPVRY

重要:
  • 为了公正起见,我们将研究Deus Ex(好吧,以便可以与以前的审阅者进行比较)。但是,请注意,由于芯片(TBDR)的体系结构,例如Quake 3中的结果在性能方面将完全不同。这主要是由于游戏及其引擎的独特性:在某处有大量的透支(2-3)和x4多重纹理,在某处只有大量的多边形,但几乎没有透支。
  • 游戏中的图形设置:最大色彩,各种三线性和立体闪电!
  • 木柴设置...好吧,我们将进行实验!
  • 进行超频是没有意义的;这些卡实际上不会超频(同样,由于其体系结构)。


因此,让我们通过技术更快地...

API

  • Direct3D. , DirectX7. , DirectX6, , - , HW T&L ( 3dfx, ...). - .



    , 5, , , . :



  • OpenGL. : ICD. — ! , :



    - .

  • PowerSGL Direct. ,- PowerVR, :

    Infinite planes effects were not part of Open APIs and full capabilities of PowerVR can be exploited only through proprietary SGL. The API also supported data instancing to save memory by avoiding duplicates of materials, transformations and objects.

    vintage3d.org/pcx1.php

    KYRO , , Infinite planes , data instancing OGL / D3D.

    SGL2.dll ( !). , PowerSGL Direct2 ( , : SDK ). , PowerSGL SGL.dll, , . Unreal ( SGL):



    SGL.dll(和随附文件)来自PowerVR Series 2的柴火-大致相同的结果。事实证明,PowerSGL Direct已被淘汰,但是为什么还要完成PowerSGL Direct 2无论如何,如果您想玩美丽的古墓丽影 -购买PCX2 ...


色彩丰富

除了完全支持32位色彩,甚至还可以在24位色彩下工作



……KYRO具有一项很酷的体系结构功能:整个3D管线始终以32位色彩工作。总是。这意味着两件事:
  1. 切换到16位彩色时,它不会变快。
  2. 16位彩色的图像质量甚至比其22位彩色的3dfx还要高。完全是因为根据TBDR的规范,将帧从32位转换为16位只能在输出上进行一次。而在16位模式下的IMR中,每个新的重叠(例如,纹理到纹理)都会将纹理从32位转换为16位。

尽管如此,我还是建议过一种健康的生活方式,让自己生活在多彩的特鲁科洛世界中,而不是抓住毛病和歪曲。毕竟,现在免费了!(顺便说一句,最终可以单击镜头 速度的差异(在白色文字FPS之下),请注意,这种情况很少见。







最有趣的。性能

在完成所有这些讲座之后,一个简单的人会提出一个简单的问题:“这一切是否比带Radeons的长颈鹿要快?” 实际上,如果您不详细介绍,那么一切都取决于案例:)我会引用一下自己:
由于芯片(TBDR)的架构,例如Quake 3中的结果在性能方面将完全不同。这主要是由于游戏及其引擎的独特性:在某个地方有巨大的透支(2-3)和多纹理x4,在某个地方只有大量的多边形,但几乎没有透支。


全屏抗锯齿(FSAA)

清理倾斜线上的梯子。该芯片使用OGSS方法实现了三种类型的FSAA:



但是即使在这里,一切也不容易。正如我在上面负责任地指出的那样,无法在KYRO II上设置1280x1024像素(实际上,事实证明更多)。最初,我决定在这种情况下可以满足1280x960的分辨率,因为64像素的高度并不是最大的损失。
但是,我在这里等着一个惊喜。事实证明,在高水平分辨率(水平大于1024像素)中,FSAA选项2x12x2(这是图片在水平方向上加倍时)将不起作用。因为芯片不知道如何使用大于2048px的水平分辨率。

因此,对于初学者来说,让我们看看FSAA如何以1024x768的分辨率工作在图片中,查看桌子上椅子的垂直腿的锯齿(梯子)和灯(或桌子)上的水平线的锯齿: 也许有些特别细心的人已经注意到,水平FSAA可以垂直而不是水平地移动楼梯反之亦然。就像我在下面告诉我的(谢谢你,









先生):水平FSAA可提高图像的水平分辨率,因此可删除垂直梯形图。

可以注意到的是(什么?)与FSAA的许多谣言相反,nifiga不是免费的,FPS随程度的增加而显着下降。也就是说,一切都一如既往:您要吗?工资!这是第一个。

其次,实际上,我告诉您同样的FSAA的质量...就像通过脏玻璃一样。仍然没有任何东西,将它拉到整个屏幕上,您将立即理解(今天每个浏览器都有一个支架)。另外,如您所知,您可以使一侧或两侧都光滑。两侧的2个样品(如3dfx)无法熨烫。不,尽管他们说的是事实,但OGSS与voodoo5中使用的RGSS相距甚远。

各向异性过滤(AF)

这就是三线性的发展。您无需选择一个度数,它只是存在而已:)要了解其作用,请查看左墙上的重复图案,以及随着距玩家相机距离增加而清晰可见的方式(是的,一个较暗的示例,您必须在没有照明的情况下看上去): 谁想要了解她(AF)的操作方法,请在此处阅读







FSAA +自动对焦

好吧,当然,您和我需要了解该卡将如何跟上所有这些。在这里:

1024x768可以这么说,在这里您仍然可以执行完整的FSAA。让我们尝试一下。1280x960在这里,我们已经可以仅垂直执行FSAA。 事实证明,KYRO II不容许AF + FSAA-没有人对观看幻灯片感兴趣。好吧,由于FSAA的质量可以被评为“差”,因此建议庆祝增加分辨率的喜悦,并永远忘却它。在高分辨率下,您可以打开自动对焦,但是速度会很慢。因此,女士们,先生们,在Deus Ex(及类似游戏)中,KYRO II似乎毫不客气地让您对三线性感到满意,并等待下一个带有硬件T&L模块的芯片发布。但是没有人等他。因此TBDR在PC上结束了。





















好吧,你知道...


如果我们放弃KYRO本身的体系结构-对于普通学生来说,那是最普通的视频卡,那里没有任何模糊的近似值,22位颜色,禁止的api和其他废话,今天是时候组装一台旧计算机了。在KYRO,一切都是:
  1. 非常简单:诚实的32位颜色,完全支持DX6,DX7仿真。
  2. 极快:没有什么可分散的
  3. 而且非常便宜 :)


对于当时需要在KYRO II上购买卡的钱,这真是个甜心。是的,酸甜的馅料,但仍然比两家知名公司现在推出的种类繁多的要好。
值得注意的是,PC领域PowerVR的命运在许多方面都与3dfx的命运相似(您甚至还可以记住即将购买的Gigapixel)。相同的惊人创新,相同的问题以及相同的退出延迟。结果,离开了市场,另一个封闭的API(PowerSGL)被淘汰。

总的来说,归根结底是我们可以说两件事:
  1. 一切新事物都被严重掩埋了。

    , api api ( , ) — (, , !). ! , !
  2. !

    PowerVR . , 2007 : , Deferred Shading. , , PowerVR. IMR.


致谢


  • 我向同一圣彼得堡办事处的两名工程师鞠躬,他们帮助了零件,甚至为我焊接了零件!没有它们,就不会有Voodoo5和Kairo的任何评论!

  • 能够对old-games.ru进行管理,使其能够快速免费下载20 游戏,而只是检查文件结构并运行一次。

  • 视界的发现者和被子的撕裂-VOGONS社区进行大量独特的研究和开发!


...待定...

参考文献
PowerVR VOGONS
KYRO
KYRO II

PowerVR ( !)
PowerVR ( ).

3D-.
Kristof Beets', PowerVR.
vintage3d.org — 3D

Source: https://habr.com/ru/post/zh-CN381895/


All Articles