GPU ou puce graphique. On en parle souvent, mais au final, qu’est-ce que c’est vraiment ? À quoi ça sert et, surtout, quelles sont les différences entre les dizaines de modèles disponibles ? Embarquez avec nous dans ce petit tour d’horizon des solutions GPU pour tablettes et smartphones.

Tegra K1

En gris (en bas) le couple CPU/GPU, en noir (grands rectangles) les puces de mémoire vive et en noir (petit rectangle) une ROM de NAND flash

Venant du monde PC, je suis habitué à croiser des GPU (Graphic Processor Unit), aussi appelés puces graphiques. Dans un ordinateur, les GPU prennent place sur une carte graphique. Le GPU est la puce centrale de la carte graphique, celle qui réalise tous les calculs. À côté du GPU, on a les puces mémoire, un étage d’alimentation, quelques condensateurs et voilà.

Faire rentrer tout cela dans un smartphone ou une tablette relève de la magie ! Mais c’est tout de même possible puisque les GPU que l’on retrouve dans nos appareils mobiles possèdent le même fonctionnement que ceux de nos ordinateurs. Leur architecture est toutefois plus légère pour être plus petite physiquement et ainsi prendre moins de place, moins consommer et moins chauffer. Les GPU sont directement intégrés dans le SoC (System on a chip) qui regroupe le processeu et la puce graphique. Parfois, la mémoire vive est collé sur le dessus du SoC.

GK110

Une carte graphique pour PC sans son système de refroidissement

Le rôle des GPU, qu’ils soient dans les ordinateurs ou dans les appareils mobiles, est le même. Ils sont là pour calculer des images en 2D ou 3D affichées ensuite sur l’écran via les pixels de la dalle. Lorsque vous regardez votre écran, le texte et les images sur les sites web, les textures, les effets de fumée ou de lumière dans les jeux sont affichés à l’écran grâce aux pixels de la dalle (plusieurs centaines de milliers voire plusieurs millions selon la définition). Chaque pixel prend une couleur différente, ce qui permet, à la manière d’une peinture, d’afficher au final une image complète.

La définition

La définition d’un écran est le nombre de pixels sur une ligne verticale multiplié par le nombre de pixels sur une ligne horizontale. Par exemple, pour la Full HD : 1920 x 1080 pixels ce qui donne en tout 2 073 600 pixels.

En d’autres termes, le GPU est l’artiste : il doit créer une image de la scène à représenter selon les informations fournies par les développeurs des logiciels ou des jeux vidéo. Il a cependant une contrainte : celle de la taille de l’image. En mettant de côté les problématiques d’upscaling, le GPU devra tenir compte de la définition de l’écran pour lui livrer une image de la même « taille ». Si l’écran possède une définition de 640 x 480 pixels, le GPU devra livrer une image de 640 pixels de large par 480 pixels de haut. Plus la définition de l’écran est élevée et plus le GPU doit créer une grande image. En QHD (2560 x 1440 pixels), le GPU devra alors créer une image qui possède pratiquement 4 millions de pixels contre environ 300 000 pixels pour une définition VGA. Le GPU mettra donc plus de temps à créer une image en haute définition qu’une image en basse définition. Par exemple, passer d’une dalle Full HD à une dalle QHD avec la même puce graphique fait baisser les performances d’environ 50 %.

colorful pixels

Ceci s’explique par l’architecture des GPU. Pour simplifier, le GPU traite chaque pixels de manière indépendante. Pour imager, les pixels sont des points qui prennent place dans une grille et le peintre (le GPU) doit alors les remplir de couleur un à un pour afficher l’image. C’est pour cette raison que les écrans bénéficiant d’une haute définition sont plus gourmands en puissance GPU. La puce graphique mettra plus de temps à calculer l’image et le débit d’images (framerate) sera moins élevé. Lorsque l’image est lourde et que la puce est peu puissante, le débit d’image est si faible que l’œil humain perçoit une latence entre chaque image. C’est ce qui se passe lorsqu’on dit qu’un jeu ram. En réalité, dans les jeux, il n’y a pas que la taille de l’image qui rentre en compte. Il faut aussi avoir à l’esprit les nombreux effets qui se rajoutent sur une scène et qui peuvent se révéler très gourmands et prendre du temps à calculer. Ceux-ci sont souvent réglables sur un jeu PC mais rarement sur les jeux mobiles, ou alors de manière automatique selon la puissance de l’appareil.

Le framerate

Le framerate est le taux d’image débité par la puce graphique. Il indique le nombre d’images (IPS et FPS) par seconde calculé par le GPU.

Plus le framerate est élevé, plus la sensation de fluidité est grande. Certains pensent que 24 images par seconde est la limite à partir de laquelle le cerveau humain ne peut plus faire la distinction. Mais de nombreuses théories et expériences pratiques ont prouvé le contraire. L’explication du site NoFrag sur ce sujet est d’ailleurs très intéressante. Pour résumer en une phrase, 24 images par seconde n’est pas suffisant et ce n’est pas pour rien que les joueurs sur PC apprécient les écrans de 144 Hz. Sur les smartphones et tablettes, les écrans possèdent la plupart du temps une fréquence de rafraichissement de 60 Hz. Ce qui signifie qu’afficher plus de 60 images par seconde ne sert à rien. De toute façon, il est difficile de tenir ce framerate dans l’ensemble des jeux puisque nos tests de la Shield Tablet de Nvidia ou le face à face du Oppo Find 7 avec le LG G3 ont montré que certains jeux pouvaient se révéler un peu trop gourmands.

30 FPS vs 60 FPS

C’est là que les différents modèles de GPU entrent en jeu. Il faut que la puce graphique soit adaptée à la définition de l’écran. Par exemple, sur le LG G3, l’Adreno 330 du Snapdragon 801 n’est pas assez puissante pour alimenter correctement l’écran QHD (2560 x 1440 pixels). Sur un écran Full HD, c’est largement mieux. Avec un smartphone d’entrée de gamme et un écran VGA (640 x 480 pixels), les performances de l’Adreno 330 seraient démesurées et on parviendrait facilement à dépasser les 60 images par seconde, ce qui ne sert à rien. Pour les performances en jeu, le GPU n’est pas le seul à travailler. Le processeur (CPU) et la mémoire vive sont également soumis à rude épreuve. Mais ils sont bien moins sollicités que le GPU qui est souvent, lui, le maillon faible.

Un utilisateur qui souhaite avant tout jouer dans de bonnes conditions doit donc porter une attention particulière au GPU même si le CPU et la mémoire vive ne sont pas à négliger. Encore faut-il s’y retrouver dans la jungle des puces graphiques. Nous allons tenter de déblayer un peu le terrain des puces graphiques mobiles. Actuellement, il existe sept fabricants de GPU pour appareils mobiles : Qualcomm avec les Adreno, Imagination Technologies avec les PowerVR, Intel avec les HD Graphics, ARM avec les Mali, Nvidia avec les GeForce, Broadcom avec les VideoCore et Vivante avec les GC. Il existe deux situations : soit le fabricant propose la puce graphique à d’autres constructeurs (comme ARM, Imagination ou Vivante) soit le fabricant l’intègre dans ses propres SoC (comme Nvidia, Intel, Broadcom ou Qualcomm). Pour notre tableau, nous allons éliminer les puces de Broadcom et Vivante qui se trouvent dans trop peu de produits.

 Haut de gammeMilieu de gammeEntrée de gamme
ARMMali-T658MP[1-8]
Mali-T628MP[1-8]
Mali-T604MP[1-4]
Mali-T624MP[1-4]
Mali-T622MP[1-2]
Imagination TechnologiesPowerVR G6430
PowerVR G6400
PowerVR G6230
PowerVR G6200
PowerVR G6100
Intel-HD Graphics-
NvidiaTegra K1Tegra 4Tegra 4i
QualcommAdreno 330Adreno 320Adreno 305
Adreno 302

Nous avons réalisé ce classement en tenant compte des performances de chaque puce graphique à l’intérieure de la gamme du constructeur. Ainsi, il ne permet pas de comparer les performances des puces des constructeurs entre eux.

Il faut également noter que chez ARM, les Mali ont une segmentation particulière. Ils possèdent un suffixe MP qui indique le nombre d’unités de calcul (aussi appelé cœurs par ARM). Par exemple MP4 indique la présence de 4 unités de calcul. Chaque puce peut être déclinée en plusieurs versions, selon le nombre d’unités de calcul. Le Mali-T628MP6 sera donc largement plus performant que le Mali-T628MP2. Il faut donc attentivement lire la fiche technique ou les benchmarks disponibles sur Internet.

Chez Qualcomm, une petite subtilité touche l’Adreno 320. Ce GPU existe en deux versions totalement différentes. La première génération, qu’on retrouve notamment dans les S4 Pro et Prime (donc dans la Nexus 7 2013) est cadencée à 400 MHz et dispose de 16 unités de calcul contre 24 unités de calculs cadencées entre 400 et 450 MHz pour la seconde génération qui trouve sa place dans les Snapdragon 600. La différence de performances est donc bien présente.

 

Les usages

Les GPU haut de gamme sont réservés aux utilisateurs désireux de pouvoir jouer à n’importe quel jeu dans de bonnes conditions, même les plus gourmands comme Real Racing 3 ou NoVA 3. Pour le moment, seul le Tegra K1 permet de jouer dans de bonnes conditions avec un écran QHD. Les GPU haut de gamme actuels des autres constructeurs sont plutôt réservés aux écrans Full HD et sont à la peine sur des écrans QHD, comme nous l’avons vu sur notre comparatif LG G3 et Oppo Find 7. Si vous êtes un joueur occasionnel qui ne se formalise pas pour un jeu qui tourne à 30 FPS, ça devrait tout de même vous satisfaire.

SONY DSC

Les GPU milieu de gamme sont quant à eux plutôt destinés aux joueurs occasionnels pour qui les performances pures ne sont pas la priorité. On évitera de placer ces puces sur un écran Full HD si l’on souhaite jouer aux jeux les plus gourmands. Pour les autres jeux ou les définitions d’écran inférieures, cela suffira.

Enfin, les GPU d’entrée de gamme ne sont clairement pas destinés à jouer à des jeux gourmands. Heureusement, ils trouvent la plupart du temps leur place dans des appareils équipés d’écrans d’une faible définition. Toutefois, même avec des jeux un tant soit peu gourmands, l’expérience de jeu n’est vraiment pas bonne.

En plus des performances, il faut aussi prendre en compte la qualité visuelle. Parfois, on pourra avoir l’impression que Real Racing 3 (pour ne citer que lui) tournera aussi bien sur un Adreno 330 que sur un Adreno 320. Mais quand on y regarde de plus près, il y a fort à parier que les réglages du jeu sont beaucoup plus faibles sur l’Adreno 320 que sur l’Adreno 330. Real Racing 3, comme d’autres jeux, possède en effet un mécanisme qui règle automatiquement les réglages graphiques.

 

Les prochains GPU

D’ici quelques mois, nous allons voir arriver de nombreux nouveaux GPU. Chez ARM, les Mali-T720 et T760 remplaceront à terme la série T600. Rockchip et Mediatek ont déjà annoncé des SoC qui intégreront ces puces : respectivement le RK3288 et les MT6732 et MT6752.

Chez Qualcomm, l’Adreno 420 peut déjà se retrouver dans le Snapdragon 805, pour le moment disponible dans quelques terminaux en Asie. Le prochain sur la liste est l’Adreno 306 du Snapdragon 410 pour lequel nous n’avons aucune information. D’autres Adreno sont prévus pour les futurs SoC de la marque.

Du côté d’Imagination Technologies, les PowerVR Series6 seront remplacés d’ici peu par les PowerVR Series6XT et Series6XE.

Intel utilise pour le moment sa solution HD Graphics dans ses SoC Bay Trail et les PowerVR dans les SoC Merrifield et Moorefield. On sait déjà que les Core M utiliseront une nouvelle puce HD Graphics. Pour les successeurs des Merrifield et Moorefield, il est encore trop tôt pour se prononcer.

Chez Nvidia, c’est pareil, le Tegra K1 est à peine commercialisé depuis quelques semaines et il est donc trop tôt pour aborder son successeur.

Ray Tracing

Que faut-il attendre des futures puces ?

On peut attendre deux choses des prochains GPU.

Tout d’abord, ils permettront de ne pas subir de pertes de performances en passant d’un écran Full HD à un écran QHD. À titre d’exemple, l’Adreno 420 obtient à peu près les mêmes performances sur un écran QHD que l’Adreno 330 sur un écran Full HD. Mais finalement, ne vaut-il pas mieux rester sur un écran Full HD et profiter de la puissance des nouvelles puces pour améliorer l’expérience visuelle ?

Si les jeux sous Android commencent à devenir de plus en plus réalistes et à rattraper (un peu) les consoles de salon, il leur manque toujours quelques petits détails. Les effets de lumière, de fumées ou les objets ne sont pas aussi bien représentés que sur console. Il pourrait donc être utile d’arrêter la course à la définition, de rester sur des écrans Full HD sur smartphone et de proposer des jeux plus réalistes. Android Extension Pack et OpenGL ES 3.1 devraient permettre de réaliser des jeux plus beaux, à l’image de la démonstration Rivalry basée sur l’Unreal Engine 4. Pour les tablettes en revanche, la présence de dalles d’une définition QHD s’explique par la taille de l’écran. Espérons que les constructeurs intègrent donc des puces graphiques très puissantes. Encore faut-il que les joueurs soient intéressés.

Lien Youtube
Chaine Youtube FrAndroid