L’utilisation de la puce graphique intégrée au processeur (IGP) est souvent dénigrée dans le cadre d’un PCHC mettant en œuvre MadVR, du fait d’un manque de puissance qui ne permettrait d’obtenir qu’une image souvent désignée comme étant de qualité médiocre.
Au-delà de ces préjugés un IGP récent permet pourtant d’obtenir dans la plupart des cas une image aussi qualitative qu’avec une CG, en utilisant les algorithmes de rendu parmi les plus puissants.
J’ai utilisé ces dernières années aussi bien des GPU milieu de gamme (Radeon 5770 et 6850) que des IGP (Intel HD 3000 et HD 4600), j’indique ci-dessous les réglages pour mon IGP. Je ne traite que des flux issus de BR en Full HD, je ne regarde plus de SD et je ne dispose pas de diffuseur UHD.
Côté matériel ma plateforme est équipée d’un CPU i7 4770K, IGP HD4600, RAM DDR3 2400 Mhz. CPU et IGP ne sont pas overclockés. Le diffuseur est un VP Sony HW50ES qui projette sur un écran de 2,34m de base. Les réglages proposés sont donc relatifs à ce matériel, quelques commentaires :
- Avec un IGP moins puissant (HD 3000 ou HD 4000) il faudra utiliser des algorithmes moins gourmands
- Je n’ai pas mesuré l’impact de la rapidité de la RAM sur les performances, mais c’est l’IGP qui bénéficie le plus d’un gain en fréquence de celle-ci. Cependant il ne faut a priori pas espérer un gain supérieur à quelques % entre de la RAM à 1600 Mhz et une autre à 2400 Mhz
J’utilise JRiver ou MPC-HC comme lecteur, les paramétrages sont identiques. Les autres logiciels utilisés sont les suivants :
- LAV splitter pour la séparation des flux vidéo et audio
- LAV Vidéo pour le décodage vidéo et le désentrelacement
- ffdshow video pour le traitement vidéo
- LAV Audio pour l’audio
- MadVR en renderer
Je ne décrirai ici que le paramétrage MadVR puisque c’est lui qui va charger l’IGP, pour le reste voir les excellents tutos qu’on peut trouver sur le forum. Le paramétrage proposé n’est pas passe-partout, il correspond à ma configuration matérielle mais doit être adapté en fonction des CPU/IGP/diffuseur.
Pour adapter le paramétrage à mon matériel j’ai créé un profil unique pour ffdshow, mais 2 profils MadVR. J’ai en effet tenu compte de la puissance CPU et IGP pour les différents flux à traiter : entre un flux progressif à 23,976i/s et un autre entrelacé à 29,97i/s la puissance de calcul nécessaire est significativement plus importante dans le second cas, de par le nombre d’images à traiter supérieur de 25% et le désentrelacement :
- Mon CPU offre une puissance confortable, je peux appliquer les mêmes filtres ffdshow quel que soit le flux
- Mon IGP dispose d’une puissance limitée, j’utilise des algorithmes MadVR moins gourmands pour les flux en 1080i29
Tout d’abord le paramétrage Avisynth dans ffdshow, j’utilise ici le script « PureHD » de McGayver dans lequel j’ai légèrement augmenté l’upsampling de LimitedShrpenFaster et augmenté les Sharpstr de l’UnsharpHQ :
![Image](http://img15.hostingpics.net/pics/448652F1ffdshowavisynth.png)
Le script Avisynth :
- Code: Tout sélectionner
#Pure HD
SetMTMode(3,0)
ffdshow_source()
SetMTmode(2,0)
LimitedSharpenFaster(Smode=4,ss_x=1.5,ss_y=1.5,wide=true,soft=-1,overshoot=0,strength=4096)
UnsharpHQ(THRESHOLD=90,SHARPSTR=1.2,SMOOTH=0.0)
GradFun2db()
SetMTMode(1)
GetMTMode(false) > 0 ? distributor() : last
En complément d’Avisynth j’utilise le filtre de sharpen de ffdshow – swscaler à 0.8 - et le post-processing. En sortie de ffdshow j’ai coché YV12 et NV12.
Passons maintenant à MadVR :
1) Création de 2 profils, pour avoir un paramétrage spécifique pour les flux 1080i29 (concerts)
![Image](http://img15.hostingpics.net/pics/853784M0Profils.png)
2) Le réglage pour l’upscaling de chroma, avec sur la partie gauche celui pour les flux jusqu’à 25i/s et sur la droite ceux avec une fréquence supérieure. On passe de Jinc à Spline
![Image](http://img15.hostingpics.net/pics/747435M1Chroma.png)
3) L’image upscaling. Comme pour la chroma, pour les flux >25i/s c’est Spline 3 taps
![Image](http://img15.hostingpics.net/pics/933182M2Image.png)
4) L’image downscale, identique pour les 2 profils mais qui n’est pas utilisé car la résolution de sortie de ffdshow est identique à celle du diffuseur. Le Catmull-Rom est un très bon algorithme et peu gourmand
![Image](http://img15.hostingpics.net/pics/940265M3Downscale.png)
5) Enfin le paramétrage du dithering
![Image](http://img15.hostingpics.net/pics/868501M4Dithering.png)
Pour le reste du paramétrage MadVR :
- Je n’utilise pas le smooth motion, qui est très peu gourmand mais ne présente pas d’intérêt pour moi.
- Tout est décoché dans « trade quality for performance »
La charge CPU et GPU sur un Blu-Ray standard en 1080p23 : le CPU est à 33%, l’IGP à 77% avec des pointes à 82%, et on voit sur l’OSD MadVR que le Clock Deviation est très faible, les queues très correctes ainsi que le temps de rendering autour de 19 ms.
![Image](http://img15.hostingpics.net/pics/667971C1Charge1080p.png)
Sur un Blu Ray de concert en 1080i29 : CPU à 57%, GPU à 81% avec des pointes à presque 90%, Clock Deviation très faible et rendering time très court du fait de l’utilisation du Spline.
![Image](http://img15.hostingpics.net/pics/292767C2Charge1080i29.png)
Avec ces paramètres le GPU est presque à ses limites mais il encaisse la charge et surtout la fluidité est parfaite, pas le moindre drop pendant un film.
La qualité d’image est très bonne sur mon VP, mais le script Avisynth nécessite sans doute d’être adapté selon le diffuseur et le type d’image recherché. Le CPU dispose d'une marge pour utiliser des scripts plus poussés si nécessaire. J'utilisais précédemment un script qui upscalait l'image en 2560x1440 en sortie de ffdshow, je devais limiter les algos au Spline.
Cette présentation a juste pour but d’aider ceux qui veulent optimiser l’utilisation de leur matériel, le choix de l’IGP ou d’une CG dépend de plusieurs paramètres factuels ou non. Pour ceux qui hésitent ne pas oublier qu’essayer l’IGP ne coûte rien et qu’il est toujours possible d’upgrader plus tard avec une CG si on l’estime utile.
Si je devais résumer mon opinion sur le sujet :
L’utilisation d’une CG dédiée reste plus souple car la puissance disponible est en général surdimensionnée et il y a donc moins de questions à se poser.
Les principaux inconvénients sont essentiellement le coût qui représente une part importante du PC, la consommation électrique nettement plus importante qui génère beaucoup plus de chaleur et donc du bruit, et la place prise dans le boîtier d’un PCHC qui est souvent étroit.
L’IGP a pour lui un coût nul, une consommation très faible (la config en charge dépasse à peine les 100W à la prise) avec des gains sensibles en termes de place, chaleur et bruit, et une qualité d’image aussi bonne qu’un GPU à réglages équivalents.
Ses inconvénients sont la nécessité d’optimiser les algorithmes utilisés selon les flux ou l’IGP utilisé, et des pilotes aux fonctions et à l’ergonomie moins poussées que chez nVidia ou AMD.
Bons films !