Daz3d : les rendus des images calculées avec un CPU et un GPU sont-ils différents ?

Récemment, Daz3d a publié un billet sur son blog, traitant des meilleurs ordinateurs pour se lancer dans la 3d en 2022 : The Best Computers for Digital Art on a Budget in 2022.

Globalement, rien de nouveau sous le soleil,  Daz3d conseille : une carte graphique avec le plus de CUDA possibles, un bon processeur et dans l’idéal, un maximum de RAM.

CUDA est l’acronyme de Compute Unified Device Architecture. Il désigne un petit processeur optimisé pour le calcul (rendu d’images, affichage 2D 3D, vidéos, compression vidéo, cassage de code, etc.). Je parle de petit processeur, car pris isolément, il n’est pas très puissant, mais comme il est capable de travailler de concert, et que les fabriquant de cartes graphiques ont tendance à en mettre de plus en plus sur leur carte, on finit par obtenir un supercalculateur. Par exemple, il y a 10 496 CUDA sur une carte RTX 3090.

Pour en revenir à l’article de Daz3D, j’ai été interpellé par la phrase suivante :

« The GPU works alongside your CPU to boost performance, and provide faster, better graphics. »

Phrase qui pourrait se traduire par :

« Le GPU fonctionne avec votre CPU pour améliorer les performances et fournir des graphismes plus rapides et de meilleure qualité. »

Quelques rappels :

  • Le CPU (central processing unit) désigne le processeur de l’ordinateur et le GPU (Graphics Processing Unit) englobe le ou les petits processeurs destinés au calcul graphique (les fameux CUDA).
  • Le GPU peut être intégré directement à la carte mère, ou dans le CPU, ou sur une carte fille (carte graphique) ou dans un système SOC (System On a Chip) dans le cadre de l’informatique embarquée (téléphonie, tablette).

Que le GPU accélère le rendu graphique versus le CPU fait l’unanimité. C’est assez logique, car c’est justement son objectif : travailler vite et bien pour décharger le CPU de ce travail.

Par contre, Daz3d explique dans son billet que le GPU peut avoir un impact sur le rendu graphique de certaines scènes, ce qui suggérerait que les rendus GPU et CPU ne seraient pas strictement identiques.

Pour répondre à cette question, je me suis amusé à réaliser différents tests, en veillant à faire mes rendus avec la même version du logiciel. En effet, j’avais constaté dans le passé qu’en fonction des versions utilisées, la luminosité pouvait être différente pour une même scène (rendu identique avec Daz3d 4.10 et Daz3d 4.12, mais sensiblement différent avec Daz3d 4.20).

Par exemple, voici la même scène calculée sur CPU (Intel I5-2300) et GPU (RTX 3060) :

article daz rendu gpu vs cpu pas de différenceLes résultats parlent d’eux-mêmes :

– Aucune différence de qualité de rendu d’images.
– Le GPU calcule la scène en 18 minutes seulement.
– Le CPU calcule la scène en 240 minutes (parce que j’ai fixé un délai maximum de temps de rendu à 240 minutes).

Je ne vais pas vous montrer tous les tests réalisés, mais j’arrive aux mêmes résultats à chaque fois.

En conclusion, les rendus CPU et GPU donnent des résultats identiques, excepté que le CPU mettra (normalement) plus de temps pour calculer la scène et sous réserve qu’il dispose de suffisamment de temps pour mener à terme son travail, ce qui nous amène à la notion de « Max time » qui fera l’objet d’un prochain article.

Laisser un commentaire