TDs Architecture des ordinateurs DUT Informatique - M4104c SUJETS R. Raffin Aix-Marseille Université romain.raffin-at-univ-amu.fr 2015
Table des matières 1 TD1 : les bonnes résolutions 2 1.1 Premières impressions................................................. 2 1.2 Poster.......................................................... 2 1.3 Écrans informatiques.................................................. 2 1.4 Comparaison avec les écrans TV........................................... 2 1.5 Annexes......................................................... 2 2 TD performance et shaders 3 2.1 Performances des polygones.............................................. 3 2.2 Calcul de débit vertex................................................. 3 2.3 Vertex shader...................................................... 3 2.4 Fragment shader.................................................... 4
1 TD1 : les bonnes résolutions Rappel : dpi : «dot per inch» ou «point par pouce». 1 pouce mesure 2,54 cm. 1.1 Premières impressions On veut sortir une image bitmap de résolution 1024 768 pixels sur 3 supports avec des densités différentes (on fait l hypothèse que les points ou les pixels sont carrés) : un écran d ordinateur (72 dpi), une imprimante jet d encre (720 dpi), une flasheuse de presse (1200 dpi). donner des tailles d images correspondantes sur ces supports (en cm) ainsi que la taille du point en cm sur chaque image. Donner la taille de l écran de l ordinateur nécessaire pour afficher cette image (diagonale en pouces). 1.2 Poster On veut imprimer un poster A4 à partir d une photo prise par un appareil numérique 3,1 Mpixels (résolution maximale 2048 1536). 1. quelle va être la dimension d un point sur la feuille? 2. quelle sera la taille effective de l image en prenant des pixels carrés dont la taille est issue de la plus intéressante de la question précédente? 3. mêmes questions pour un support de taille A3. 4. si on utilise une imprimante à 1440 dpi, quelles dimensions devrait faire la photo pour que chaque pixel corresponde à un point sur la feuille A4? 5. quel serait son poids en Mo en utilisant un codage 24 bits des couleurs, sans compression (format brut)? 1.3 Écrans informatiques Un moniteur de 15 pouces à un «pitch» de 0,26 mm (chaque pixel a cette taille). 1. quelle est la taille, en cm, du moniteur (diagonale, largeur, hauteur) en tenant compte du rapport 4/3? 2. quelle est sa résolution maximale de travail? 3. quelle est sa résolution utile (en gardant le rapport 4/3), en se rapprochant de résolutions connues (800 600, 1024 768, 1280 1024,...)? 4. même questions pour un moniteur 17 pouces en conservant le pitch. 1.4 Comparaison avec les écrans TV 1. la résolution d une image de télévision cathodique est de 720 576, quel est le pitch d un téléviseur 70 cm? Comparer avec les valeurs précédentes (moniteur informatique à 72 dpi par ex.). 2. si on utilise un téléviseur HDready (1366 768) ou FullHD (1920 1080) pour visionner une VHS numérique (support VCD, codage MPEG1, 352 288), à quoi doit-on s attendre? Quelles sont les dimensions d un pixel de la vidéo sur un affichage de 82 cm de diagonale? 1.5 Annexes Quelques exemples de zoom sur une image :
2 TD performance et shaders 2.1 Performances des polygones On désire visualiser une scène complexe de 10 M Polygones à 20 images par seconde. On dispose de cartes pouvant fournir 22 M Polygones/sec dans les conditions de l application. 1. quelle fréquence image (en img/sec) peut-on espérer sur 1 carte graphique : avec une fréquence verticale de 60 Hz? avec une fréquence verticale de 75 Hz? 2. que remarquez vous et pourquoi? 3. quelle est la latence minimale d interaction sur une carte? 4. quels modes de parallélisme peut-on proposer pour augmenter les performances? 5. en parallélisant les rendus, sur combien de cartes en considérant une perte de 5 % des performances? 6. recalculez la latence d interaction pour les fréquences précédentes. 2.2 Calcul de débit vertex Dans une application de visualisation scientifique, on désire visualiser une surface d iso-valeur. Cette surface comporte 150 000 points définis par une liste ordonnée de vertex et de couleurs (v 0, c 0, v 1, c 1,..., v n 1, c n 1 ), n = 150000. On défini une normale pour chaque vertex. 1. calculer la quantité de données transmise pour le rendu d une image ; 2. combien d images par seconde peut-on accomplir théoriquement sur un bus AGP 1x (266 Mo/s)? 2.3 Vertex shader Voilà un vertex shader très simple : void main ( void ) { gl_frontcolor = gl_color ; g l _ P o s i t i o n = gl_modelviewprojectionmatrix gl_vertex ; } On veut mettre en place la déformation de la géométrie par une contrainte formée de : un point de contrainte P, a priori sur l objet ; un vecteur de contrainte V, qui donne la direction et la déformation maximale à appliquer ; un rayon d influence R, qui donne l étendue de la déformation. La déformation prend en compte la distance d un point quelconque X au point P, si le point X est influencé il sera déplacé selon le vecteur de contrainte (comme le montre la figure).
1. écrire la déformation (il faudrait une fonction de déformation non linéaire 1 ) ; 2. quels paramètres peut-on transférer depuis le CPU? 2.4 Fragment shader Le fragment shader suivant conserve la couleur initial du pixel (gl_color) et la renvoie pour affichage. void main ( void ) { vec4 currentfrag = gl_color ; } gl_fragcolor = currentfrag ; 1. passer l image en niveaux de gris 2 2. faire un seuillage sur 4 niveaux de gris ou 4 couleurs à partir de la luminance. 1. cf. fonction Lorentzienne https://fr.wikipedia.org/wiki/fonction_lorentzienne : f(x) = 1 1+x 2 2. Une formule pour la luminance : 0.299rouge + 0.587vert + 0.114bleu