Blog Widget by LinkWithin

18 juil. 2013

Lecture HD avec un Atom 330 / Nvidia ION (Asus AT3N7A-I)


Ou comment jouer sur l'optimisation logicielle pour combler le manque de puissance matérielle!
Toujours dans mon projet de construction de mon mini HTPC de récup', j'ai attaqué la partie logicielle, et plus principalement la lecture de films HD.

Car je ne vous cacherai pas que c'était le point sur lequel j'avais le plus d'incertitudes. L'Intel Atom, malgré son dual core de base à 1,6Ghz + hyperthreading... et malgré le petit overclocking à 2Ghz que je lui ai octroyé, bah ça reste un bon petit veau.

D'emblée je savais que je devrai utiliser l'accélération matérielle pour espérer avoir des résultats convenables. Ça tombe bien la puce Nvidia ION la prend en charge.


1) Choix de l'OS


Après une installation d'Ubuntu infructueuse (gros problèmes de son via HDMI, merci pulse Audio), une installation de Debian infructueuse (j'avais oublié à quel point ils étaient extrémistes du "libre" -> pas le temps de réinventer la roue)... bah j'ai pas chercher à comprendre plus longtemps : go Windows 7 64bits.

2) Choix du lecteur vidéo

MPC-HC


Sous windows, j'ai pour habitude de n'utiliser que Media Player Classic - Home Cinéma (MPC-HC pour les intimes). Pour moi c'est le plus léger / fonctionnel, il lit tout sans rien avoir à paramétrer ou installer en plus.

Donc après récupération et installation de la version 64bits, je fais mes tests, tout confiant et en prenant bien soin de voir que lors du lancement de la vidéo, le player affiche la mention "Lecture DXVA" qui confirme que l'accélération matérielle est activée.

  • MKV 720p : fluide dans l'ensemble, l'utilisation processeur est en moyenne vers 20%, rien à signaler
  •  MKV 1080p ~ 8Go : le lancement de la vidéo se fait dans la douleur, le scrolling aussi avec un ressenti de "mise en tampon" bien présente, et de manière générale la lecture n'est pas fluide. Les scènes de travelling sont un massacre.
  • MKV 1080p ~20Go : Le test ultime, Avatar avec piste son en DTS-HDMA, et là c'est le drame. La lecture est très difficile, et au bout d'un certain temps des artefacts apparaissent de manière aléatoire, voir même un mode stop-motion.

VLC


Ma solution de repli par excellence, je ne suis pas fan de l'ergonomie générale mais il échoue rarement dans le décodage et la prise en charge matérielle.
Après récupération et installation de la version 32bits (la 64 étant en bêta)

1ère session de tests : 
  • MKV 720p : fluide dans l'ensemble, l'utilisation processeur est en moyenne vers 70%, hum étrange.
  •  MKV 1080p ~ 8Go : la lecture n'est pas hyper fluide mais ça reste correct. Utilisation cpu à 99%... hum²... très étrange
  • MKV 1080p ~20Go : Le test ultime, Avatar : Fail. Stop-motion + limite de freeze du PC.
Mais c'est bien trop étrange ce comportement... allons voir dans les paramètres, et par défaut : Doh! accélération matérielle décochée...


2ème session de tests, accélération matérielle (DXVA) activée cette fois-ci : 
  • MKV 720p : la lecture n'est pas hyper fluide mais ça reste correct, cpu 20%
  •  MKV 1080p ~ 8Go : la lecture n'est pas du tout fluide. Utilisation cpu à 20%...
  • MKV 1080p ~20Go : Le test ultime, Avatar : idem que pour les 1080p plus petits, ça passe mais pas avec des accrocs plus que gênants.
Il y a clairement un problème d'exploitation du DXVA.

Après quelques heures recherches sur le net, j'ai eu la révélation. DXVA étant la solution de base, pourquoi ne pas plutôt chercher a exploiter la solution CUDA qui est spécifique à Nvidia et qui de facto doit être optimisée pour mon architecture?


Je suis donc tombé sur ce très bon tuto (en anglais) et j'ai découvert LAV Filters pack, un peu perplexe sur le nom quand même.

LAV Filters pack

Le pack se base sur MPC-HC version 32bits auquel il ajoute des filtres spéciaux pour l'accélération matérielle notamment.
Après récupération du pack et installation, il y a donc un peu de configuration à faire pour choisir par exemple le type d'accélération matérielle souhaitée, et dans mon cas CUDA : 


Je précise que c'est la seule configuration que j'ai réalisé, le reste du tuto : TL;DR

verdict : 
  • MKV 720p : Lecture parfaitement fluide, cpu 20%
  •  MKV 1080p ~ 8Go : Lecture parfaitement fluide, cpu 20%, bien!
  • MKV 1080p ~20Go : Lecture parfaitement fluide, cpu 20%, excellent!
  • MKV 1080p BD RIP 30Go "on va voir vraiment ce que t'as dans le ventre": Lecture parfaitement fluide, cpu 20%, j'en reviens pas.

Conclusion


C'est toujours très galère intéressant de recycler du matériel un peu ancien (cette solution ION date de 2009) et de voir ce qu'on peut en sortir. 

Après quelques effort, on peut voir que pour la partie lecture vidéo HD c'est tout bon.
L'ajout d'un SSD d'entrée de gamme pour la réactivité et l'utilisation de l'accélération matérielle font que ce petit PC est presque à l'aise dans les toutes les tâches courantes, manque plus que faire fonctionner correctement adobe flashplayer en mode DXVA (ou CUDA mais c'est pas gagné) et ça sera parfait.


4 commentaires :

  1. Bonjour, ça pourrait faire tourner Diablo 3 en faisant pareil ? J'en ai un aussi, merci de me répondre.

    RépondreSupprimer
    Réponses
    1. Pour Diablo 3 on est largement en dessous du minimum requis.
      Cela dit, j'ai tenté l'expérience en overclockant le cpu à 2Ghz (si le jeu voir une fréquence <2Ghz il refuse de se lancer) et pour la partie graphique 9400m à 520Mhz GPU / 1250Mhz RAM.
      Résultat, c'est a peu près jouable en 800x600 tout en low, tant que la map n'est pas recouverte de mobs (genre PM10 champs du malheur), et tout juste jouable en 1024x768.

      Supprimer
  2. Bonjour Micougnou,

    Je suis tout à fait d'accord avec vous concernant pulseaudio imposé sur ubuntu depuis les versions 12.xx. C'est une plaie!

    (Je me permet cet accès de catégorisme dans la mesure où j'estime qu'une instal d'ubuntu doit fonctionner tout de suite, alors que pulseaudio doit être manipulée avant d'avoir du son. Je trouve ça éliminatoire quand on choisit un OS)

    On peut virer pulseaudio et réinstaurer alsa par défaut en suivant un tuto que j'ai trouvé pas mal pour le coup, et qui n'oblige pas à entrer dans les fichiers de conf à la mano:

    http://le-marocain-dailleurs.blogspot.fr/2012/07/xubuntu-1204-supprimer-pulseaudio.html

    J'ai dû installer d'autres packages pour respecter les dépendances, mais au final ça le fait!

    A+

    RépondreSupprimer
    Réponses
    1. Merci "Anonyme" pour ce tuto!

      Effectivement sur mon HTPC actuel j'ai viré sauvagement Pulseaudio mais sans m'occuper plus que ça d'Alsa (pas d'icone dans la barre de tâches).

      Je m'en servirai probablement le jour où j'ai le temps de m'en occuper...

      Supprimer