Creative Labs X-Fi

Publié le 23/08/2005 par
Imprimer
Transport Engine & X-RAM
Pour le X-Fi, Creative Labs a repensé la façon dont la carte doit interagir entre ses différents composants, le bus PCI, la mémoire centrale et éventuellement la mémoire embarquée sur la carte. Le but du Transport Engine est de combiner plusieurs milliers de canaux DMA et de gérer leur destination ainsi que leur priorité. Les priorités de calcul sont ainsi renouvelées à chaque cycle d’horloge en fonction des besoins en matière de bande passante ou alors de latence. Le gain de puissance apporté par le X-Fi nécessite une organisation optimisée qui ne va pas gâcher la bande passante déjà limitée du bus PCI. On notera à l’occasion que toutes les cartes X-Fi annoncées jusqu’à ce jour fonctionnent sur bus PC 2.1 et non pas en PCI Express. Une telle évolution est toutefois prévue mais seulement lorsque le bus PCI Express aura été largement diffusé.

Vous l’aurez remarqué, nous avons plusieurs fois fait allusion au terme X-RAM et à la présence de mémoire embarquée sur les cartes X-Fi. Ceux qui ont suivi l’évolution des cartes son depuis les débuts se souviennent déjà de l’AWE32 qui pouvait embarquer des modules de mémoires de 2, 4 ou 8 Mo. A l’époque, cette mémoire servait simplement à charger les banques de sons nécessaires au synthétiseur MIDI.

Sur le X-Fi, Creative Labs nous ressert cette vieille sauce mais dans un but différent. Les cartes X-Fi Elite Pro et Fatal1ty intègrent en effet 64 Mo de SDRAM, contre 2 Mo pour les versions inférieures. Le but de cette « X-RAM » est de permettre au DSP de gérer de façon performante jusqu’à 128 voix gérées matériellement. Son utilisation n’est pas permanente puisqu’elle dépend de la façon dont seront programmés les jeux pour l’utiliser. Parmi ceux disponibles pour le moment on trouve Battlefield 2 qui gère la X-RAM en natif et UT2003 et 2004 qui le gèrent via un patch spécifique.

Loin d’être un gadget, le principe de la X-RAM est relativement noble. Les développeurs de jeux utilisent actuellement pour l’audio des méthodes de compression comme le MP3, l’ogg ou le WMA, et utilisent souvent des taux d’échantillonnage faibles comme 8 ou 22 kHz. En réduisant le taux d’échantillonnage ils améliorent l’espace disque occupé par le jeu et également la quantité de mémoire système ou de swap dont la partie audio du jeu va avoir besoin, le tout au détriment de la qualité. L’utilisation de codecs de compressions modernes possède aussi des avantages certains mais toute compression nécessite aussi une décompression, et donc de la puissance de calcul qui pourrait être utilisée ailleurs. D’autres jeux utilisent aussi la méthode du streaming : on charge les sons en provenance du disque dur par paquets successifs dans la mémoire. Cela permet de réduire la quantité de mémoire occupée simultanément par l’audio mais demande aussi plus d’accès disques, et donc une perte de performances.

Avec le X-RAM, les développeurs de jeux pourront choisir de charger tous les sons dans les 64 Mo de mémoire directement accessibles par le DSP. Au chargement d’un niveau, le logiciel charge les sons nécessaires dans la X-RAM et le DSP les a à disposition, sans latence et sans aucune perte de performances au niveau du processeur central, de la mémoire ou du disque dur. Cela est donc bénéfique à tous les niveaux et peut permettre aux jeux d’utiliser beaucoup plus de son de façon simultanée. D’après Creative Labs, l’apport indirect de l’utilisation de la X-RAM serait d’améliorer encore plus l’impact du son 3D sur les performances dans les jeux, mais cela reste à vérifier.

X-Fi Tank Engine & Filter Engine
Le Tank Engine du X-Fi est en fait un moteur numérique de delay. Il gère donc les effets propres au domaine temporel :

- la réverbération
- le chorus
- les effets inter-auraux
- les réflexions

Le Tank Engine tire ce nom particulier du temps ou l’on utilisait des réservoirs (tank en anglais) de mercure pour produire des effets de delay.

De son coté, le Filter Engine propose toute une série de filtres programmables ou directement implémentés en hardware dans la puce. Les filtres s’appliquent à tous les domaines et tous les types de traitement audio : filtre de réverbération, filtre d’égalisation, spatialisation 3D et calibrage particulier en fonction du périphérique de reproduction (enceintes 2.1, 5.1, casque etc.). La puissance dédiée au Filter Engine est assez importante car c’est lui qui contient notamment les algorithmes de virtualisation 3D pour casque auxquels le X-Fi fait la part belle.

Parmi les filtres proposés et encodés directement dans le X-Fi on retrouve :

- off
- parametric EQ 4-parameter
- parametric EQ 5-parameter
- low-shelving
- high-shelving
- dual-shelving
- peak (band-pass)
- notch (band-reject)
- low-pass resonator
- high-pass resonator
- direct coefficient 4-parameter
- direct coefficient 5-parameter
Vos réactions

Top articles