Test de rendu 3D : voyez comment votre GPU gère le ray marching en temps réel

Ce n'est pas un cube qui tourne. Chaque pixel lance un rayon dans un volume 3D et le parcourt jusqu'à mille pas par image, en évaluant la formule du Mandelbulb à chaque pas. C'est pourquoi une scène sans textures ni triangles peut mettre un GPU à genoux, et pourquoi c'est un test honnête du débit des shaders.

30 secondes. Les téléphones démarrent en Bas.

Comment fonctionne le rendu

Pour chacun du million de pixels environ de la zone de dessin, le fragment shader lance un rayon depuis la caméra vers la scène et l'avance à petits pas. À chaque pas, il évalue la formule de distance du Mandelbulb pour demander « suis-je déjà dans la forme ? ». Quand la réponse bascule, il affine le point d'impact par quelques bissections, puis l'ombre.

Le niveau de qualité fixe le nombre d'itérations de la formule du Mandelbulb à chaque pas. Bas en fait deux, Ultra douze. Chaque itération supplémentaire multiplie l'arithmétique de chaque pas de chaque rayon : à nombre de pixels égal, Ultra représente environ six fois le travail de Bas.

L'ombrage est un simple modèle de réflexion avec une couleur tirée de la distance au centre, d'où la surface arc-en-ciel. Il n'y a aucune lecture de texture dans tout le pipeline ; l'image entière est calculée.

Ce que le rendu sollicite

Débit du fragment shader

Presque tout le travail est du calcul flottant dans le pixel shader : puissances, trigonométrie et racines, des centaines de fois par pixel. C'est la même unité sur laquelle les jeux s'appuient pour l'éclairage et le post-traitement.

Boucles et branchements

Les rayons s'arrêtent tôt quand ils touchent la surface ou sortent du volume, donc des pixels voisins font des quantités de travail différentes. Les GPU qui gèrent bien les branches divergentes gardent leurs FPS ; les autres calent.

Taux de remplissage à 1024 × 1024

La zone de dessin est un carré fixe d'environ un million de pixels, mis à l'échelle de votre fenêtre. Les résultats restent ainsi comparables entre un téléphone et un écran 4K.

Ce qu'il ne sollicite pas

Aucun test ne couvre tout un GPU. Ces parties restent inactives ici.

Partie du GPUPourquoi inactiveOù la tester
Unités de sommets et de géométrieLa scène est deux triangles couvrant l'écran. Toute la forme vient du pixel shader.Un jeu riche en polygones ou 3DMark
Unités de texture et bande passante VRAMAucune texture n'est échantillonnée et rien ne réside en mémoire hormis le shader.Un test de textures ou de VRAM
Décodage vidéoAucune vidéo n'est lue.Un test de lecture vidéo 4K
Température et fréquencesLes navigateurs ne lisent pas les capteurs.HWiNFO, GPU-Z, MSI Afterburner

Interpréter le chiffre

Attentes approximatives au niveau Moyen. La fréquence de rafraîchissement de l'écran plafonne le haut.

Si vous voyezCela signifie généralement
Moyenne collée à la fréquence de rafraîchissement, minimum juste derrièreLe GPU a de la marge. Montez d'un niveau pour trouver sa limite.
Moyenne bien sous le plafond, minimum proche de la moyenneUne mesure stable et honnête de ce GPU à ce niveau.
Moyenne correcte, minimum bien plus basSaccades. Quelque chose a interrompu le test : onglets en arrière-plan, notification, ou premières secondes de throttling.
Un seul chiffre sur un GPU dédiéLe navigateur tourne probablement sur le GPU intégré, ou l'accélération matérielle est désactivée.

Conseils pour un test propre

  • Fermez les autres onglets qui lisent de la vidéo ou utilisent WebGL ; ils partagent le GPU.
  • Ne redimensionnez pas la fenêtre pendant le test. La zone de dessin est remise à l'échelle, ce qui coûte une image.
  • Ne faites ni glisser ni zoom pendant le test chronométré. La caméra est verrouillée 30 secondes pour que chaque test utilise la même vue.
  • Lancez-le deux fois. Sur certains pilotes, le premier passage inclut la compilation du shader.

Questions fréquentes sur le test de rendu 3D

Les questions courantes sur ce que mesure ce test de rendu.

1

Est-ce un vrai benchmark 3D ?

C'est une vraie charge GPU, mais étroite : elle mesure le débit du pixel shader et la gestion des branchements, pas la géométrie ni la mémoire. Voyez-la comme un axe de la performance GPU, pas comme un remplaçant d'un benchmark de jeu.

2

Pourquoi pas de textures ?

Pour que le résultat ne dépende que des unités de calcul du GPU. Ajouter des textures mélangerait la bande passante mémoire au chiffre et le rendrait plus difficile à interpréter.

3

Qu'est-ce qu'un Mandelbulb ?

Un cousin en trois dimensions de l'ensemble de Mandelbrot. Sa surface est définie par une formule plutôt que par un maillage, donc le GPU doit calculer où se trouve la surface pour chaque rayon. C'est ce qui en fait une bonne scène de stress.

4

Pourquoi la zone de dessin est-elle carrée ?

Une zone fixe de 1024 × 1024 signifie que chaque appareil rend le même nombre de pixels : un téléphone et un PC de bureau se comparent au même niveau.

5

La résolution de mon écran change-t-elle le score ?

Non. La zone de dessin fait toujours 1024 × 1024 et est mise à l'échelle. La fréquence de rafraîchissement, elle, compte : elle plafonne les FPS.

6

Pourquoi tourner la vue change-t-il les FPS ?

Les rayons qui touchent la surface tôt s'arrêtent tôt. Les vues avec plus de vide à l'écran demandent plus de pas et tournent plus lentement. C'est pourquoi le test chronométré verrouille la caméra.