Avec Windows 8, nous avons voulu que toutes les applications puissent bénéficier de graphismes hautes performances et esthétiques par le biais d'un matériel vidéo moderne. Ce travail s'appuie sur les bases bien établies des graphismes DirectX, qui fournissent un nombre croissant d'API et de fonctionnalités. Dans Windows 7, nous avons développé les fonctionnalités de DirectX pour offrir une plateforme graphique commune avec accélération matérielle pour une gamme plus vaste d'applications. Tandis qu'auparavant, DirectX fournissait principalement des graphismes 3D, nous avons ajouté des fonctionnalités pour ce que nous appelons les graphismes « grand public ». Les utilisations grand public sont centrées sur les applications de bureau classiques que la plupart des gens utilisent quotidiennement, notamment les navigateurs Web, les messageries électroniques, les calendriers et les applications de productivité. Windows 7 a apporté deux nouveaux composants à DirectX : Direct2D pour les graphismes en deux dimensions (formes, images bitmap, etc.) et DirectWrite pour la gestion de texte. Ces deux ajouts ont porté non seulement sur les performances, mais également sur la fourniture d'un rendu 2D de haute qualité. Ils ont permis à DirectX de devenir une plateforme graphique avec accélération matérielle pour tous les types d'applications. En effet, nous avons montré ce dont une application classique était capable avec DirectX lorsqu'Internet Explorer 9 a amené les graphismes avec accélération matérielle sur le Web. WinRT apporte ces fonctionnalités à toute la gamme des nouvelles applications Windows 8. Dans ce billet, rédigé par Rob Copeland, chef de projet au sein de notre équipe consacrée aux graphismes, nous avons étudié les détails qui se cachent derrière l'activation de cette nouvelle classe d'applications graphiques.  --Steven

 


Dans le domaine des graphismes informatiques, l'optimisation des performances est un principe clé. Dans les débuts de l'informatique personnelle, les cartes graphiques discrètes et sous forme de compléments étaient principalement destinées aux applications spécialisées, telles que les applications de DAO/FAO et les jeux. On a vite pensé que toute cette puissance graphique pouvait être utilisée pour aller plus loin : notamment pour optimiser l'interface utilisateur et l'expérience utilisateur. Une des premières cartes graphiques destinées aux PC s'appelait « accélérateur Windows » et émanait de S3 Graphics. Elle se concentrait sur l'expérience utilisateur en permettant un déplacement plus rapide des fenêtres à l'écran. Avec l'évolution du matériel vidéo, les méthodes que les développeurs utilisent pour interagir avec ce matériel ont également changé.

DirectX constitue la partie de Windows qui fournit une interface de programmation d'applications commune, ou API, permettant aux développeurs d'utiliser le matériel vidéo sur le PC pour dessiner du texte, des formes et des scènes en trois dimensions et les afficher à l'écran. DirectX a également évolué au fil du temps, à la fois en termes de fonctionnalités et de performances. Dans les premières années, DirectX se concentrait principalement sur les jeux. Les applications ont ensuite évolué pour fournir des expériences utilisateur plus riches et plus intenses graphiquement. Elles sont nombreuses à avoir commencé à utiliser DirectX pour améliorer leurs performances et optimiser leurs visuels.

Adaptation dans Windows 8

Au début de la planification de notre travail sur les graphismes dans Windows 8, nous savions que nous allions créer une nouvelle façon, riche visuellement, d'interagir avec les applications et avec Windows même. Nous savions également que nous allions créer une nouvelle plateforme pour la conception d'applications de style Metro, et que nous allions cibler un ensemble de matériels plus diversifié que jamais auparavant. Bien que nous puissions nous appuyer sur une formidable plateforme graphique pour commencer, il nous restait du travail à faire. Nous sommes parvenus à fixer quatre objectifs principaux :

  1. Assurer un rendu fluide et rapide de toutes les expériences de style Metro
  2. Fournir une plateforme avec accélération matérielle pour toutes les applications de style Metro
  3. Ajouter de nouvelles fonctionnalités à DirectX pour donner lieu à des expériences visuelles époustouflantes
  4. Prendre en charge la plus grande diversité de matériels vidéo jamais prise en charge

Bien que ces quatre objectifs portent chacun sur différents aspect de la conception de Windows 8, ils dépendent tous de l'optimisation des performances et des fonctionnalités de la plateforme graphique.

Planification des performances

Les performances graphiques sous Windows dépendent à la fois du système d'exploitation et du système matériel, comprenant le processeur, le processeur graphique et le pilote d'affichage associé. Pour garantir une utilisation optimale des nouvelles applications de style Metro, nous devions nous assurer que la plateforme logicielle et le système matériel pouvaient tous les deux assurer de bonnes performances.

Dans le passé, nous avons utilisé différents repères et applications pour mesurer les performances de DirectX. Ils étaient largement centrés sur les jeux 3D. Même si les jeux restent très importants, nous savions qu'un grand nombre de ces méthodes de mesure des performances graphiques ne suffisaient pas à nous renseigner complètement sur les applications graphiques 2D grand public.

Pour suivre nos progrès, nous avons donc mis au point de nouveaux tests et mesures basés sur des scénarios. Les mesures que nous utilisons sont les suivantes :

1.  Fréquence d'images

Nous exprimons la fréquence d'images en nombre d'images par seconde (i/s). Cette mesure est très utilisée pour les repères de jeux et est également importante pour le contenu vidéo et d'autres applications. Lorsqu'un élément s'anime à l'écran, une fréquence de 60 i/s fluidifie l'animation. Nous ciblons cette fréquence, car la plupart des écrans d'ordinateur s'actualisent à 60 hertz. Avec cette fréquence d'images, Windows peut offrir des animations très fluides avec des interactions tactiles « qui collent au doigt ».

2.  Nombre de problèmes

Bien que la fréquence d'images soit une mesure importante, elle n'indique pas tout ce qui se passe. Par exemple, exécuter un repère pendant 10 minutes et obtenir 60 i/s en moyenne semble parfait. Mais cela ne nous indique pas quel seuil minimal la fréquence d'images a pu atteindre au cours du test. Par exemple, si la fréquence d'images tombe momentanément à 10 i/s au cours de parties exigeantes, les animations sont saccadées. La mesure du nombre de problèmes recherche le nombre total de fois où le rendu a pris plus de 1/60 de seconde, résultant en une fréquence d'images réduite. Cette mesure regarde également le nombre d'images simultanées manquées. L'objectif est qu'aucune image ne soit manquée au cours des animations.

3.   Temps d'affichage de la première image

La plupart des gens veulent que leurs applications se lancent rapidement, l'initialisation de DirectX se doit donc d'être rapide. Le « temps d'affichage de la première image » nous indique le temps qui s'écoule entre le moment où vous appuyez ou cliquez pour lancer une application et le moment où la première image de l'application apparaît à l'écran. Pour le mesurer, nous avons créé des applications simples qui permettent d'analyser et d'optimiser le système graphique en termes de temps d'initialisation d'un périphérique graphique, d'allocation de la mémoire requise, etc. Cela nous permet d'assurer une configuration très rapide de DirectX.

4.  Utilisation de la mémoire

Plus nos composants graphiques utilisent de mémoire et plus la part de mémoire disponible pour les applications est réduite. En faisant en sorte que la plus grande partie de la mémoire système soit allouée aux applications, vous bénéficiez de performances optimales pour vos applications et un plus grand nombre d'applications peuvent s'exécuter en même temps. Les applications utilisent un mélange de mémoire système et de mémoire du processeur graphique (GPU). La mémoire GPU sert principalement aux opérations de rendu, telles que le dessin d'images, de formes géométriques et de texte. Certaines opérations graphiques utilisent en outre le processeur et par conséquent, la mémoire système.

Afin de caractériser l'utilisation de la mémoire, nous mesurons la mémoire utilisée par le système dans les scénarios suivants :

  • L'application est inactive. En d'autres termes, elle n'effectue aucune opération et ne rend ou n'affiche aucune information à l'écran.
  • L'application affiche des informations à l'écran. Ceci représente le coût mémoire de base d'un simple dessin.
  • Création de la texture. Ceci représente la mémoire utilisée pour créer un grand nombre d'objets image sur le processeur graphique.
  • Création de la mémoire tampon de vertex. Ceci représente la surcharge mémoire liée à la création de formes géométriques.
  • Chargement des données GPU. Ceci mesure la surcharge mémoire liée au chargement des données dans le processeur graphique (GPU).

Mesurer l'utilisation de la mémoire à travers plusieurs types d'applications et ces différents scénarios nous a aidé à mieux optimiser DirectX et les pilotes d'affichage.

5.  Utilisation du processeur

La plupart des opérations graphiques utilisent le processeur en plus du processeur graphique. Par exemple, lorsqu'une application calcule ce qu'elle va dessiner, elle effectue généralement ces calculs sur le processeur graphique. Il est important de comprendre l'utilisation du processeur, car plus la part de processeur utilisée par une tâche est élevée, plus le nombre de cycles que le processeur peut consacrer aux autres tâches est réduit. Pour optimiser les performances graphiques et la réactivité globale du système, il est important d'équilibrer efficacement les tâches entre le processeur et le processeur graphique.

Ces repères et mesures nous aident à optimiser la fluidité et les performances des expériences et des applications. Ils jouent un grand rôle dans notre compréhension des applications grand public. Bien sûr, nous utilisons toujours les repères du monde de l'industrie, des jeux, ainsi que d'autres modes de mesure de nos performances globales.

Matériel permettant d'accélérer les graphismes grand public

Les graphismes grand public peuvent se regarder de différentes façons. Pour que notre travail puisse bénéficier aux utilisateurs en termes de performances et d'expériences adéquates, nous avons étudié de nombreux exemples d'applications bureautiques et de style Metro pour comprendre comment elles utilisaient le matériel vidéo. En particulier, Internet Explorer 9, Windows Live Mail et Windows Live Messenger faisaient un excellent usage de DirectX. Comme ces applications se sont illustrées par leur très bonne utilisation de DirectX, elles sont de bons exemples pour les autres applications. Ceci a entraîné un certain nombre d'investissements pour garantir la rapidité et l'esthétique visuelle des applications grand public.

Amélioration des performances de texte

Le texte étant de loin l'élément graphique le plus fréquemment utilisé dans Windows, l'amélioration du rendu du texte contribue à optimiser l'expérience utilisateur. Les pages Web, les programmes de messagerie électronique, la messagerie instantanée et d'autres applications de lecture bénéficient d'un affichage de texte hautes performances et de haute qualité.

La conception typographique du style Metro est riche et plusieurs expériences de style Metro ont pour objectif de fournir une lecture d'excellente qualité. DirectWrite permet d'obtenir une très bonne qualité typographique, un traitement extrêmement rapide des polices pour le rendu et assure une prise en charge globale du texte à la pointe de l'industrie. Nous avons continué à améliorer les performances du texte dans Windows 8 en optimisant notre rendu de texte par défaut dans les applications de style Metro afin d'améliorer les performances et l'efficacité, tout en conservant la qualité typographique et la prise en charge globale du texte.

Le graphique à barres ci-dessous illustre les améliorations, en termes de performances, issues de ce travail. Il prend en compte les mesures des scénarios textuels suivants :

  • Rendu d'un écran rempli de texte dont la taille est lisible, placé sous forme de paragraphes, comme on en trouve sur une page Web ou dans un document Word
  • Rendu d'un écran rempli de petits blocs de texte dont la taille est lisible, comme on en trouve sur les contrôles d'une interface utilisateur, par exemple des libellés de boutons ou des menus
  • Rendu d'un écran rempli de petits blocs de texte dont la taille est celle d'un titre, comme on en trouve dans les titres et en-têtes des applications de style Metro et dans les en-têtes des billets de blog et articles d'actualité sur le Web.

Augmentation de la fréquence d'images par rapport à Windows 7, Paragraphes 150 %, Interface utilisateur 131 %, Titres et en-têtes 336 %

L'amélioration la plus notable en termes de performances peut se rencontrer lorsqu'on fait défiler un long document sur un écran tactile. La réduction du temps nécessaire pour rendre les caractères libère les cycles du processeur pour gérer d'autres tâches, telles que le traitement de la saisie tactile haute fréquence ou l'affichage de dispositions de documents plus complexes.

Amélioration des performances du rendu géométrique

En plus du texte, nous avons par ailleurs considérablement amélioré les performances de rendu de la géométrie 2D. Le rendu géométrique est une des technologies graphiques principales utilisées pour créer des éléments, tels que des tableaux, des graphiques, des diagrammes, des graphes et des éléments d'interface utilisateur, comme le montre l'exemple ci-dessous. Pour Windows 8, nos améliorations dans ce domaine se sont principalement concentrées sur les implémentations hautes performances de l'élément HTML5 Canvas et des technologies SVG à utiliser dans les applications de style Metro et dans les pages Web affichées avec Internet Explorer 10.

  Graphique à barres de l'historique des données météorologiques   

L'application météo dans Windows 8 utilise la géométrie pour afficher un graphique de l'historique des températures et précipitations

Lorsque Direct2D dessine la géométrie, il prend ses instructions de l'application concernant ce qu'il doit dessiner sous la forme de figures 2D (rectangles, ellipses et trajectoires), la taille et l'emplacement des figures et les spécificités du style de rendu, notamment la couleur de pinceau et le style de trait. Il convertit ensuite ces instructions en un ensemble de triangles et de commandes qu'il envoie à Direct3D pour générer le résultat souhaité. Nous appelons pavage ce processus de conversion.

Pour améliorer les performances de rendu de la géométrie dans Windows 8, nous nous sommes attachés à réduire le coût processeur associé au pavage de deux façons.

Tout d'abord, nous avons optimisé notre implémentation du pavage lors du rendu de géométries simples, telles que les rectangles, lignes, rectangles arrondis et ellipses. Vous trouverez ci-dessous un graphique illustrant l'impact de ces améliorations.

Augmentation de la fréquence d'images par rapport à Windows 7, Lignes 184 %, Ellipses 369 %, Rectangles arrondis 220 %, Rectangles 438 %

Ensuite, pour améliorer les performances lors du rendu de géométries irrégulières (frontières géographiques sur une carte), nous utilisons une nouvelle fonctionnalité matérielle vidéo nommée TIR (Target Independent Rasterization).

TIR permet à Direct2D de passer moins de cycles processeur lors du pavage, afin de communiquer ses instructions sur le dessin au processeur graphique plus rapidement et efficacement, sans compromettre la qualité visuelle. TIR est disponible dans le nouveau processeur graphique conçu pour Windows 8 qui prend en charge DirectX 11.1.

Vous trouverez ci-dessous un graphique illustrant l'amélioration des performances du rendu de la géométrie anticrénelage de différents fichiers SVG sur un processeur graphique DirectX 11.1 prenant TIR en charge :

15 fichiers affichés, avec une hausse des performances allant de 151 % à 523 %

Nous avons étroitement collaboré avec nos partenaires fabricants de matériels vidéo pour concevoir TIR. Des améliorations considérables ont pu avoir lieu grâce à ce partenariat. Le matériel DirectX 11.1 est déjà sur le marché et nous travaillons de concert avec nos partenaires pour qu'un plus grand nombre de produits compatibles avec TIR soient accessibles.

Rendu des images

Les images sont largement utilisées dans un grand nombre de cas, notamment l'affichage des interfaces utilisateur, des pages Web et d'autres contenus d'applications. Les sites Web utilisent fréquemment des fichiers JPEG pour les images et des fichiers PNG et GIF pour stocker efficacement les éléments d'interface utilisateur, tels que les graphiques des boutons.

L'utilisation de photographies numériques est par ailleurs une activité très répandue sur Windows. Le nombre de photographies numériques que les utilisateurs de Windows affichent et manipulent sur leur PC continue à augmenter à un rythme incroyable.

Nous avons apporté plusieurs améliorations en termes de performances pour l'utilisation des images et photographies aux formats JPEG, GIF et PNG.

Pour le format JPEG, voici quelques-unes de ces améliorations :

  • Décodage plus rapide des images en développant l'utilisation SIMD sur toutes les architectures de processeurs
  • Décodage et encodage Huffman plus rapides

Pour le format PNG, voici quelques-unes de ces améliorations :

  • Décodage plus rapide des images en développant l'utilisation SIMD sur toutes les architectures de processeurs
  • Encodage et décodage plus rapides des images en optimisant notre implémentation zlib

En outre, nous avons amélioré la conversion au format de pixel, ainsi que la mise à l'échelle des images. Cela permet d'accélérer le décodage et le rendu des images pour toutes les applications.

La vidéo ci-dessous utilise une application test pour mesurer le temps de décodage et de rendu d'un ensemble d'images. Windows 8 prend moins de temps (40 %) que Windows 7 pour rendre 64 images (4,38 secondes contre 7,28 secondes).

Rendu et affichage

Parallèlement à l'évolution de DirectX pour qu'il prenne en charge des scénarios plus grand public, nous nous sommes également attachés à optimiser la façon dont les applications rendent et affichent leurs contenus. Il existe des différences importantes dans la manière dont un jeu 3D affiche son contenu et la manière dont une application grand public (par exemple Internet Explorer) affiche son contenu. Prenons par exemple la vidéo du jeu ci-dessous. Dans des jeux comme celui-ci, la scène entière change rapidement. Alors que la « caméra » tourne autour du véhicule, que les nuages se déplacent dans le ciel et que la fumée s'élève du moteur, l'application doit redessiner l'intégralité de la scène à chaque image afin de parvenir à recréer une scène proche du réel et attrayante.


Téléchargez cette vidéo pour la regarder sur votre lecteur habituel :
MP4 haute qualité | MP4 faible qualité

Prenons maintenant la page Web ci-dessous. Elle comporte un article de texte et une vidéo. Pendant la lecture de la vidéo, le navigateur doit actualiser la partie de la fenêtre qui contient la vidéo, mais pas le texte. En outre, si l'utilisateur fait défiler la page vers le haut, nous n'avons besoin de rendre que le nouveau texte au bas de la page. Le reste du texte a déjà été rendu et doit simplement être déplacé.

Image d'une page Web msdn avec vidéo incorporée et lecture en ligne

Pour améliorer les applications qui n'ont pas besoin de redessiner l'intégralité de l'écran pour chaque image, nous avons optimisé la façon dont DirectX gère l'actualisation de certaines parties de l'écran uniquement, et le défilement. Ce travail améliore non seulement l'efficacité et les performances des applications, mais comme il réduit les dessins redondants et le nombre de fois que les données graphiques doivent être copiées en mémoire, il réduit également la consommation d'énergie, ce qui optimise l'autonomie de la batterie.

Optimisation de la plateforme dans son intégralité

Toutes ces modifications aident Windows à effectuer des rendus très rapidement et facilement. Bien que nous ayons principalement parlé des fonctionnalités de DirectX, ce travail contribue à doter l'intégralité de notre plateforme d'une accélération matérielle par défaut. Comme la plateforme de style Metro repose sur DirectX, toutes les applications bénéficient de tous les avantages du matériel vidéo sur le système, quels que soient l'infrastructure et le langage de programmation choisis par le développeur.

Création d'effets visuels époustouflants avec Direct2D et Direct3D

Effets Direct2D

Les effets stylistiques appliqués aux images sont de plus en plus répandus dans les expériences utilisateur d'aujourd'hui. Ils permettent de mettre en surbrillance une zone d'une application, d'attirer votre attention sur une partie précise de l'écran ou simplement d'améliorer l'esthétique. Au cours de la phase de planification des fonctionnalités graphiques de Windows 8, nous voulions qu'il soit vraiment facile pour les développeurs d'appliquer ces types d'effets dans leurs applications. Nous avons examiné deux secteurs principaux où le traitement des images serait utile :

  • Images de l'interface utilisateur
    L'expérience de style Metro utilise des visuels dynamiques. Nous souhaitions que les applications de style Metro puissent traiter les images en temps réel. Cela peut aller des effets de transition 3D aux changements de perspective, flous et mises en surbrillance des éléments de l'interface utilisateur.
  • Photos
    Les applications qui ont trait aux photographies souhaitent souvent un ensemble riche de fonctionnalités de traitement des images. Les effets, tels que les réglages de l'exposition, de la luminosité et du contraste, l'application de l'éclat et de la clarté, l'utilisation de courbes avancées et l'application de corrections optiques, permettent à ces applications d'améliorer vos souvenirs numériques.

Pour ce faire, nous avons ajouté des « effets Direct2D », un nouvel ensemble d'API qui permettent d'appliquer à n'importe quelle image des effets de haute qualité avec accélération matérielle. Les effets Direct2D présentent les avantages suivants :

  • Ils fournissent un rendu de qualité optimale des effets visuels pour répondre aux besoins d'un grand nombre d'applications.
  • Les effets font l'objet d'une accélération matérielle et fonctionnent sur une grande variété de matériels vidéo.
  • Une API simple permet d'obtenir des effets formidables avec une programmation minimale.
  • De nombreux effets intégrés sont fournis.
  • Ils prennent en charge des images de tailles importantes et jusqu'à 32 bits par canal.
  • Les effets personnalisés peuvent être alliés aux effets intégrés ou à d'autres effets personnalisés.

Les effets Direct2D donnent lieu à certaines des nouvelles expériences utilisateur de Windows 8. Par exemple, si vous appuyez sur une vignette de l'écran d'accueil, la vignette utilise l'effet de changement de perspective 3D pour « s'incliner » dans la bonne direction. Ces effets sont également présents dans le reste de notre plateforme. Par exemple, les effets du filtre SVG et les transformations 3D en CSS sont implémentés à l'aide des effets Direct2D.

Direct3D 11.1 est une base courante

Bien que l'ajout de nouvelles fonctionnalités, telles que les effets Direct2D, soit un moyen formidable pour aider les développeurs à proposer de nouvelles expériences, nous avons également envisagé d'autres méthodes pour faciliter l'utilisation des fonctionnalités DirectX existantes.

Au cours d'années de développement, nous avons ajouté différentes fonctionnalités à DirectX. L'accélération matérielle du décodage vidéo est venue avec les nuanceurs programmables dans Direct3D 9. Dans Windows 7, nous avons ajouté Direct2D en le faisant reposer sur Direct3D 10. À cette période, nous avons également créé DirectCompute, un nouveau système permettant d'effectuer des calculs très performants sur le processeur graphique, qui a été intégré à Direct3D 11. Toutes ces mises à jour ont permis de faire de DirectX un ensemble très complet de fonctionnalités portant sur les calculs graphiques et GPU, mais parallèlement, il est devenu de plus en plus difficile de créer une application qui utilise à la fois la vidéo, les graphismes 2D, les graphismes 3D, le texte et DirectCompute.

Dans Windows 8, la nouvelle API Direct3D 11.1 est la base de l'accélération matérielle des graphismes 2D et du texte, du traitement des images, des graphismes 3D et du calcul, et de la vidéo. La nouvelle API permet de mélanger beaucoup plus facilement différents types de contenu dans une seule scène, car cette API unique gère maintenant toutes les ressources du processeur graphique associées au rendu. L'utilisation de la mémoire est ainsi réduite, car la redondance découlant de la création de plusieurs objets de gestion des périphériques graphiques dans le code de l'application est maintenant éliminée. En outre, Direct3D 11.1 offre aux applications une méthode standardisée pour accéder aux diverses fonctionnalités des différents matériels vidéo. Il permet à l'application de savoir quelles sont les fonctionnalités disponibles et seules ces fonctionnalités sont alors utilisées. Les applications peuvent ainsi utiliser au maximum les fonctionnalités du processeur graphique, que ce dernier ait été conçu pour une autonomie élevée sur une tablette ou pour des jeux haut de gamme sur un PC de bureau.

Des matériels vidéo divers

Historiquement, chaque version successive de Windows a suscité des attentes, portant sur l'optimisation de la richesse et des performances des fonctionnalités de la plateforme graphique et celles du matériel vidéo. Cela est toujours d'actualité, alors que le secteur du matériel vidéo continue à développer des processeurs graphiques plus rapides et plus puissants. Mais dans Windows 7, nous avons commencé à voir un point d'inflexion dans ces suppositions, la diversité du matériel s'étant élargie avec l'introduction des appareils mobiles basse consommation.

Avec Windows 8, cette tendance concernant la diversité des types de matériels continue et s'accélère à la fois avec les nouvelles cartes graphiques hautes performances et avec une gamme de plus en plus vaste d'appareils mobiles basse consommation. La gamme du matériel pour Windows 8 est plus vaste que jamais. Elle s'étend du matériel vidéo qui consomme de l'ordre de 1 watt sur des tablettes connectées en permanence aux systèmes haut de gamme dotés de plusieurs cartes graphiques qui utilisent un total de 1 000 watts ou plus. Cette diversité croissante fait naître de nouvelles considérations en termes de conception.

Notre objectif reste le même : fournir des effets visuels convaincants et des performances élevées. Avec la grande mobilité des appareils, la principale source d'énergie est la batterie. Nous devons donc également optimiser l'autonomie de la batterie. Pour répondre aux exigences à la fois en termes de performances et de consommation d'énergie de ces nouveaux terminaux, un grand nombre de nos partenaires fabricants de matériels vidéo ont employé de nouvelles architectures de processeurs graphiques.

Systèmes basse consommation

Le « rendu basé sur les vignettes » est une des architectures graphiques fréquemment utilisées dans la conception des systèmes basse consommation afin d'optimiser les performances et l'autonomie de la batterie s'appelle. Le concept général de cette approche consiste à disposer d'un cache mémoire très performant (mais de petite taille) que le moteur graphique utilise pour le rendu. Le processeur graphique rend alors l'écran par sections (ou vignettes) en traitant de manière répétée le même jeu de commandes sur chaque vignette, au lieu de se charger de tout l'écran en une seule fois. L'intention est de réduire les opérations qui utilisent la mémoire hors puce, ce qui permet de minimiser la consommation d'énergie et de maximiser les performances. L'accès répété à la mémoire hors puce est coûteux à la fois en termes de consommation d'énergie et de temps.

Pour améliorer l'efficacité de ces architectures de rendu basé sur les vignettes, nous avons ajouté plusieurs indicateurs, astuces et nouvelles API susceptibles de réduire le nombre de rendus des vignettes. Nous avons intégré leur utilisation dans la plateforme de développement d'applications de style Metro pour optimiser l'efficacité des applications s'exécutant sur du matériel vidéo qui utilisent une architecture de rendu basé sur les vignettes.

Pour une réduction de la consommation d'énergie tout en optimisant les performances du matériel vidéo, il est également possible d'effectuer des calculs de rendu graphique en utilisant moins de bits de précision. Ceci permet au processeur graphique de structurer plus efficacement ses données afin qu'il puisse traiter plus de données simultanément, réduisant ainsi l'énergie nécessaire. Pour Windows 8, nous avons ajouté de nouvelles méthodes permettant aux applications de spécifier la précision nécessaire dans leurs calculs graphiques. Par exemple, lors de la fusion personnalisée de plusieurs images où les données d'images sont de 8 bits par composant, les calculs de fusion peuvent s'effectuer avec une précision de 10 bits au lieu de la précision par défaut de 32 bits. La réduction de la précision n'influe pas sur la qualité des images, mais réduit la consommation d'énergie.

Des performances optimales, un rendu fluide


Téléchargez cette vidéo pour la regarder sur votre lecteur habituel :
MP4 haute qualité | MP4 faible qualité

Comme vous pouvez le voir, nous avons beaucoup travaillé pour procurer une expérience utilisateur animée fluide et très rapide dans Windows 8. Qu'il s'agisse des nouveaux modes de mesure de nos progrès, de l'optimisation des utilisations grand public de notre plateforme graphique ou des nouvelles fonctionnalités matérielles, nous avons créé la meilleure plateforme graphique Windows possible. Et évidemment, nous continuons à aller encore plus loin dans les jeux immersifs en trois dimensions, avec des performances optimisées et de nouvelles fonctionnalités, telles que la 3D stéréoscopique.

Des configurations destinées aux jeux vidéo haut de gamme aux tablettes légères connectées en permanence, Windows 8 prend en charge la plus vaste gamme de matériels vidéo jamais prise en charge dans un seul système d'exploitation. Nous espérons que ce billet a contribué à expliquer en quoi ce travail permet de donner lieu à de toutes nouvelles expériences riches.

- Rob Copeland

P.S. Merci à Sriram Subramanian, Dan McLachlan, Kam VedBrat, Steve Lim et Jianye Lu pour leur participation à ce billet de blog.