Controladora de vídeo: Diferència entre les revisions

De Cacauet Wiki
Dreceres ràpides: navegació, cerca
m (Connectors)
(Tricomia (R,G,B))
 
(Hi ha 8 revisions intermèdies del mateix usuari que no es mostren)
Línia 12: Línia 12:
 
*'''GPU''': Graphics Processing Unit. És un microprocessador encarregat de les tasques gràfiques (2D o 3D). És molt especialitzat en aquestes tasques i pot arribar a ser molt potent, utilitzant arquitectures de 256 bits que poden ser més adequades al processament gràfic.
 
*'''GPU''': Graphics Processing Unit. És un microprocessador encarregat de les tasques gràfiques (2D o 3D). És molt especialitzat en aquestes tasques i pot arribar a ser molt potent, utilitzant arquitectures de 256 bits que poden ser més adequades al processament gràfic.
  
[[ArquitecturaTargetaDeVideo.gif]]
+
[[Imatge:Esquema_targeta_grafica.jpg]]
  
 
== Paràmetres del controlador ==
 
== Paràmetres del controlador ==
Línia 23: Línia 23:
 
**1 Byte: només 256 colors (resultat pobre)
 
**1 Byte: només 256 colors (resultat pobre)
 
**2 Bytes (16 bits): 65.536 colors (millors resultats però encara millorables a la vista humana).
 
**2 Bytes (16 bits): 65.536 colors (millors resultats però encara millorables a la vista humana).
**4 bytes o '''color real''' (només s'aprofiten 24 bits per la tricomía): 12,7 milions de colors (resultat òptim per les capacitats de la vista humana, més enllà d'aquesta profunditat l'ull detecta molt poca millora).
+
**4 bytes o '''color real''' (només s'aprofiten 24 bits per la tricomía): 16,7 milions de colors (resultat òptim per les capacitats de la vista humana, més enllà d'aquesta profunditat l'ull detecta molt poca millora).
*'''Freqüència de refresc''': nombre de imatges per segon que s'envien al monitor. Pels monitors CRT (tub) cal enviar com a mínim 70 imatges per segon per tal que treballar no sigui carregós per la vista. Per un monitor TFT o LCD podem rebaixar fins a 50 imatges/segon ja que no produeixen pampallugueig.
+
*'''Freqüència de refresc''': nombre de imatges per segon que s'envien al monitor. Pels monitors CRT (tub) cal enviar com a mínim 70 imatges per segon per tal que treballar no sigui carregós per la vista. Per un monitor TFT o LCD podem rebaixar fins a 50 imatges/segon ja que no produeixen pampallugueig. <u>La qualitat del RAMDAC determinarà aquest paràmetre</u>.
 +
*'''Acceleració 2D/3D''': la realitza la GPU (micro addicional per tasques gràfiques). Els paràmetres d'aquesta GPU determinaran la seva potència (freqüència, memòria disponible, caché, arquitectura de la GPU, etc.)
 +
*'''Memòria RAM''': actualment s'utilitza versions millorades de la DDR amb el símbol "G" al davant (GDDR3, GDDR4, etc.). La seva velocitat afectarà al rendiment i a les possibilitats d'acceleració.
 +
*:Abans, la quantitat de RAM influía també en la capacitat de resolució, però avui en dia tenim tanta memòria que qualsevol resolució es fa possible en qualsevol targeta modesta. <u>La resolució final depèn actualment del monitor, enlloc de la targeta</u>.
  
  
Línia 33: Línia 36:
 
Les targetes amb acceleració disposen de més memòria que la estrictament necessària per la imatge que s'envia al monitor, ja que realitzen funcions de càlcul 2D/3D (i textures) que requereixen espais de memòria molt amples.
 
Les targetes amb acceleració disposen de més memòria que la estrictament necessària per la imatge que s'envia al monitor, ja que realitzen funcions de càlcul 2D/3D (i textures) que requereixen espais de memòria molt amples.
  
== Tricomía (R,G,B) ==
+
== Tricromia (R,G,B) ==
Ens basem en la tricomía per representar la paleta de colors possibles. Amb els '''tres colors primaris (vermell, verd i blau)''' podem generar la resta de colors. Els secundaris són:
+
[[Imatge:rgb.gif||thumb|dreta|Colors primaris segons el model RGB: Red, Green, Blue.]]
 +
 
 +
Ens basem en la tricromia (3 colors) per representar tota la paleta de colors possibles amb la llum. '''Amb els tres colors primaris podem generar la resta de colors'''.
 +
 
 +
Els colors primaris son:
 +
* Vermell (Red - R)
 +
* Verd (Green - G)
 +
* Blau (blue - B)
 +
 
 +
Els secundaris són:
 
*Cyan (verd + blau)
 
*Cyan (verd + blau)
 
*Magenta (blau + vermell)
 
*Magenta (blau + vermell)
 
*Groc (vermell + verd)
 
*Groc (vermell + verd)
És degut a que utilitzem només 3 colors que es fa difícil aprofitar el 4t byte dels 32 bits. S'utilitza un byte per cada color primari, és a dir 24 bits, deixant el darrer desocupat.
+
*Blanc (verd+blau+vermell)
 +
 
 +
Quan es parla de color de 32 bits per píxel en realitat només aprofitem 24 d'aquests. Això és degut a que ens adrecem a memòria en blocs de 2, 4, 8, etc. (potències de 2). Per tant, de cada bloc de 4 bytes (32 bits) només aprofitem 24 que corresponen a 1 Byte per cada color RGB, quedant el 4t Byte desocupat.
 +
 
 +
Disposició a memòria de la informació de color de 32 bits (1 píxel):
 +
{| border="1"
 +
|style="background-color:red;text-align:center;" width="150"| Red (8 bits)
 +
|style="background-color:green;text-align:center;" width="150"| Green (8 bits)
 +
|style="background-color:blue;text-align:center;" width="150"| Blue (8 bits)
 +
|style="background-color:white;text-align:center;" width="150"| -desocupat- (8 bits)
 +
|}
 +
 
 +
 
 +
 
 +
 
 +
=== Model CMYK ===
 +
Cal tenir en compte que tenim 2 possibles models de representació dels colors:
 +
*'''Model RGB''': utiltizat en llum, és el que ens interessa ja que el nostre mitjà principal és monitor.
 +
*'''Model CMYK''': utiltizat en impressió, es basa en el model invers del RGB, és a dir, els colors primaris son els CMYK (Cyan, Magenta, Yellow, blacK) i els secundaris son el RGB.
 +
 
 +
[[Imatge:cmyk.png]]
 +
[[Imatge:cmyk_rgb.png]]
 +
 
 +
Com podem veure a la imatge, quan es tracta de pintura els colors primaris son els CMYK: Cyan, Magenta, Yellow, blacK.
  
 
== Connectors ==
 
== Connectors ==
 +
 +
[[Imatge:connectors_targeta_video.jpg|250px]]
 +
 
Interfícies analògiques:
 
Interfícies analògiques:
 
*'''VGA''': tipus D-sub de 15 pins (en 3 files). Comunicació sèrie en components RGB.
 
*'''VGA''': tipus D-sub de 15 pins (en 3 files). Comunicació sèrie en components RGB.
Línia 46: Línia 84:
 
*'''Senyal de vídeo compost''': un sol connector (groc) tipus RCA on passa tot el vídeo. És de baixa qualitat.
 
*'''Senyal de vídeo compost''': un sol connector (groc) tipus RCA on passa tot el vídeo. És de baixa qualitat.
 
*'''Senyal en components''': alguns monitors i sistemes poden utilitzar interfícies amb components (RGB o YPbPr) amb 3 connectors RCA separats. És una connexió analògica utilitzada abans per sistemes amb més qualitat.
 
*'''Senyal en components''': alguns monitors i sistemes poden utilitzar interfícies amb components (RGB o YPbPr) amb 3 connectors RCA separats. És una connexió analògica utilitzada abans per sistemes amb més qualitat.
 +
 +
[[Imatge:vgacable.jpg|200px]] [[Imatge:Component_video_RCA.jpg|200px]]
 +
 +
Detalls de connectors VGA (esquerra) i per components (els 3 colors RGB) amb cambles tipus RCA (dreta).
 +
  
 
Interfícies digitals:
 
Interfícies digitals:
 
*'''DVI''': Digital Video Interface, dissenyat pel consorci DDWG (Digital Display Working Group) per dispositius d'alta qualitat. Parcialment compatible amb el HDMI però sense àudio.
 
*'''DVI''': Digital Video Interface, dissenyat pel consorci DDWG (Digital Display Working Group) per dispositius d'alta qualitat. Parcialment compatible amb el HDMI però sense àudio.
 
*'''HDMI''': High Definition Multimedia Interface, més comú en televisions i aparells audiovisuals. És parcialment compatible amb DVI, però amb l'àudio.
 
*'''HDMI''': High Definition Multimedia Interface, més comú en televisions i aparells audiovisuals. És parcialment compatible amb DVI, però amb l'àudio.
 +
 +
[[Imatge:dvi-cable-pic.jpg|200px]] [[Imatge:HDMI.jpg|200px]]
 +
 +
Detall de connectors DVI (esquerra) i HDMI (dreta), parcialment compatibles entre ells.
  
 
== Acceleracions 2D i 3D ==
 
== Acceleracions 2D i 3D ==
 +
 +
Es tracta de funcions de la GPU (Graphical Processing Unit), un microprocessador que allibera la CPU central de realitzar les tasques gràfiques (i de vegades proporcionant més potència que la pròpia CPU).
 +
 +
En acceleracions 2D podem enrecordar-nos d'efectes típics com el ''compiz'' del Gnome (GNU/Linux).
 +
 +
Acceleracions 2D:
 +
*Bit blits: desplaça blocs de memòria que corresponen a objectes (per exemple, una finestra al ser desplaçada).
 +
*Line drawing
 +
*Color and pattern fills
 +
*Gradient fills
 +
*Clipping
 +
*Off screen caching
 +
 +
 +
Els ''drivers'' o controladors necessiten un llenguatge estàndard per poder manipular les funcions de la targeta gràfica:
 +
 +
*Drivers 2D: mercès l'estàndard VESA totes les targetes són compatibles.
 +
*Drivers 3D: hi ha 2 estàndards:
 +
**Direct 3D (Microsfot)
 +
**OpenGL (Silicon Graphics)
 +
 +
 +
Quan els micros eren poc potents (fa 10 anys) existia el concepte de '''''render''''' que era el procés mitjançant el qual una CPU creava una animació 3D fora de temps real. Un cop acabat el ''render'' podiem veure l'animació (i podia trigar hores a fer-ho). Mercès l'acceleració 3D ja no es fa ''render'' perquè <u>avui en dia la GPU realitza els càlculs a temps real</u>, és a dir, "al vol" en el mateix moment de l'execució.
 +
 +
== Tipus de targetes gràfiques ==
 +
Pràcticament la totalitat de les controladores actuals utiltizen el bus PCI-e x16, tot i que fins ara l'estàndard era el bus AGP.
 +
 +
 +
Segons la utilització de la targeta tenim bàsicament 3 categories:
 +
*Targetes bàsiques (integrades a la placa base, sense acceleració)
 +
*Targetes acceleradores per jugar (gamer): son les que acostumem a comprar amb acceleració 2D i 3D
 +
*Targetes acceleradores per disseny 2D i 3D: pujen fins preus astronòmics.
 +
 +
 +
Les 2 grans companyíes de targetes gràfiques son:
 +
*nVidia
 +
*ATI (pertany a AMD)
 +
 +
 +
== TODO ==
 +
*Compressió

Revisió de 17:02, 4 des 2015

La controladora de vídeo és un dispositiu de sortida per adaptar la imatge digital emmagatzemada a la RAM al senyal analògic (VGA) o digital (DVI) del monitor.

Més concretament, les tasques d'una controladora gràfica són bàsicament 2:

  • Transformar la informació gràfica de la VRAM al format analògic de sortida.
  • Alliberar la CPU dels càlculs relacionats amb l'entorn gràfic: Acceleració 2D i 3D.

Arquitectura del controlador[modifica]

Per dur a terme aquestes tasques la targeta necessita:

  • E/S: per comunicar-nos amb la CPU ens caldrà un adaptador d'entrada/sortida que gestioni el diàleg amb el bus PCI-e o AGP. Aquest mòdul introduïrà les dades que subministri la CPU i les col·locarà a la VRAM.
  • VRAM: Vídeo RAM, és ràpida i té doble port per ser accedida simultàniament pel microprocessador i el RAMDAC.
  • RAMDAC: RAM Digital to Analog Converter. Dispositiu encarregat de recollir les dades de la RAM i generar un senyal analògic interpretable per un monitor CRT. La sortida del RAMDAC serà una VGA o S-VIDEO, ambdúes analògiques..
  • GPU: Graphics Processing Unit. És un microprocessador encarregat de les tasques gràfiques (2D o 3D). És molt especialitzat en aquestes tasques i pot arribar a ser molt potent, utilitzant arquitectures de 256 bits que poden ser més adequades al processament gràfic.

Esquema targeta grafica.jpg

Paràmetres del controlador[modifica]

  • Resolució: nombre de píxels d'amplada i alçada. Els modes estàndard (per a la relació d'aspecte 4:3) son:
    • 640x400 (VGA: Vídeo Graphics Array)
    • 800x600 (SVGA: Super VGA)
    • 1024x768 (XGA: eXtended Graphics Array)
    • etc.
  • Profunditat de color: nombre de bytes dedicats a especificar el color de cada píxel. Podem tenir:
    • 1 Byte: només 256 colors (resultat pobre)
    • 2 Bytes (16 bits): 65.536 colors (millors resultats però encara millorables a la vista humana).
    • 4 bytes o color real (només s'aprofiten 24 bits per la tricomía): 16,7 milions de colors (resultat òptim per les capacitats de la vista humana, més enllà d'aquesta profunditat l'ull detecta molt poca millora).
  • Freqüència de refresc: nombre de imatges per segon que s'envien al monitor. Pels monitors CRT (tub) cal enviar com a mínim 70 imatges per segon per tal que treballar no sigui carregós per la vista. Per un monitor TFT o LCD podem rebaixar fins a 50 imatges/segon ja que no produeixen pampallugueig. La qualitat del RAMDAC determinarà aquest paràmetre.
  • Acceleració 2D/3D: la realitza la GPU (micro addicional per tasques gràfiques). Els paràmetres d'aquesta GPU determinaran la seva potència (freqüència, memòria disponible, caché, arquitectura de la GPU, etc.)
  • Memòria RAM: actualment s'utilitza versions millorades de la DDR amb el símbol "G" al davant (GDDR3, GDDR4, etc.). La seva velocitat afectarà al rendiment i a les possibilitats d'acceleració.
    Abans, la quantitat de RAM influía també en la capacitat de resolució, però avui en dia tenim tanta memòria que qualsevol resolució es fa possible en qualsevol targeta modesta. La resolució final depèn actualment del monitor, enlloc de la targeta.


Els 2 primers paràmetres determinaran la quantitat de memòria RAM necessària per la targeta. Multiplicant resolució horitzontal per vertical i per la profunditat de color trobarem els bytes necessaris per contenir una imatge.

Per exemple, una XGA amb color real necessitaria 1024x768 píxels x 4 Bytes/píxel = 3 MB de memòria RAM

Les targetes amb acceleració disposen de més memòria que la estrictament necessària per la imatge que s'envia al monitor, ja que realitzen funcions de càlcul 2D/3D (i textures) que requereixen espais de memòria molt amples.

Tricromia (R,G,B)[modifica]

Colors primaris segons el model RGB: Red, Green, Blue.

Ens basem en la tricromia (3 colors) per representar tota la paleta de colors possibles amb la llum. Amb els tres colors primaris podem generar la resta de colors.

Els colors primaris son:

  • Vermell (Red - R)
  • Verd (Green - G)
  • Blau (blue - B)

Els secundaris són:

  • Cyan (verd + blau)
  • Magenta (blau + vermell)
  • Groc (vermell + verd)
  • Blanc (verd+blau+vermell)

Quan es parla de color de 32 bits per píxel en realitat només aprofitem 24 d'aquests. Això és degut a que ens adrecem a memòria en blocs de 2, 4, 8, etc. (potències de 2). Per tant, de cada bloc de 4 bytes (32 bits) només aprofitem 24 que corresponen a 1 Byte per cada color RGB, quedant el 4t Byte desocupat.

Disposició a memòria de la informació de color de 32 bits (1 píxel):

Red (8 bits) Green (8 bits) Blue (8 bits) -desocupat- (8 bits)



Model CMYK[modifica]

Cal tenir en compte que tenim 2 possibles models de representació dels colors:

  • Model RGB: utiltizat en llum, és el que ens interessa ja que el nostre mitjà principal és monitor.
  • Model CMYK: utiltizat en impressió, es basa en el model invers del RGB, és a dir, els colors primaris son els CMYK (Cyan, Magenta, Yellow, blacK) i els secundaris son el RGB.

Cmyk.png Cmyk rgb.png

Com podem veure a la imatge, quan es tracta de pintura els colors primaris son els CMYK: Cyan, Magenta, Yellow, blacK.

Connectors[modifica]

Connectors targeta video.jpg

Interfícies analògiques:

  • VGA: tipus D-sub de 15 pins (en 3 files). Comunicació sèrie en components RGB.
  • S-VIDEO: connector DIN rodó amb senyal Super VHS (Video Home System), és a dir, una versió millorada del vídeo analògic domèstic. Encara s'utilitza per connectar-se a projectors i televisions CRT (Cathodic Ray Tube o tub de raigs catòdics).
  • Senyal de vídeo compost: un sol connector (groc) tipus RCA on passa tot el vídeo. És de baixa qualitat.
  • Senyal en components: alguns monitors i sistemes poden utilitzar interfícies amb components (RGB o YPbPr) amb 3 connectors RCA separats. És una connexió analògica utilitzada abans per sistemes amb més qualitat.

Vgacable.jpg Component video RCA.jpg

Detalls de connectors VGA (esquerra) i per components (els 3 colors RGB) amb cambles tipus RCA (dreta).


Interfícies digitals:

  • DVI: Digital Video Interface, dissenyat pel consorci DDWG (Digital Display Working Group) per dispositius d'alta qualitat. Parcialment compatible amb el HDMI però sense àudio.
  • HDMI: High Definition Multimedia Interface, més comú en televisions i aparells audiovisuals. És parcialment compatible amb DVI, però amb l'àudio.

Dvi-cable-pic.jpg HDMI.jpg

Detall de connectors DVI (esquerra) i HDMI (dreta), parcialment compatibles entre ells.

Acceleracions 2D i 3D[modifica]

Es tracta de funcions de la GPU (Graphical Processing Unit), un microprocessador que allibera la CPU central de realitzar les tasques gràfiques (i de vegades proporcionant més potència que la pròpia CPU).

En acceleracions 2D podem enrecordar-nos d'efectes típics com el compiz del Gnome (GNU/Linux).

Acceleracions 2D:

  • Bit blits: desplaça blocs de memòria que corresponen a objectes (per exemple, una finestra al ser desplaçada).
  • Line drawing
  • Color and pattern fills
  • Gradient fills
  • Clipping
  • Off screen caching


Els drivers o controladors necessiten un llenguatge estàndard per poder manipular les funcions de la targeta gràfica:

  • Drivers 2D: mercès l'estàndard VESA totes les targetes són compatibles.
  • Drivers 3D: hi ha 2 estàndards:
    • Direct 3D (Microsfot)
    • OpenGL (Silicon Graphics)


Quan els micros eren poc potents (fa 10 anys) existia el concepte de render que era el procés mitjançant el qual una CPU creava una animació 3D fora de temps real. Un cop acabat el render podiem veure l'animació (i podia trigar hores a fer-ho). Mercès l'acceleració 3D ja no es fa render perquè avui en dia la GPU realitza els càlculs a temps real, és a dir, "al vol" en el mateix moment de l'execució.

Tipus de targetes gràfiques[modifica]

Pràcticament la totalitat de les controladores actuals utiltizen el bus PCI-e x16, tot i que fins ara l'estàndard era el bus AGP.


Segons la utilització de la targeta tenim bàsicament 3 categories:

  • Targetes bàsiques (integrades a la placa base, sense acceleració)
  • Targetes acceleradores per jugar (gamer): son les que acostumem a comprar amb acceleració 2D i 3D
  • Targetes acceleradores per disseny 2D i 3D: pujen fins preus astronòmics.


Les 2 grans companyíes de targetes gràfiques son:

  • nVidia
  • ATI (pertany a AMD)


TODO[modifica]

  • Compressió