Image Boost : comment fonctionne l'upscaling des Radeon Pro d'AMD ?

Image Boost : comment fonctionne l’upscaling des Radeon Pro d’AMD ?

Bien !

Avatar de l'auteur
David Legrand

Publié dans

Hardware

08/03/2019 5 minutes
18

Image Boost : comment fonctionne l'upscaling des Radeon Pro d'AMD ?

Afficher une image 4K sur un écran 1080p, une idée un peu folle ? Dans le domaine des jeux vidéos, cela peut avoir ses limites, notamment en termes de performances. Mais pour les professionnels, ça peut être intéressant. AMD l'a bien compris et propose désormais un mode Image Boost sur ses Radeon Pro.

Récemment, AMD annonçait la mise en ligne des pilotes Radeon 19.Q1 pour Radeon Pro. Dans les notes de version, une nouvelle fonctionnalité était mentionnée : Image Boost.

Présentée comme « permettant le calcul d'une image à une plus grande définition (jusqu'à 5K) que celle de l'écran, puis de l'adapter à celui-ci », elle a éveillé notre curiosité. De telles mécaniques existent déjà pour les jeux vidéo sur l'offre grand public, mais comment l'adapter à des applications et à un environnement professionnel ?

Car la zone de rendu 3D n'est pas forcément l'écran entier ou même une fenêtre en particulier. Pour en savoir plus, nous avons demandé à AMD de nous fournir une Radeon Pro WX 8200.

Un air de déjà vu

Calculer une image dans une définition supérieure à celle de l'écran, pour l'afficher ensuite à sa définition native, cela vous dit quelque chose ? C'est tout à fait normal.

NVIDIA a dès 2014 introduit la fonctionnalité Dynamic Super Resolution (DSR) à ses pilotes. L'objectif était alors de permettre à ceux qui n'avaient encore qu'un écran 1080p de calculer la scène dans une meilleure définition pour obtenir une qualité d'image supérieure. Une idée intéressante, mais limitée à l'époque par l'impact sur les performances.

AMD a suivi le mouvement peu après avec Virtual Super Resolution (VSR). Depuis, des studios ont décidé d'implémenter de telles fonctionnalités directement dans les options de leurs jeux.

C'est sur ce principe que repose Image boost, avec une contrainte : dans une application de modélisation 3D par exemple, ce n'est qu'une partie de l'espace de travail qui peut réellement profiter un tel « upscale ». Mais comment faire ? Plutôt que de se prendre la tête, le père des Radeon a décidé d'opter pour la solution la plus simple.

Quelques conditions à respecter

Dans les paramètres des pilotes, la fonctionnalité prend en effet la forme d'un simple curseur, à activer ou non. Comme VSR. Il est apparemment sans action, les pilotes n'apportant pas de détails.

AMD ne fournit pas non plus sur son site de guide pratique concernant Image Boost. Nous avons néanmoins pu trouver un document détaillant la manière dont on doit l'exploiter. On y apprend que Windows 7 et 10 (à partir de l'April Update) sont supportés.  Il faut aussi disposer d'une Radeon Pro WX 2100, 3100, 4100, 5100, 7100, 8200 ou 9100.

L'activation se fait de manière individuelle, pour chaque écran connecté. Aucun ne doit être 4K.

Image boost : comment ça marche ?

Une fois le panneau de configuration lancé (clic droit sur le bureau > Réglages Raden Pro), rendez-vous dans les paramètres d'affichage. Il suffit de cliquer sur l'option Image Boost pour l'activer.

AMD Radeon Pro Image BoostAMD Radeon Pro Image Boost

Lorsque c'est fait, de nouvelles définitions apparaîtront dans les paramètres d'affichage de Windows. En effet, à défaut de ne pouvoir agrandir qu'une partie précise d'une application, AMD applique l'upscaling à... toute l'image. Dans le cas de notre écran 1080p nous pouvons opter pour trois définitions :

  • 2560 x 1440 pixels (+33 %)
  • 3200 x 1800 pixels (+ 66 %)
  • 3840 x 2160 pixels (+ 100 %)

AMD conseille d'adapter les paramètres d'upscaling de Windows pour retrouver un affichage proche de la définition d'origine. Ainsi, avec un écran 1080p mais une image en 2160p, le paramètre doit être placé sur 200 %.

Dans la pratique, cela permet d'obtenir un espace de travail jusqu'à deux fois plus grand, mais d'apparence similaire. Si cela ne va pas changer grand-chose pour de la navigation web, il en est tout autrement lorsque vous utilisez des applications de rendu 3D, de traitement photo/vidéo, etc.

Surtout, cela n'a que peu d'impact sur les performances. Afficher une image plus grande n'a que peu d'effets hors d'un rendu 3D en temps réel. Et effectuer le calcul d'une scène nécessitera toujours le même temps. Mais le fait d'avoir une zone de travail comportant plus de pixels a un net avantage sur le confort de travail.

En effet, vous pouvez y afficher des éléments 4K ou avec une très bonne définition nativement, le tout étant ensuite adapté à l'écran. Cela peut être pratique dans des situations de mobilité où la définition de l'écran n'est pas toujours très bonne, ou pour des usages via Remote Workstation par exemple.

Pour le vérifier, il suffit de lancer Blender (2.79) et d'ouvrir un modèle comme Blenderman pour constater le résultat. Sur nos captures, effectuée depuis la sortie HDMI avec un HD60 d'Elgato, on voit nettement la différence de définition et l'intérêt que cela apporte :

AMD Radeon Pro Image Boost Comparatif Sans Image Boost / Avec Image Boost

De l'intérêt des fonctionnalités pratiques

Image Boost est donc un ajout bienvenu aux pilotes Pro d'AMD. On se demande d'ailleurs pourquoi il n'a pas été implémenté plus tôt, VSR existant depuis des années.

Dans tous les cas, cela semble assez représentatif de la volonté de la société de travailler non seulement à ses performances et à sa certification, mais également sur des fonctionnalités qui, bien que pouvant apparaître comme mineures, peuvent avoir un intérêt au quotidien.

Certes, ce n'est pas sur de tels éléments que l'on fonde le choix d'un produit plutôt qu'un autre. Mais une somme de petits détails de ce genre peut faire la différence aux yeux de certains.

Écrit par David Legrand

Tiens, en parlant de ça :

Sommaire de l'article

Introduction

Un air de déjà vu

Quelques conditions à respecter

Image boost : comment ça marche ?

De l'intérêt des fonctionnalités pratiques

Fermer

Commentaires (18)


Et le système tolère bien le truc ? Puisque c’est un peu de la bidouille non ? :D Intéressant en tout cas :yes:



que pour les “pro” ?



jb18v a dit:





Oui je pensais que ça poserai souci, mais W10 supporte plutôt bien la mise à l’échelle désormais, donc avec un x2 + 200 % en paramètre, c’est presque transparent. Limité aux cartes Pro pour le moment, ce qui est logique vu la cible. Les modèles Pro sont de toutes façons le plus souvent segmentés sur des éléments logiciels du genre (on en reparlera plus en détails sous peu) :chinois:



AMD conseille d’adapter les paramètres d’upscaling de Windows pour retrouver un affichage proche de la définition d’origine. Ainsi, avec un écran 1080p mais une image en 2160p, le paramètre doit être placé sur 200 %.




Que se passe t’il si on laisse le scaling à 100% ?



Otiel a dit:


Que se passe t’il si on laisse le scaling à 100% ?




Bah t’as une image et une interface en 2160p, pas adaptée, qui s’affiche sur un écran 1080p… du coup c’est moche et flou :D



David_L a dit:


Bah t’as une image et une interface en 2160p, pas adaptée, qui s’affiche sur un écran 1080p… du coup c’est moche et flou :D




Et teeeellement petit!


Oh c est sympa ce truc même si au final, acheter un écran dans la définition supérieur est peut être plus simple pour un pro :D



@David : Merci de faire (re)vivre inoact-hardware, j adore les dossiers !



Il y a aura d autres articles sur votre serveur 1U ? J aurais bien aimé un dossier sur les hyper viseur niveau avec pass-trough gpu (un peu comme fait shadow finalement)


On remarque que toute l’interface n’est pas adaptée, notamment les petits points au bout des titres (Transform, View, 3D Cursor,…).



jb18v a dit:


Et le système tolère bien le truc ? Puisque c’est un peu de la bidouille non ? :D Intéressant en tout cas :yes:que pour les “pro” ?




Comme indiqué dans l’article, c’est déjà dispo depuis plusieurs années pour le grand public : DSR chez Nvidia, et VSR chez AMD.



Je sais pas pourquoi AMD a donné un nom différent pour la version Pro, parce que ça s’utilise exactement de la même façon (le bouton est au même endroit dans le driver), et le résultat est exactement le même.




Surtout, cela n’a pas d’impact sur les performances. (…) Et effectuer le calcul d’une scène nécessitera toujours le même temps.




Je comprends pas trop cette partie. J’ai jamais fait de rendu d’images, mais il me semble tout de même que le temps de calcul est très lié à la résolution du rendu non ?



Ou alors c’est avec la même résolution cible ? Mais dans ce cas, d’où vient l’amélioration de qualité visuelle ?


C’est bêtement la méthode utilisée pour l’anti-aliasing du rendu 3D (depuis les Riva TNT / 3dfx Voodoo2) adaptée au rendu du bureau en 2D, non ?




kikoo26 a dit:


Je comprends pas trop cette partie. J’ai jamais fait de rendu d’images, mais il me semble tout de même que le temps de calcul est très lié à la résolution du rendu non ?




L’impact sur les performances doit effectivement être négligeable tant qu’on reste sur un rendu en 2D, mais en revanche, je pense que la fluidité d’utilisation de Blender ou tout autre logiciel calculant des images rasterizées doit en être affectée.
La doc de Blender propose de réduire la taille de la fenêtre pour améliorer les performances ;) : https://docs.blender.org/manual/en/latest/render/blender_render/optimizations/performance.html



Certains écrans (notamment des télévisions) prennent en charge ce type de traitement matériellement (affichage en 1366x768 d’une image en 1920x1080, par exemple).



Mais du coup, je ne comprends pas que cette fonctionnalité ne soit proposée que sur des cartes dédiées aux professionnels. On pourrait même imaginer que cet “upscaling” soit géré par l’OS nativement …



Balooforever a dit:


Oh c est sympa ce truc même si au final, acheter un écran dans la définition supérieur est peut être plus simple pour un pro :D
@David : Merci de faire (re)vivre inoact-hardware, j adore les dossiers
!Il y a aura d autres articles sur votre serveur 1U ? J aurais bien aimé un dossier sur les hyper viseur niveau avec pass-trough gpu (un peu comme fait shadow finalement)




Je doute que ce soit toujours la solution la plus simple, le cas du 1080p peut facilement justifier un remplacement, en 1440p ça peut être plus tendu, ça dépend des boites, etc. On peut aussi s’attendre à ce que certains se voient répondre “on te le change pas, active Image Boost” :transpi:



Après ça dépend aussi du contexte, parfois tu es juste sur un portable (local ou en rendu distant) ou tu as besoin d’un élément du genre par exemple.



Pour 1U / Passthrough : ça arrive (mais pas en 1U). Je suis enfin arrivé au bout de certains éléments (récupéré des cartes Pro était une partie nécessaire du dossier). On va commencer à publier :D




manus a dit:


On remarque que toute l’interface n’est pas adaptée, notamment les petits points au bout des titres (Transform, View, 3D Cursor,…).




Oui, toutes les applications ne sont pas encore parfaitement adaptées à la mise à l’échelle de Windows 10, ça peut aussi donner une impression de flou a minima dans certains cas, mais ça se compense pas mal par le gain sur la zone de rendu.



Après c’est une solution de compromis, qui a ses avantages et ses inconvénients.




kikoo26 a dit:


Comme indiqué dans l’article, c’est déjà dispo depuis plusieurs années pour le grand public : DSR chez Nvidia, et VSR chez AMD.Je sais pas pourquoi AMD a donné un nom différent pour la version Pro, parce que ça s’utilise exactement de la même façon (le bouton est au même endroit dans le driver), et le résultat est exactement le même.




Comme dit dans l’article, DSR et VSR ne proposent un upscaling que dans les jeux. La fonctionnalité est identique en apparence, mais pas dans le fonctionnel. Dans un cas on a accès à des définitions supérieures dans les jeux, dans l’autre directement dans Windows.




kikoo26 a dit:


Je comprends pas trop cette partie. J’ai jamais fait de rendu d’images, mais il me semble tout de même que le temps de calcul est très lié à la résolution du rendu non ?Ou alors c’est avec la même résolution cible ? Mais dans ce cas, d’où vient l’amélioration de qualité visuelle ?




Quand je parle du rendu d’une scène, je parle de son calcul sur le CPU/GPU pour obtenir l’image/la vidéo finale. La définition de ton rendu final ne dépend pas de la définition de ton écran.



Par contre lorsque tu travailles sur la scène (ce qui se fait le plus souvent sans rendu complet, voir le cas de Renderman) la définition a peu d’impact sur la performance.



Après je ne dis pas qu’un IGP Intel suffit à travailler sur une scène 3D complexe, ça dépend de toutes façons pas mal du workflow. Mais IB permet de ne pas être pénalisé par ton écran qui a une définition trop basse.




cracoutech a dit:


C’est bêtement la méthode utilisée pour l’anti-aliasing du rendu 3D (depuis les Riva TNT / 3dfx Voodoo2) adaptée au rendu du bureau en 2D, non ?

Mais du coup, je ne comprends pas que cette fonctionnalité ne soit proposée que sur des cartes dédiées aux professionnels. On pourrait même imaginer que cet “upscaling” soit géré par l’OS nativement …




Oui ça revient à du SSAA, ce qui était aussi la méthode qui a inspiré DSR/VSR. Mais comme précisé dans l’article et plus haut, ce n’était exploitable que dans les jeux.



Oui MS pourrait proposer cette fonctionnalité nativement. Ils pourraient aussi proposer le passthrough GPU nativement, la virtualisation GPU nativement, forcer le support du 10 bits dans Windows 10 et les cartes Pro n’auraient plus vraiment d’intérêt :D



Plus sérieusement, les cartes Pro sont bâties essentiellement sur des distinctions logicielles. Elles existent pour avoir un prix de vente moyen élevé sur une partie des usages où cela se justifie, tout en restant plus raisonnable sur l’offre grand public.



On peut s’en désoler, mais bon, c’est une réalité, elle n’a rien de nouveau, je ne vais pas la rappeler à chaque article sur le sujet. On apprécierait tous de pouvoir avoir les fonctionnalités d’une Quadro RTX sur une GeForce RTX, sans doute pas de payer un prix situé entre les deux pour cette carte :transpi:



Mon point sur le sujet, c’est que ça doit surtout viser des usages qui sont essentiellement Pro. Ici, la définition de ce que ça intègre peut dépendre de chacun.



On pourrait se dire que Mr Tout le Monde adorerait augmenter sa définition dans Windows artificiellement, sur le fond je vois peu d’intérêt hors des jeux (et encore). De fait, le proposer sous Windows pour la gamme Pro et dans les jeux dans la gamme grand public ne me choque pas outre mesure.



J’ai par exemple plus de mal avec le fait que les solutions de virtualisation ne soient pas nativement capable en 2019 d’utiliser les fonctionnalité du GPU GeForce / Radeon (sans forcément de virtualisation de celui-ci) même sur des applicatifs type VMWare Workstation, parce que ce ne sont pas des modèles Pro.



David_L a dit:


Comme dit dans l’article, DSR et VSR ne proposent un upscaling que dans les jeux. La fonctionnalité est identique en apparence, mais pas dans le fonctionnel. Dans un cas on a accès à des définitions supérieures dans les jeux, dans l’autre directement dans Windows.




J’ai une RX 470 depuis sa sortie, et je peux te garantir que j’ai la même chose dans mon choix de résolutions dans Windows.



Pour le DSR, j’ai pas de carte Nvidia pour tester, mais dans les tutoriels que j’ai vu ça semble similaire (en notant qu’en plus le DSR semble avoir plus d’option pour ajuster la qualité du downscaling).



Et c’est normal, car pour que les jeux pensent qu’il peuvent s’afficher en résolution supérieure, il faut bien que Windows leur dise que les résolutions sont disponibles, et Windows tient cette information du GPU. Et si Windows pense que les résolutions sont disponibles, il les affichera aussi dans le menu du choix de résolution.




David_L a dit:


Quand je parle du rendu d’une scène, je parle de son calcul sur le CPU/GPU pour obtenir l’image/la vidéo finale. La définition de ton rendu final ne dépend pas de la définition de ton écran.




Du coup, c’est sur ce point que je bloque un peu.
Si la résolution de l’image finale est indépendante de la définition de l’écran, et que ça s’affiche mieux avec IB/VSR, ça veut juste dire que l’algo de mise à l’échelle de l’image dans le logiciel est pourri ? Parce que IB/VSR fait juste une mise à l’échelle avec un algorithme quelconque, du coup le logiciel pourrait faire au moins aussi bien par lui même.




David_L a dit:


Par contre lorsque tu travailles sur la scène (ce qui se fait le plus souvent sans rendu complet, voir le cas de Renderman) la définition a peu d’impact sur la performance.




Je connais pas Renderman, mais sur les trucs 3D comme Blender, Unity, Unreal Engine, ça doit quand même impacter les performances, même si l’aperçu est plus léger (et donc doit avoir plus de marge de puissance) que le résultat final ?



kikoo26 a dit:


Si la résolution de l’image finale est indépendante de la définition de l’écran, et que ça s’affiche mieux avec IB/VSR, ça veut juste dire que l’algo de mise à l’échelle de l’image dans le logiciel est pourri ? Parce que IB/VSR fait juste une mise à l’échelle avec un algorithme quelconque, du coup le logiciel pourrait faire au moins aussi bien par lui même.




Je pense qu’on se comprend mal. Quand tu utilises un outil de conception 3D comme Blender (dans l’exemple donné) tu as la phase de conception (celle affichée sur les captures). Le Viewport (là où tu vois le modèle 3D, notamment dans le zoom effectué), utilise un mode de rendu léger par défaut. Tu en as plusieurs : wireframe, material, textured, rendered, etc.



Dans les premiers cas, la carte graphique est assez peu sollicitée, De fait, un affichage 1080p ou 2160p change assez peu les performances (sauf si on fait ça sur un IGP anémique, et encore). Dans le cas cité ici (une WX 8200, équivalent d’une Vega 56), ça ne change rien dans la pratique.



Par contre comme tu le vois, on a un rendu bien plus intéressant dans le viewport du fait du calcul dans une définition supérieure.



Dans la phase de rendu, on calcule l’image/la vidéo pour une définition donnée. C’est celle que l’on utilise pour jauger des performances d’un CPU/GPU en général. Que tu sois sur un écran 720p, 1080p ou 4K ne change rien pour cette phase ou ses performances. Autrement dit : qu’il fasse beau ou qu’il pleuve, 2+2, ça fera toujours 4.


@David_L Pour le GPU Passtrough / Carte pro, c’est effectivement dommage. J’ai vu un gars sur le net qui (s’est amusé) à monter un serveur sous ESXI avec 2-3 GPU en passtrough et des PC client très bas de gamme pour ses enfants pour jouer via Steam en streaming : J’adore le concept



Finalement, on peut visiblement faire la même chose avec un GPU “Pro” qui serait utilisé en même temps par 2-3 clients mais on est finalement pas sur la même gamme de prix (même si on doit y gagner niveau conso / nuisance sonore / ventilation)



Balooforever a dit:





Certaines cartes sont spécifiquement faites pour ça, chez AMD ils ont une gamme “MxGPU”, dont un modèle avec deux GPU Vega pour la virtualisation et la gestion de plusieurs clients sur une même carte graphique par exemple.



David_L a dit:


Certaines cartes sont spécifiquement faites pour ça, chez AMD ils ont une gamme “MxGPU”, dont un modèle avec deux GPU Vega pour la virtualisation et la gestion de plusieurs clients sur une même carte graphique par exemple.




Oui mais c’est uniquement sur du pro non ?
Grid chez NVIDIA je crois



Balooforever a dit:


Oui mais c’est uniquement sur du pro non ? Grid chez NVIDIA je crois




Oui , voir par ici.



Chez NVIDIA disons que c’est une combinaison de cartes Pro et d’une licence logicielle qui peut être GRID (vApps, vPC) ou Quadro vDWS (voir par là).



David_L a dit:


Oui , voir par ici.Chez NVIDIA disons que c’est une combinaison de cartes Pro et d’une licence logicielle qui peut être GRID (vApps, vPC) ou Quadro vDWS (voir par là).




Au vu des prix pratiqués, il faut voir si l’investissement vaut le coup pour 3-4 clients max (je parle pour un particulier). Les CG + un petit Ryzen 12C, ça peut finalement faire un truc très sympathique !



J’ai voulu le faire avec mon vieux i7 860 (à minima du GPU Passtrough : trop ancien ..



J’attends ton test avec impatience :)



David_L a dit:


Je pense qu’on se comprend mal. (…)




Effectivement, j’avais pas compris ça comme ça, je pensais que ça rendait l’affichage du rendu final plus beau.



Le but est donc d’améliorer la qualité d’affichage dans le “Viewport”, à défaut de pouvoir améliorer le Viewport avec de l’anti-aliasing.



Par contre je trouve ça quand même maladroit d’écrire que ça n’a pas d’impact sur les performance. Faire X4 sur le nombre de pixels ce n’est pas rien, il me semblerait plus correct de mentionner ce détail et précisant que sur les cartes concernés ça sera négligeable, parce que le VSR étant disponible sur les GPU grand public, ça inclut l’APU A6 7400K (partie graphique : GCN2, 4 CU) qui doit bien rentrer dans la case “IGP anémique”.