Sophie

Sophie

distrib > * > 2010.0 > * > by-pkgid > a412ceb851151854794ced2a242192bb > files > 3697

howto-html-fr-20080722-1mdv2010.0.noarch.rpm

<html><head><META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>17.&nbsp;Repr&eacute;sentation graphique des capacit&eacute;s du moniteur</title><link href="style.css" rel="stylesheet" type="text/css"><meta content="DocBook XSL Stylesheets V1.68.1" name="generator"><link rel="start" href="index.html" title="XFree86 Video Timings HOWTO"><link rel="up" href="index.html" title="XFree86 Video Timings HOWTO"><link rel="prev" href="ar01s16.html" title="16.&nbsp;R&eacute;soudre les probl&egrave;mes affectant l'image"><link rel="next" href="ar01s18.html" title="18.&nbsp;Cr&eacute;dits"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table summary="Navigation header" width="100%"><tr><th align="center" colspan="3">17.&nbsp;Repr&eacute;sentation graphique des capacit&eacute;s du moniteur</th></tr><tr><td align="left" width="20%"><a accesskey="p" href="ar01s16.html">Pr&eacute;c&eacute;dent</a>&nbsp;</td><th align="center" width="60%">&nbsp;</th><td align="right" width="20%">&nbsp;<a accesskey="n" href="ar01s18.html">Suivant</a></td></tr></table><hr></div><div class="sect1" lang="fr"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="cplot"></a>17.&nbsp;Repr&eacute;sentation graphique des capacit&eacute;s du moniteur</h2></div></div></div><p>Pour tracer le diagramme de mode d'un moniteur, il vous faudra le
  programme gnuplot (un logiciel libre de trac&eacute; graphique) et l'outil 
  <span><strong class="command">modeplot</strong></span>, un script  shell/gnuplot qui tracera 
  le diagramme sur la base des caract&eacute;ristiques
  de votre moniteur, fournies comme options sur la ligne de commande.</p><p>Voici le listing du script <span><strong class="command">modeplot</strong></span> :</p><pre class="programlisting">
  #!/bin/sh
  #
  # modeplot -- cr&eacute;e un graphe X des modes moniteurs disponibles
  #
  # Invoquez `modeplot -?' pour afficher les options de contr&ocirc;le.
  #

  # Description du moniteur. Bande passante en MHz, fr&eacute;quences horizontales
  # en kHz et fr&eacute;quences verticales en Hz.
  TITLE="Viewsonic 21PS"
  BANDWIDTH=185
  MINHSF=31
  MAXHSF=85
  MINVSF=50
  MAXVSF=160
  ASPECT="4/3"
  vesa=72.5       # fr&eacute;q. de rafra&icirc;chissement min. recommand&eacute;e VESA

  while [ "$1" != "" ]
  do
          case $1 in
          -t) TITLE="$2"; shift;;
          -b) BANDWIDTH="$2"; shift;;
          -h) MINHSF="$2" MAXHSF="$3"; shift; shift;;
          -v) MINVSF="$2" MAXVSF="$3"; shift; shift;;
          -a) ASPECT="$2"; shift;;
          -g) GNUOPTS="$2"; shift;;
          -?) cat &lt;&lt;EOF
  options de contr&ocirc;le de modeplot :

  -t "&lt;description&gt;"  nom du moniteur            d&eacute;faut : "Viewsonic 21PS"
  -b &lt;nn&gt;                 bande passante en MHz      d&eacute;faut : 185
  -h &lt;min&gt; &lt;max&gt;          HSF min &amp; max (kHz)        d&eacute;faut : 31 85
  -v &lt;min&gt; &lt;max&gt;          VSF min &amp; max (Hz)         d&eacute;faut : 50 160
  -a &lt;aspect ratio&gt;       proportions de l'image     d&eacute;faut : 4/3
  -g "&lt;options&gt;"      options &agrave; transmettre &agrave; gnuplot

  La pr&eacute;sence des param&egrave;tres -b, -h et -v est requise, -a, -t, -g sont
  optionnels.  Vous pouvez utiliser -g pour transmettre un nom de
  p&eacute;riph&eacute;rique &agrave; gnuplot de fa&ccedil;on &agrave; ce que (par exemple) les sorties
  produites par modeplot puissent &ecirc;tre redirig&eacute;es vers une imprimante.
  Voyez gnuplot(1) pour de plus amples d&eacute;tails.

  L'outil modeplot a &eacute;t&eacute; con&ccedil;u par Eric S. Raymond &lt;esr@thyrsus.com&gt; sur
  base d'une analyse et d'un code original par Martin Lottermoser
  &lt;Martin.Lottermoser@mch.sni.de&gt;

  Voici modeplot $Revision: 1.20 $
  EOF
                  exit;;
          esac
          shift
  done

  gnuplot $GNUOPTS &lt;&lt;EOF
  set title "$TITLE Mode Plot"

  # Nombres magiques.  Malheureusement, le graphe est tr&egrave;s sensible &agrave; toute
  # modification de ceux-ci, et ils pourraient &ecirc;tre loin de la v&eacute;rit&eacute; dans
  # le cas de certains moniteurs.  Il nous faut d&eacute;terminer des valeurs afin
  # d'obtenir m&ecirc;me une approximation du diagramme de mode. Ces valeurs
  # proviennent d'une comparaison de nombreux exemples fournis dans la base
  # de donn&eacute;es ModeDB.
  F1 = 1.30       # facteur de conversion r&eacute;sol. horiz. -&gt; largeur de trame
  F2 = 1.05       # facteur de conversion r&eacute;sol. vertic. -&gt; hauteur de trame

  # D&eacute;finition de fonctions
  # (multiplier par 1.0 force l'arithm&eacute;tique en nombres r&eacute;els)
  ac = (1.0*$ASPECT)*F1/F2
  refresh(hsync, dcf) = ac * (hsync**2)/(1.0*dcf)
  dotclock(hsync, rr) = ac * (hsync**2)/(1.0*rr)
  resolution(hv, dcf) = dcf * (10**6)/(hv * F1 * F2)

  # Place les l&eacute;gendes le long des axes
  set xlabel 'DCF (MHz)'
  set ylabel 'RR (Hz)' 6  # Place la l&eacute;gende juste au-dessus de l'axe des Y

  # G&eacute;n&egrave;re le diagramme
  set grid
  set label "VB" at $BANDWIDTH+1, ($MAXVSF + $MINVSF) / 2 left
  set arrow from $BANDWIDTH, $MINVSF to $BANDWIDTH, $MAXVSF nohead
  set label "max VSF" at 1, $MAXVSF-1.5
  set arrow from 0, $MAXVSF to $BANDWIDTH, $MAXVSF nohead
  set label "min VSF" at 1, $MINVSF-1.5
  set arrow from 0, $MINVSF to $BANDWIDTH, $MINVSF nohead
  set label "min HSF" at dotclock($MINHSF, $MAXVSF+17), $MAXVSF + 17 right
  set label "max HSF" at dotclock($MAXHSF, $MAXVSF+17), $MAXVSF + 17 right
  set label "VESA $vesa" at 1, $vesa-1.5
  set arrow from 0, $vesa to $BANDWIDTH, $vesa nohead # style -1
  plot [dcf=0:1.1*$BANDWIDTH] [$MINVSF-10:$MAXVSF+20] \
    refresh($MINHSF, dcf) notitle with lines 1, \
    refresh($MAXHSF, dcf) notitle with lines 1, \
    resolution(640*480,   dcf) title "640x480  " with points 2, \
    resolution(800*600,   dcf) title "800x600  " with points 3, \
    resolution(1024*768,  dcf) title "1024x768 " with points 4, \
    resolution(1280*1024, dcf) title "1280x1024" with points 5, \
    resolution(1600*1280, dcf) title "1600x1200" with points 6

  pause 9999
  EOF
</pre><p>Une fois que vous &ecirc;tes s&ucirc;r d'avoir correctement install&eacute; 
  <span><strong class="command">modeplot</strong></span> et
  le programme gnuplot, il vous faudra r&eacute;unir les caract&eacute;ristiques
  suivantes de votre moniteur :</p><div class="itemizedlist"><ul type="disc"><li><p>bande passante vid&eacute;o (VB)</p></li><li><p>gamme de fr&eacute;quences de synchronisation horizontale (HSF)</p></li><li><p>gamme de fr&eacute;quences de synchronisation verticale (VSF)</p></li></ul></div><p>Le programme de trac&eacute; doit faire quelques suppositions
  simplificatrices qui ne sont pas n&eacute;cessairement correctes.  C'est la
  raison pour laquelle le diagramme r&eacute;sultant n'est qu'une description
  relativement grossi&egrave;re. Ces suppositions sont les suivantes :</p><div class="itemizedlist"><ul type="disc"><li><p>Toutes les r&eacute;solutions n'ont qu'un seul rapport de proportions
     pr&eacute;d&eacute;fini AR = HR/VR.  Les r&eacute;solutions standard ont AR = 4/3 ou AR
     = 5/4.  Le programme modeplot suppose 4/3 par d&eacute;faut, Mais il vous
     est possible de modifier cela.</p></li><li><p>Pour les modes pris en compte, les longueurs de trames 
     horizontale et verticale sont des multiples fix&eacute;s des r&eacute;solutions
     horizontale et verticale, respectivement :</p><pre class="screen">
	HFL = F1 * HR
	VFL = F2 * VR
</pre></li></ul></div><p>En premi&egrave;re approximation, prenez F1 = 1.30 et F2 = 1.05 
  (voyez la section <a href="ar01s10.html#frame">Calcul de la taille de
  trame</a>).</p><p>Maintenant consid&eacute;rez une fr&eacute;quence de synchronisation particuli&egrave;re,
  HSF.  Sur base des pr&eacute;suppos&eacute;s que nous venons de mentionner, la
  valeur que prendra la fr&eacute;quence pilote DCF d&eacute;terminera d&eacute;j&agrave; la
  fr&eacute;quence de rafra&icirc;chissement RR, c'est-&agrave;-dire que pour toute valeur
  de HSF il y a une fonction RR(DCF).  Celle-ci peut s'obtenir comme
  suit.</p><p>La fr&eacute;quence de rafra&icirc;chissement est &eacute;gale &agrave; la fr&eacute;quence pilote
  divis&eacute;e par le produit des longueurs de trame :</p><pre class="screen">
	RR = DCF / (HFL * VFL)		(*)
</pre><p>D'autre part, la longueur de trame horizontale est &eacute;gale &agrave; la
  fr&eacute;quence pilote divis&eacute;e par la fr&eacute;quence de synchronisation
  horizontale :</p><pre class="screen">
	HFL = DCF / HSF			(**)
</pre><p>Il est possible de r&eacute;duire VFL &agrave; HFL au moyen des deux suppositions
  mentionn&eacute;es plus haut :</p><pre class="screen">
	VFL = F2 * VR
	    = F2 * (HR / AR)
	    = (F2/F1) * HFL / AR	(***)
</pre><p>En ins&eacute;rant (**) et (***) dans (*) nous obtenons :</p><pre class="screen">
	RR = DCF / ((F2/F1) * HFL**2 / AR)
	   = (F1/F2) * AR * DCF * (HSF/DCF)**2
	   = (F1/F2) * AR * HSF**2 / DCF
</pre><p>Pour des valeurs fixes de HSF, F1, F2 et AR, cette formule se traduit
  par une hyperbole dans notre diagramme.  Si nous tra&ccedil;ons deux courbes
  de ce type pour les fr&eacute;quences de synchronisation horizontale minimum
  et maximum nous obtenons les deux limites restantes de la r&eacute;gion des
  solutions permises.</p><p>Les lignes droites qui traversent la r&eacute;gion des capacit&eacute;s repr&eacute;sentent
  des r&eacute;solutions particuli&egrave;res. Ceci est bas&eacute; sur (*) et la deuxi&egrave;me
  supposition :</p><pre class="screen">
	RR = DCF / (HFL * VFL) = DCF / (F1 * HR * F2 * VR)
</pre><p>En tra&ccedil;ant de telles droites pour chacune des r&eacute;solutions qui vous
  int&eacute;ressent, vous pourrez imm&eacute;diatement extraire du graphe les
  relations possibles entre r&eacute;solution, fr&eacute;quence pilote et fr&eacute;quence de
  rafra&icirc;chissement dont le moniteur est capable. Remarquez que ces
  lignes ne d&eacute;pendent pas des caract&eacute;ristiques r&eacute;elles du moniteur, mais
  bien de notre seconde supposition.</p><p>L'outil <span><strong class="command">modeplot</strong></span> vous offre une mani&egrave;re tr&egrave;s simple de faire cela.
 Tapez <span><strong class="command">modeplot -?</strong></span> pour afficher ses options de contr&ocirc;le.
 Une invocation usuelle ressemble &agrave; ceci :</p><pre class="screen">
	modeplot -t "Swan SW617" -b 85 -v 50 90 -h 31 58
</pre><p>Le param&egrave;tre -b sp&eacute;cifie la bande passante vid&eacute;o ; -v et -h
  d&eacute;finissent les gammes de fr&eacute;quences de synchronisation horizontale et
  verticale.</p><p>Lorsque vous consulterez le graphique produit par 
  <span><strong class="command">modeplot</strong></span>, conservez
  toujours pr&eacute;sent &agrave; l'esprit le fait qu'il n'offre qu'une description
  approximative. Par exemple, il ignore les limitations impos&eacute;es &agrave; HFL
  dues &agrave; ce qu'une largeur d'impulsion de synchronisation minimum est
  requise, et sa pr&eacute;cision ne peut d&eacute;passer celle de nos suppositions.
  Il ne peut d&egrave;s lors remplacer un calcul d&eacute;taill&eacute; (incluant une
  certaine dose de magie noire) tel celui que nous avons pr&eacute;sent&eacute; dans
  la section <a href="ar01s12.html" title="12.&nbsp;Synth&egrave;se">Synth&egrave;se</a>. 
  Il devrait, cependant, vous offrir une  meilleure perception de ce
  qui est possible et des concessions que  cela implique.
</p></div><div class="navfooter"><hr><table summary="Navigation footer" width="100%"><tr><td align="left" width="40%"><a accesskey="p" href="ar01s16.html">Pr&eacute;c&eacute;dent</a>&nbsp;</td><td align="center" width="20%">&nbsp;</td><td align="right" width="40%">&nbsp;<a accesskey="n" href="ar01s18.html">Suivant</a></td></tr><tr><td valign="top" align="left" width="40%">16.&nbsp;R&eacute;soudre les probl&egrave;mes affectant l'image&nbsp;</td><td align="center" width="20%"><a accesskey="h" href="index.html">Sommaire</a></td><td valign="top" align="right" width="40%">&nbsp;18.&nbsp;Cr&eacute;dits</td></tr></table></div></body></html>