Adelante al pasado. TBDR: el poder que somos

Sí, estos muchachos!


Imagination Technologies es uno de esos pocos que ha demostrado que en este mundo definitivamente puede existir en dos entidades a la vez: a la sombra y en ganancias. Si alguien sabe cómo optimizar la representación de una escena 3D, Kristof Beets siempre sabe más. En los "años pasados", el hombre era la cara de PowerVR (una división de Imagination Technologies dedicada al desarrollo de chips de gráficos 3D) y nos contó cómo él, junto con un par de personas, ideó una nueva forma de renderizar. En los folletos que salpican cada revisión de las tarjetas de video basadas en sus chips, siempre se puede encontrar una explicación muy cruda del método de renderizado tradicional y su brillante evolución: el renderizado de mosaicos, que tronó en 2001 que ... ¿no has escuchado? Pero fue fuerte !

Tubería 3D como era


Hoy en la mesa de operaciones tenemos ... ¿quién pensarías?



PowerVR Series 3 ! Oh sí, lo abriremos correctamente, pero primero un poco de historia. En el momento en que ingresó al mercado, tuvo que competir con gigantes como el ATI R100 y NVIDIA Giraffe 3 . Estas fueron decisiones serias, pero PowerVR no iba a competir por megahercios. Según PowerVR, los dos dibujan gráficos en 3D con el método tradicional poco prometedor establecido , o podría llamarse renderizado en modo inmediato . Para entender cómo es, tendremos que perturbar un concepto como una tubería gráfica (en adelante denominada tubería 3D ).
Tubería 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. , ;)


Canalización 3D clásica a través de los ojos de PowerVR

Bueno, volvamos a nuestra representación del modo inmediato del ganado (en adelante, IMR ). A lo largo de los años de su existencia en el mercado, las tarjetas de video para PC PowerVR nos han dado un recorte de la tubería 3D clásica que se usa en las tarjetas de video IMR :

imagen

Si cree en el esquema, la tubería 3D clásica es exactamente la siguiente :
La aplicación genera un marco con polígonos en RAM y lo entrega a la tarjeta de video para comer. Cada polígono en gpu se rasteriza y texturiza primero, y solo entonces hay una comprobación para superponerlo con otro polígono en la escena. Es decir, en esencia, resulta que primero podemos preparar un árbol complejo en nuestra memoria, luego preparar a la misma persona compleja, y solo entonces darnos cuenta de que una persona cubrirá casi por completo este árbol completo. Sí, la IMR es de alguna manera ineficaz. Resulta sobregiro .

Lo que ofrece PowerVR

Y PowerVR nos ha estado ofreciendo este año: "¡ Piensa antes de comenzar a renderizar! ".
Parecería tan simple! Solo necesitamos intercambiar las dos primeras etapas de la imagen.

imagen

Pero detrás de todo esto hay un gran problema: en ese momento, toda la tubería 3D estaba conectada a los chips en el hardware (desde la geometría hasta la salida al framebuffer). Por lo tanto, PowerVR en sus chips cambió drásticamente la tubería 3D, al mismo tiempo que inventó su propio método de renderizado: ¡ Renderizado diferido basado en mosaico ! La palabra clave diferida , porque había, por ejemplo, tarjetas de video Intel GMA que usaban el renderizado de zona acuñada , que esencialmente también está basado en mosaicos.

Intel utiliza un concepto similar en sus soluciones gráficas integradas. Sin embargo, su método, el renderizado de zonas acuñadas , no realiza la eliminación total de la superficie oculta (HSR) y la textura diferida, por lo tanto, desperdicia el ancho de banda de la tasa de relleno y la textura en píxeles que no son visibles en la imagen final.
...
en.wikipedia.org/wiki/PowerVR

Y de hecho...


... por supuesto, no fue así. A saber:

  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 !


Por las razones anteriores, PowerVR volvió a caer en las sombras y su destino adicional estaba en otro segmento (hola a los propietarios del iPhone). Pero, ¿de qué era realmente capaz el chip PowerVR Serie 3, las tarjetas en las que nunca nos llegaron?


Por el rabillo del ojo


Cuando se trata de rarezas como las tarjetas PowerVR, debe contentarse con arrebatar. Es decir, ¡no habrá tipos tan retorcidos como Videologic Vivid! o Hercules 3D Prophet , pero habrá, por ejemplo, tal cosa: en la foto, la tarjeta de video SUMA Platinum K2 AGP en el último chip PowerVR lanzado en el segmento de PC es PowerVR Series 3 . Todas estas tarjetas se hicieron de acuerdo con el mismo diseño de referencia, pero en este coreano no hay una inscripción PowerVR, de la cual el ignorante podría pasar. El refrigerador aquí es de Asus, porque todas estas placas tenían refrigeradores de bajo perfil muy ruidosos, que pronto les ordenaron vivir mucho tiempo. Además, ahora todos los detalles en el mapa están en su lugar :) En el mapa, actualicé la última BIOS .

imagen







Parece que la tarjeta no ha ido muy lejos (si es que lo ha hecho) del vudú de 5500: todos los mismos 350Mtexels, memoria SDR de 64 metros, 2 tuberías de píxeles, DX6 (y, como resultado, la ausencia total de sombreadores), el mismo AGP2x con banda lateral (y sin bollos) ... pero solo parece .

Más cerca del corazón


imagen

El chip PowerVR Serie 3 en sí nació en 2000 . Este ya era el tercer fenómeno (omitamos la revisión) para la gente, que por primera vez coronó con algo. Aparentemente, el chip tuvo tanto éxito que pudo heredar una vez más en la historia ya en 2004: cierta compañía Pixel Perfect hizo una tarjeta en él (además, de acuerdo con el diseño de referencia y nuevamente con un refrigerador, que ya se ha ido y, sí, esto también tuvo que ser reparado). Entonces, su autopsia mostró que el chip no es en absoluto PowerVR Series 3 . Entonces, siéntate, aquí debes contar sobre el ahora legendario triángulo de las Bermudas: Imagination Technologies - PowerVR - STMicroelectronics

imagen

. Este triángulo definitivamente estaba allí, pero ninguno de los nuestros lo cumplió, y ahora definitivamente no lo está. La leyenda dice que en esos años PowerVR no era una división de Imagination Technologies, sino simplemente una marca (que poseían) para un montón de tecnologías. Bueno, la notoria STMicroelectronics compró una licencia de Imagination Technologies y cautivó los chips con estas innovaciones a su capacidad. Porque Imagination Technologies no tenía sus propias instalaciones. Es difícil incluso decir cuál de los dos realmente se le ocurrió el nombre KYRO (pero se puede argumentar que este es un derivado de El Cairo (El Cairo)). Bueno, específicamente, este chip STG4500-X (en la gente común de KYRO II ) es el PowerVR Series 3 .
Bueno, es decir, como entendiste correctamente, hubo al menos una encarnación másPowerVR Series 3 - STG4000-X (o KYRO I ), que era esencialmente idéntico a KYRO II, solo funcionaba a una frecuencia más baja ...

... Pero el interior de KYRO II ya está sobre la mesa y se congela:

  • El chip tiene solo dos canales de píxeles, pero siempre funcionan, por lo que no importa si la multitextura está habilitada en el juego o no. Por lo tanto, los Mpixels aquí son iguales a los Mtexels ( sí, como en vudú ;)).

  • , . , — , .
    , 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 .


Pero aquí estás mirando, mirando y ... no encuentras. Así es, ay, ah, la Transformación de hardware y la iluminación (en adelante, HW T&L ) tampoco están aquí. Y he aquí por qué (recortando las preguntas frecuentes del archivo en línea de powervr.com ):
KYRO y T&L

“¿Sin hardware T&L? ¡Usted debe estar bromeando! "

De hecho, el hardware KYRO y KYRO II no admite hardware T&L. Si bien esta elección puede sorprender, hay buenas razones detrás de esta decisión.

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 fue diseñado para ser una parte principal e incluir una unidad T&L no solo costaría más, sino que tampoco mejoraría el rendimiento en la mayoría de los casos (dependiendo de las CPU y los juegos). Habrá un momento en que el hardware T&L mejorará significativamente el rendimiento, pero todavía no lo es. Si un juego ya tiene una tasa de relleno limitada, ¡agregarle hardware T&L no lo hará correr más rápido!

Bueno, es decir, si Nvidia decidió acelerar la parte geométrica de la tubería 3D, entonces PowerVR aceleró el resto .

Implementación


Me atrevo a complacerte: ¡KYRO está entrenado en Windows XP! (2001, después de todo, es hora de que Longhorn ya lo sea). ¡Así que huí del Tubo del Milenio con miedo! Por lo que recibió una oportunidad completa para el monitoreo de OSD en los juegos a través de MSI Afterburner , así como una interfaz humana y la estabilidad del sistema operativo. Es cierto, ya no puedes salir de la pantalla azul, esto, por supuesto, es un inconveniente ...

Sin embargo, no había leña incorporada en Windows para KYRO. Pero por otro lado, PowerVR en sí tenía dos: la última y la última beta ( al igual que 3dfx, sí ... ). Así es como se ve este último:

  • En la pestaña principal hay overclocking :)



  • OpenGL con pretzels



    Quien no entendió, F1




  • Direct3D con bollos



    F1





Por la abundancia de bollos y pretzels, resulta obvio que TBDR no tiene todo sin problemas con los juegos. Pero los desarrolladores de leña ya se han ocupado de los más populares. Sí, es cierto, en los controladores definitivamente encontrará un archivo que advierte a Windows que la aplicación porsche.exe necesitará un bollo (¡y un pretzel!), Pero no eso:



en la última versión beta de tales aplicaciones (y juegos) había más de 100 ...
... Pero, desafortunadamente, en las maravillosas noches árabes a la derecha del sable, parece haber un menú:



Aquí KYRO no puedes apaciguar con bollos; ¿Y podría haber habido muchos de esos juegos? Y todo por qué: en los albores del surgimiento de DirectX como estándar de facto, muchos desarrolladores implementaron las técnicas de renderizado 3D más locas por su cuenta. Entonces, ¿funcionó? Sí, en las tarjetas IMR, cuya tubería 3D no ha sufrido cambios desde su nacimiento hasta el año 2000. Pero KYRO con su TBDR es aún mejor para usar en juegos de al menos la era DirectX6.

Además de esto, el esquí no funciona ... Teniendo en cuenta que mis dos tarjetas están después de la reparación, una con BIOS cosida y la segunda con BIOS personalizada de 2004, muy probablemente la segunda. Sin embargo, los mismos problemas en ambas tarjetas: establece una resolución, obtiene otra (y cuál depende de la versión de la leña). Entonces,No pude configurar 1280x1024 en 3D bajo ninguna condición en ninguna de las tarjetas.

Nivel de aplicación




ATENCIÓN, Configuración:

MB: Gigabyte 6vtxe (chipset Apollo Pro133T)
CPU: Pentium 3-S 1.4Ghz / 512Kb / 133FSB
RAM: 3x256Mb PC133
HDD: UDMA-5 WD saludable con un caché decente de 2MB y 5400RPM
WinXP SP3
Video: II GPVRY

IMPORTANTE:
  • Veremos a Deus Ex , en aras de la justicia (bueno, para que pueda compararse con los revisores anteriores). Sin embargo, tenga en cuenta que debido a la arquitectura del chip (TBDR), los resultados, por ejemplo, en Quake 3 serán completamente diferentes en términos de rendimiento. Esto se debe en gran medida a la peculiaridad de los juegos y sus motores: en algún lugar un gran sobregiro (2-3) y multitextura x4, y en algún lugar solo un gran montón de polígonos, pero casi ningún sobregiro.
  • Configuración de gráficos en el juego: colores máximos , todo tipo de rayos trilineales y volumétricos.
  • Configuración de leña ... bueno, ¡experimentaremos!
  • No tiene sentido overclocking una tarjeta ; estas tarjetas prácticamente no overclockean (nuevamente, debido a su arquitectura).


Entonces, vamos más rápido por la tecnología ...

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(y el archivo adjunto) de leña para PowerVR Series 2: aproximadamente el mismo resultado. Resulta que PowerSGL Direct fue descartado, pero ¿por qué terminar el PowerSGL Direct 2 ? De todos modos, si quieres jugar a Tomb Raider , compra PCX2 ...


Colorido

Además del soporte completo para el color de 32 bits e incluso la capacidad de trabajar en 24 bits ...



... KYRO tiene una característica arquitectónica genial: toda la tubería 3D funciona todo el tiempo en color de 32 bits. ES SIEMPRE. Esto significa dos cosas:
  1. Al cambiar al color de 16 bits, no será más rápido.
  2. La calidad de imagen en color de 16 bits es incluso mayor que la de los 3dfx elogiados con su color de 22 bits. Y todo porque, según los cánones de TBDR, la conversión de una trama de 32 bits a 16 bits se realiza solo una vez, en la salida. Mientras que IMR en modo de 16 bits, con cada nueva superposición, por ejemplo, textura a textura, la textura se convierte de 32 bits a 16 bits.

Sin embargo, propongo llevar un estilo de vida saludable para vivir en el colorido mundo de Trukolor que detectar fallas y distorsiones. Después de todo, ¡ahora es gratis! (por cierto , finalmente se puede hacer clic en los disparos ) La diferencia en la velocidad (debajo del texto blanco FPS), tenga en cuenta que es raro.







El más interesante. Actuación

Después de toda esta conferencia, una persona simple plantea una pregunta simple: "¿podría todo esto ser más rápido que las Jirafas con los Radeons?" De hecho, si no entró en detalles, todo dependía del caso :) Me citaré a mí mismo:
Debido a la arquitectura del chip (TBDR), los resultados, por ejemplo, en Quake 3 serán completamente diferentes en términos de rendimiento. Esto se debe en gran parte a la peculiaridad de los juegos y sus motores: un gran sobregiro (2-3) y multitexturingx4, y un gran grupo de polígonos, pero casi ningún sobregiro.


Anti-aliasing de escena completa (FSAA)

Limpia escaleras en líneas inclinadas. Este chip implementa tres tipos de FSAA utilizando el método OGSS:



Pero incluso aquí, no todo es fácil. Como dije responsablemente anteriormente, no es posible configurar 1280x1024px en KYRO II (de hecho, resulta mucho más). Al principio decidí que, en este caso, puede contentarse con una resolución de 1280x960, ya que 64 píxeles de altura no es la mayor pérdida.
Sin embargo, una sorpresa me esperaba aquí . Resulta que en resoluciones horizontales altas (cuando la horizontal es mayor a 1024px), la opción FSAA 2x1 y 2x2 (esto es cuando la imagen se duplica horizontalmente) no funcionará. Porque el chip no sabe cómo trabajar con resoluciones horizontales superiores a 2048px.

Entonces, para empezar, veamos cómo funciona la FSAA en la resolución de 1024x768 . En la imagen, mire el alias (escalera) en las patas verticales de las sillas en la mesa y el alias de las líneas horizontales en las lámparas (o en la mesa): Quizás algunas personas especialmente atentas han notado que el FSAA horizontal elimina las escaleras verticalmente , no horizontalmente. Y viceversa. Como me dijeron a continuación (gracias,









MrShoor): la FSAA horizontal aumenta la resolución horizontal de la imagen y, por lo tanto, elimina las escaleras verticales.

Lo que se puede notar es que (¿qué?) Contrariamente a muchos rumores de la FSAA, la nifiga no es gratuita y la FPS disminuye notablemente con el aumento del grado. Es decir, todo está como siempre aquí: ¿quieres? ¡Pagar! Este es el primero.

Y en segundo lugar, de hecho, la calidad de este mismo FSAA, te digo ... como a través de vidrio sucio. Todavía no hay nada en las tomas, y si lo jalas en toda la pantalla, lo entenderás de inmediato (hoy cada navegador tiene un carro). Además, como comprende, puede suavizar un lado o ambos; 2 muestras en ambos lados (como 3dfx) no se pueden planchar. No, sin embargo, dicen la verdad, OGSS está lejos de RGSS, que se usó en voodoo5.

Filtrado anisotrópico (AF)

Este es el desarrollo de lo trilineal. No seleccionas un grado, simplemente existe :) Para comprender lo que está haciendo, mira el patrón repetitivo en la pared izquierda y cómo es claramente visible al aumentar la distancia desde la cámara del jugador (sí, un ejemplo oscuro, tienes que mirar sin iluminación): ¿Quién quiere entiendo cómo ella (AF) lo hace, lee aquí .







FSAA + AF

Bueno, por supuesto, usted y yo necesitamos entender cómo la tarjeta se mantendrá al día con todo esto. Y aquí:

1024x768 . Aquí todavía puede hacer un FSAA completo, por así decirlo. Vamos a intentarlo. 1280x960 . Aquí ya podemos hacer FSAA solo verticalmente. Resulta que KYRO II no tolera AF + FSAA, nadie está interesado en ver una presentación de diapositivas. Bueno, dado que la calidad de la FSAA puede calificarse como "mala", se propone celebrar la alegría de aumentar la resolución y olvidarse de ella para siempre. En alta resolución, puede activar AF, pero será lento. Entonces, damas y caballeros, en Deus Ex (y juegos similares), KYRO II parecía ofrecerles discretamente que se contentaran con lo trilineal y esperaran a que se lanzara el próximo chip con el bloque HW T&L. Pero nadie lo esperaba. Entonces TBDR terminó en la PC.





















Bueno, ya sabes ...


Si descartamos la arquitectura de KYRO, para el estudiante promedio era la tarjeta de video más común, que no tenía ninguna aproximación oscura, color de 22 bits, API prohibida y otra basura, para lo cual hoy es una ocasión para armar una computadora vieja. En KYRO, todo fue:
  1. Extremadamente simple : color honesto de 32 bits, soporte completo para DX6, emulación DX7.
  2. Extremadamente rápido : no había nada que dispersar
  3. Y extremadamente barato :)


Por el dinero que luego se solicitó para las tarjetas en el KYRO II, fue un encanto. Sí, con un relleno agridulce, pero aún así fue mejor que la gran variedad presentada ahora por dos compañías conocidas.
No estará fuera de lugar notar que el destino de PowerVR en el segmento de PC es en muchos aspectos similar al destino de 3dfx ( incluso puede recordar la compra moribunda de Gigapixel ). Las mismas innovaciones impresionantes, los mismos problemas y, como resultado, los mismos retrasos de salida. Como resultado, dejar el mercado y la muerte de otra API cerrada (PowerSGL).

En general, al final, todo se reduce al hecho de que podemos decir exactamente dos cosas:
  1. Todo lo nuevo está mal enterrado viejo.

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

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


Expresiones de gratitud


  • ¡Me inclino ante dos ingenieros de la misma oficina de San Petersburgo que me ayudaron con las piezas e incluso me las soldaron! Sin ellos, simplemente no habría revisiones de Voodoo5 y Kairo.

  • La administración de old-games.ru permite la descarga rápida y gratuita de 20 juegos en masa solo para verificar la estructura del archivo y ejecutarlo una vez.

  • Descubridor de horizontes y rasgaduras de portadas - comunidad VOGONS . ¡Para un montón de investigaciones y desarrollos únicos!


... por confirmar ...

Referencias
PowerVR VOGONS
KYRO
KYRO II

PowerVR ( !)
PowerVR ( ).

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

Source: https://habr.com/ru/post/es381895/


All Articles