Home TVID: De l'image a l'ecran
Post
Cancel

TVID: De l'image a l'ecran

Lien de la note Hackmd

Cadences en pratique

Tout est entier:

  • PTS: temps image source
  • STC: temps horloge affichage

Resolution d’increment: TIR

  • TIR(PTS) = duree d’une seconde dans le flux video
  • TIR(STC) = duree d’une seconde a l’affichage

Si TIR(PTS) non \% TIR(STC), probleme de $\color{red}{\text{fraction continue!}}$

Exemple

TIR PTS = 90000 = 1 seconde

Supposons STC = timer hardware a 5 KHz

  • TIR(STC) $=5000$

Pour un affichage a 50 fps:

  • $\Delta STC=5000/50=100$ (TIR \%)

Comment comparer STC avec TIR(STC) = 5000 vs PTS avec TIR(PTS) = 90000

\[STC' = STC \times TIR(PTS) / TIR(STC) = STC \times 18\]

STC’ comparable avec PTS

Adaptation source 59,97 ips -> affichage 60 ips

  • Theoriquement: adaptation par repetition 1 image sur 1000
  • En pratique: jitter PTS + jitter STC
    • Tremblement du criteres PTS - STC

Bufferisation

On veut envoyer a l’affichage une image a l’heure !

On fait de la bufferisation pour les jeux CGI realtime

Bufferisation non VSYNC

Avantages:

  • Un seul backbuffer
  • Rapide

Inconvenient:

  • $\color{red}{\text{Tearing back/front}}$

Bufferisation VSYNC

Avantages

  • Pas de tearing

Inconvenient

  • $\color{red}{\text{Producteur aussi leant que l’afficheur}}$

C’est le meme phenomene que celui du passage des jeux japonais aux consoles europeennes avec des jeux $20\%$ plus lent

Bufferisation triple + VSYNC

  • Au VSYNC: envoyer le backbuffer pret en front buffer
  • Avantages
    • Pas de tearing
    • Decouplage cadence production vs affichage
  • Inconvenients
    • $\color{red}{\text{Deux backbuffers}}$
    • $\color{red}{\text{CPU/GPU a donf}}$

Comment afficher ?

Comment cadrer l’image dans l’ecran ?

  • En frequence
  • En phase

En frequence:

  • Pulses verticaux: VSYNC
  • Pulses horizontaux: HSYNC

En phase:

  • Palliers avant/arriere

Pulses et palliers normalises

VGA, DVI, HDMI: Display Data Channel => Extended Display Identification Data

Xorg: “Modelines”

Cadrage d’une image

  • Vertical blanking
  • Horizontal blanking

DVI/HDMI

HDMI 3D

Comment afficher des images 3D ?

  • Plusieurs formats 3D numeriques
  • Dans tous les cas, pixel clock $\times 2$

Checkerboard (NVIDIA):

  • VBlank + VSync
  • HSyncs + Lignes de pixels OG/OD en quinconce
  • Lignes deux fois plus larges

Frame pack (HDMI 1.4A)

Analogique

This post is licensed under CC BY 4.0 by the author.